# Add DNS records · DigitalOcean

<!-- external-screenshot: DigitalOcean control panel → Networking → Domains → Create new record -->

If your domain's DNS is hosted at DigitalOcean, this page walks you through publishing the records Bird asks for on a sending domain: a DKIM TXT record, a return-path CNAME, an optional tracking CNAME, and a DMARC TXT record. Bird does not ask you to add an SPF record at your domain's apex — see [DKIM, SPF & DMARC](/docs/guides/email/dkim-spf-dmarc) for why.

Before you start, open your domain's detail page in the Bird dashboard and keep it visible — every host and value below is copied from there, not typed by hand.

![A domain's DNS Records page in the Bird dashboard, showing the verified DKIM record with copyable name and value, and the return-path and DMARC sections below](/images/docs/dashboard-email-domain-detail.png)

## Find the DNS editor

1. Sign in to the [DigitalOcean control panel](https://cloud.digitalocean.com).
2. In the left sidebar, click **Networking**, then the **Domains** tab.
3. Click your domain in the list. You land on its records page, with a **Create new record** form at the top.

The form has a row of tabs for the record type — **A**, **AAAA**, **CNAME**, **TXT**, and so on. Each record below starts by picking the right tab.

## Add the records

The **Hostname** field is relative to your domain — enter only the part before your domain name. DigitalOcean appends the domain for you.

### DKIM (TXT)

1. Select the **TXT** tab in the Create new record form.
2. **Hostname**: paste the DKIM host from Bird, but remove your domain from the end — for `example.com` you enter `<selector>._domainkey`.
3. **Value**: paste the DKIM value exactly as shown in Bird (`v=DKIM1; k=rsa; p=...`). If DigitalOcean's field won't accept it as one string, use the [DNS record splitter](/tools/dns-record-splitter) to break it into quoted chunks first.
4. Click **Create Record**.

### Return-path (CNAME)

1. Select the **CNAME** tab.
2. **Hostname**: `send` (or whatever subdomain your Bird dashboard shows before your domain name).
3. **Is an alias of**: paste the value from Bird, for example `<region>.bounce.bird.com`.
4. Click **Create Record**.

### Tracking (CNAME, optional)

This record only enables branded open and click tracking — your domain can verify and send without it.

1. Select the **CNAME** tab.
2. **Hostname**: `links` (or the subdomain shown in Bird).
3. **Is an alias of**: paste the value from Bird, for example `<region>.links.bird.com`.
4. Click **Create Record**.

### DMARC (TXT)

1. Select the **TXT** tab.
2. **Hostname**: `_dmarc`.
3. **Value**: paste the DMARC value from Bird, for example `v=DMARC1; p=none; rua=mailto:example.com@dmarc.bird.com;`.
4. Click **Create Record**. If you already have a DMARC record at this domain or a parent domain, you can keep it — Bird only requires that a valid DMARC record exists.

## DigitalOcean gotchas

- **Hostnames are relative.** DigitalOcean appends your domain to the Hostname field automatically — entering `send.example.com` creates `send.example.com.example.com`. Type only `send`.
- **The trailing dot is normal.** After you save a CNAME, the records list shows the target with a trailing dot (`<region>.bounce.bird.com.`). That is standard fully-qualified DNS notation, not an error — do not try to remove it.
- **Records here only work on DigitalOcean's name servers.** The domain must be delegated to `ns1.digitalocean.com`, `ns2.digitalocean.com`, and `ns3.digitalocean.com` at your registrar. If the name servers point elsewhere, records added in this panel have no effect — add them at the provider the name servers actually point to.

## After you publish

There is nothing to click in Bird — verification is automatic. Bird starts checking your DNS within seconds of the domain being added and re-checks frequently, so most domains flip to verified within minutes of the records going live. You can also trigger an immediate re-check from the domain's detail page in the dashboard. If the domain stays pending longer than you expect, see [Verification delays](/docs/knowledge-base/dns-and-domains/verification-delays).

## Next steps

- [Sending domains](/docs/guides/email/sending-domains) — adding and managing domains end to end
- [DKIM, SPF & DMARC](/docs/guides/email/dkim-spf-dmarc) — what each record proves and why there is no apex SPF record
- [Verification delays](/docs/knowledge-base/dns-and-domains/verification-delays) — what to check when a domain stays pending