Cloudflare is one of the most common DNS providers we see among Buttondown newsletters, so this guide walks through exactly where to add the records Buttondown asks for. If you're new to DNS in general, the email infrastructure glossary is a good companion.
This guide assumes Cloudflare is managing your DNS — that is, your domain is using Cloudflare's nameservers (...ns.cloudflare.com). If you only registered your domain elsewhere but pointed it at Cloudflare, you're in the right place. If another provider manages your DNS, see that provider's instructions instead.
Finding your DNS records
- Log in to the Cloudflare dashboard.
- Select the domain you're setting up.
- In the sidebar, choose DNS → Records.
This is where you'll add every record Buttondown shows you in Settings → Domains.
The one Cloudflare gotcha: turn off the proxy
This is the single most common reason Cloudflare setups fail to validate.
When you add a CNAME record that points to Buttondown, Cloudflare defaults to Proxied (the orange cloud). A proxied record routes traffic through Cloudflare's network, which prevents Buttondown from verifying the record and stops your archives from loading.
For every CNAME record pointing at Buttondown, click the cloud icon so it shows DNS only (grey cloud), not Proxied (orange cloud).
NS and TXT records aren't affected — Cloudflare doesn't offer a proxy toggle for them.
Sending domain
Follow the records shown on your sending domain settings. Buttondown offers two paths; see Sending from a custom domain for the difference.
Managed setup (recommended)
The managed setup delegates a subdomain (like mail.example.com) to Buttondown using two NS records. Cloudflare fully supports subdomain delegation:
- Click Add record.
- Set Type to
NS. - In Name, enter just the subdomain label Buttondown gave you (for example,
mail) — Cloudflare appends the rest of your domain automatically. - In Nameserver, paste the first value from Buttondown.
- Save, then repeat for the second
NSrecord.
Manual setup
If you're using the manual records instead, add each CNAME and TXT record exactly as shown. Remember to set every CNAME to DNS only.
Hosting domain
To serve your archives from your own domain (see URLs & domains for archives), add the CNAME record Buttondown shows you:
- Click Add record.
- Set Type to
CNAME. - In Name, enter the subdomain (for example,
newsletter), or@if you're using your root domain. - In Target, paste the value from Buttondown (typically
custom-domains.buttondown.com). - Set Proxy status to DNS only (grey cloud).
- Save.
If you're hosting on your root domain (example.com rather than a subdomain), Cloudflare handles this automatically through CNAME flattening — just add the CNAME at @ and Cloudflare serves the right A/AAAA answers.
You can't use the same subdomain for both sending (managed NS records) and hosting (a CNAME). DNS doesn't allow NS and CNAME records to coexist at the same name. Use two subdomains — for example, mail.example.com for sending and newsletter.example.com for hosting.
After you add the records
Cloudflare usually applies changes within a minute or two. Head back to Settings → Domains and click Check records. If it's been a few hours and records still aren't validating, double-check that every CNAME is set to DNS only — and if you're still stuck, email us and we'll take a look.
For more on Cloudflare's record types, see Cloudflare's DNS documentation.