SPF include for HubSpot — SPF, DKIM, DMARC setup
HubSpot's own docs walk through connecting an email sending domain, which publishes the DNS records Deck: two CNAMEs for DKIM, an SPF include to merge, and a DMARC record. The include is account-specific (shared.hubspot.com or a personal prefix), so it is provided on the connection screen in your portal, not published here. HubSpot explicitly tells you to merge it into any existing SPF record.
Records HubSpot needs
| Record | Value |
|---|---|
| SPF (TXT, host @ — value shown on the HubSpot connection screen) | v=spf1 include:123456.spf03.hubspotemail.net ~all |
| DKIM (2 CNAMEs named in HubSpot) | <CNAMEs from HubSpot> |
| DMARC (TXT, host _dmarc) | v=DMARC1; p=none; rua=mailto:dmarc-reports@yourdomain.com |
Replace the placeholder parts (such as yourdomain.com or a generated key) with your own values. DKIM keys and subdomain CNAMES are never copied from a web page — generate yours in your own provider's console.
Merging SPF when you send from more than one source
Only ONE SPF record may exist per domain. If mail goes out through more than one service, the record carries a single v=spf1, one include: per source, and one -all (or ~all) at the end:
v=spf1 include:provider-a.com include:provider-b.net ~all
Each include costs one lookup and nested includes cost more; over 10 lookups receivers return PermError and treat your mail as if SPF failed entirely.
The 10-lookup limit
SPF counts every include:, a, mx, ptr, exists: and redirect= against a limit of 10 DNS lookups — and nested includes count too. HubSpot's include is one lookup, but every merge pushes you closer to the cap. Our free checker counts for you; our USD 24 report gives you a flattened record that stays under the limit.
Official documentation
All links go to the provider's own docs; values in the table are examples, not copies of their pages.
Run your domain through the free checker before changing anything, so you know which records you already have.
Want the exact records for your domain?
For USD 24 we look up every TXT, CNAME and MX record your domain serves, count your SPF lookups, probe DKIM selectors, and write the exact records to paste — one SPF record, no PermError, DMARC at p=none with reporting — plus a free re-check after you apply them.