Documentation
Sign inGet started

Add DNS records · Azure DNS

If your domain's DNS is hosted in an Azure DNS zone, 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 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.

Find your DNS zone

  1. Sign in to the Azure portal.
  2. In the search bar at the top, type DNS zones and select it from the results.
  3. Click the zone that matches your sending domain (for example example.com).
  4. You land on the zone's overview, which lists the existing record sets. Each record below is added with the + Record set button at the top.

Add the records

For each record, click + Record set and fill in the pane that opens on the right. The Name field is relative to the zone — enter only the part before your domain name (and @ would mean the zone apex itself, which none of Bird's records use).

DKIM (TXT)

  1. Click + Record set.
  2. Name: paste the DKIM host from Bird, but remove your domain from the end — for example.com you enter <selector>._domainkey, not the full hostname.
  3. Type: select TXT from the dropdown.
  4. Value: paste the DKIM value exactly as shown in Bird (v=DKIM1; k=rsa; p=...).
  5. Leave TTL at the default and click OK (or Add in the newer portal experience).

Return-path (CNAME)

  1. Click + Record set.
  2. Name: send (or whatever subdomain your Bird dashboard shows before your domain name).
  3. Type: select CNAME.
  4. Alias: paste the value from Bird, for example <region>.bounce.bird.com.
  5. Click OK.

Tracking (CNAME, optional)

This record only enables branded open and click tracking — your domain can verify and send without it.
  1. Click + Record set.
  2. Name: links (or the subdomain shown in Bird).
  3. Type: select CNAME.
  4. Alias: paste the value from Bird, for example <region>.links.bird.com.
  5. Click OK.

DMARC (TXT)

  1. Click + Record set.
  2. Name: _dmarc.
  3. Type: select TXT.
  4. Value: paste the DMARC value from Bird, for example v=DMARC1; p=none; rua=mailto:example.com@dmarc.bird.com;.
  5. Click OK. 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.

Azure gotchas

  • Names are relative to the zone. Azure appends the zone name to whatever you type in the Name field — entering send.example.com in the example.com zone creates send.example.com.example.com. Enter only the leading label(s); @ is reserved for the zone apex.
  • Pick the type before you fill in values. The pane's value fields change with the record type dropdown — if you do not see an Alias field for a CNAME or a Value box for a TXT record, check the type selection first.
  • A CNAME record set holds exactly one value. TXT and most other Azure record sets accept multiple values, but a CNAME record set cannot — and Azure will also refuse a CNAME at a name where other records already exist. If the portal rejects the record, check for a conflicting record set at the same name.
  • The zone only matters if it is delegated. An Azure DNS zone answers queries only when your registrar's name servers point at it. On the zone's overview, copy the four *.azure-dns.* name servers and confirm they match the NS records set at your registrar — otherwise the records you add here are invisible to the rest of the internet.

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.