> ## Documentation Index
> Fetch the complete documentation index at: https://doc.trackrev.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Custom tracking domains

> Serve your short links from your own branded domain with automatic TLS — one DNS record.

By default your links live on TrackRev's domain. Add a custom domain and they become
`go.yourbrand.com/spring` instead — branded, trusted, and better for click-through. One custom
domain powers **both** your branded short links and your affiliate signup page.

<Note>
  Use a **subdomain you control**, such as `go.yourbrand.com` or `links.yourbrand.com`. A
  subdomain is the recommended setup — pointing your root domain here would replace your existing
  website.
</Note>

## Add and verify a domain

<Steps>
  <Step title="Open Domains">
    Go to **Configuration → Domains** (`/settings/domains`). This page is titled *"Domains — One
    custom domain powers everything — branded short links and your affiliate signup page."*
  </Step>

  <Step title="Add your domain">
    Under **Add a domain**, enter your subdomain (e.g. `go.yourbrand.com`) and click **Add
    domain**. TrackRev registers it and shows the DNS records you need to add.
  </Step>

  <Step title="Add the DNS record at your provider">
    In your DNS provider (Cloudflare, Namecheap, Route 53, etc.), add the record shown. For a
    subdomain that's a single **CNAME**:

    | Type  | Name               | Value                  |
    | ----- | ------------------ | ---------------------- |
    | CNAME | `go.yourbrand.com` | `cname.vercel-dns.com` |

    For a root/apex domain, use an **A** record instead:

    | Type | Name | Value         |
    | ---- | ---- | ------------- |
    | A    | `@`  | `76.76.21.21` |

    <Warning>
      A `CNAME` can't coexist with other records on the same name — delete any existing `A` or
      `AAAA` records on that name first. If TrackRev shows a specific `TXT` verification
      challenge, add that exactly as displayed.
    </Warning>
  </Step>

  <Step title="Check status">
    Back on the Domains page, click **Check status** on the domain. DNS can take a few minutes to
    propagate. Once verified, TLS is provisioned automatically.
  </Step>
</Steps>

## Domain status

| Badge                 | Meaning                                                              |
| --------------------- | -------------------------------------------------------------------- |
| **Active** (green)    | Verified and pointing at TrackRev — your links are branded.          |
| **Needs DNS** (amber) | Added but the DNS record is missing or wrong. Re-check after fixing. |
| **Pending** (grey)    | Awaiting DNS propagation / verification.                             |

## What a verified domain does

* Your short links serve from `https://go.yourbrand.com/slug`.
* Your affiliate signup page serves at `https://go.yourbrand.com/join` (and
  `/join/<program-slug>`). See [Affiliate branding](/affiliate/partner-portal).

## Managing domains

* **Check status** re-verifies with the DNS provider and refreshes the badge.
* **Remove** detaches the domain. You'll get a two-step *"Remove — links will break"* confirm,
  because any link already shared on that domain stops resolving once it's removed.

<Warning>
  Removing or repointing a domain breaks links already in the wild. Only remove a domain you're
  sure is no longer in use.
</Warning>

## Troubleshooting

<AccordionGroup>
  <Accordion title="&#x22;That domain is already connected to another TrackRev workspace&#x22;">
    A domain can only be attached to one workspace at a time. Remove it from the other workspace
    first, or use a different subdomain.
  </Accordion>

  <Accordion title="&#x22;That domain is reserved&#x22;">
    Some hostnames are reserved by TrackRev (app and partner hosts). Pick a different subdomain
    like `go.` or `links.`.
  </Accordion>

  <Accordion title="Custom domains aren't available right now">
    This appears if the platform's domain provisioning isn't configured. Contact
    [maruf@trackrev.io](mailto:maruf@trackrev.io).
  </Accordion>
</AccordionGroup>
