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

# Custom domains

> Connect a subdomain or root domain to branded URLdn short links.

Custom domains let you use a branded host for short links, such as `go.example.com/abc123` or `example.com/abc123`.

<Note>
  Custom domains are available to Pro, Business, and Enterprise plans. Pro includes 1 domain, Business includes 3, and Enterprise includes unlimited domains.
</Note>

## Subdomain or root domain

A subdomain uses a label below your root domain, such as `go.example.com`. A root, or apex, domain is the domain itself, such as `example.com`.

<Tabs>
  <Tab title="Subdomain">
    For `go.example.com`, use `go` as the CNAME host and `_urldn.go` as the TXT host. Replace `go` with the prefix you chose.

    | Type  | Host / Name | Value                  |
    | ----- | ----------- | ---------------------- |
    | CNAME | `go`        | `cname.urldn.com`      |
    | TXT   | `_urldn.go` | `urldn-verify=<token>` |

    Some registrars append `example.com` automatically. In that case, enter only the host label shown above.
  </Tab>

  <Tab title="Root domain">
    For `example.com`, use `@` as the CNAME host and `_urldn` as the TXT host.

    | Type  | Host / Name | Value                  |
    | ----- | ----------- | ---------------------- |
    | CNAME | `@`         | `cname.urldn.com`      |
    | TXT   | `_urldn`    | `urldn-verify=<token>` |

    Root domains require a DNS provider that supports CNAME flattening, ALIAS, or ANAME records at the zone apex. Cloudflare, Route 53, and DNSimple support an apex aliasing mode.
  </Tab>
</Tabs>

## Connect your domain

<Steps>
  <Step title="Open Domains">
    Open **Dashboard > Domains**, enter your domain without `www`, and choose **Add domain**.
  </Step>

  <Step title="Add the DNS records">
    Copy the CNAME and TXT records shown in the dashboard into your DNS provider. Both records are required. Use the complete verification token in the TXT value.
  </Step>

  <Step title="Verify DNS">
    The domain starts in **DNS Pending**. URLdn checks it automatically every few minutes. Choose **Verify Now** when you want to check immediately.
  </Step>

  <Step title="Wait for HTTPS">
    After DNS passes, the domain moves to **SSL Provisioning**. Choose **Check SSL Status** when available, or wait for the dashboard to update.
  </Step>

  <Step title="Use your branded links">
    When the status becomes **Active**, choose the custom domain when creating links. Existing links are updated to use the branded base URL after verification.
  </Step>
</Steps>

## Troubleshooting

* **DNS is not propagating yet:** Wait a few minutes, then choose **Verify Now** again. If the button shows a short wait, try again when it becomes available.
* **The TXT value is split into multiple strings:** Some registrars split long TXT values in their UI. Leave the value as your registrar displays it; URLdn can still verify the complete token.
* **The host field is wrong:** If your provider appends the domain automatically, enter only `go` or `_urldn.go` for a subdomain, and `@` or `_urldn` for a root domain.
* **Cloudflare is proxying the record:** Set the CNAME or A/alias record used for verification to **DNS only**, not **Proxied**.
* **The token expired:** Verification tokens expire after 24 hours. Regenerate the token in the dashboard, replace the TXT value, and verify again.
