All platforms
CRM-matched DNS
Keap · 2 CNAME + 2 TXT · DKIM · BOUNCE · SPF · DMARC
Keap DNS Checker
Keap sends from your domain using its own required records
, 2 CNAME + 2 TXT covering DKIM, BOUNCE, SPF, DMARC. A generic SPF test
cannot see whether they match. We check your live DNS against
Keap’s spec, host by host, character by character.
Free, no account.
domain only, we strip email and protocol automatically
What Keap requires
Keap: 3 CNAME for DKIM/return-path + 1 TXT for SPF (infusionmail.com) + 1 TXT for DMARC. This is the exact table our verifier checks
your DNS against, not a generic template.
| Type | Host | Required value | Purpose |
| CNAME | CODE._domainkey | CODE._domainkey.infusionmail.com | DKIM |
| CNAME | CODE.e | return.infusionmail.com | BOUNCE |
| TXT | @ | v=spf1 include:infusionmail.com ~all | SPF |
| TXT | _dmarc | v=DMARC1; p=none; rua=mailto:[email protected] | DMARC |
How Keap authenticates
Keap handles DKIM by delegation: you publish 1 CNAME record (selector CODE) pointing into CODE._domainkey.infusionmail.com, and Keap hosts and rotates the actual signing keys on its side. You never see the public key, which also means a checker that only looks for TXT keys at _domainkey will wrongly report DKIM as missing here.
For SPF, Keap needs its include (infusionmail.com) present in the ONE SPF record your domain is allowed to publish. If you already have an SPF record, this include is merged into it, never added as a second record; two SPF records is an automatic PermError everywhere.
The non-DKIM CNAME handle tracking or bounce domains. They carry no authentication themselves, but Keap's setup screen will not verify the domain until they resolve.
DMARC is yours, not the platform's: one record at _dmarc governs every sender on the domain. If another tool already publishes it, do not add a second; the spec row above shows the minimum this platform expects to find.
Mistakes we see on Keap domains
Publishing the CNAME target as a TXT record. The record type matters: a TXT with the right value still is not a delegation, and the key lookup dies at your zone.
Proxying the _domainkey CNAMEs through a CDN. They must resolve as plain DNS; an orange-clouded record answers with the CDN's addresses and the key disappears.
Adding Keap's SPF as a second TXT record next to an existing v=spf1. Receivers see two records and hard-fail both.
Why a generic checker misses this
A standard DNS tool tells you your SPF parses and your DMARC exists. It has no
idea Keap is in the picture. It cannot tell you a required CNAME points at
the wrong target, a selector is missing, or the include chain never reaches
Keap’s servers, which are precisely the failures that put
Keap mail in spam while every generic check shows green.
Common questions
What DNS records does Keap require?
Keap requires 4 DNS records: 2 CNAME + 2 TXT, covering DKIM, BOUNCE, SPF, DMARC. The exact hosts and values are in the table above, they come from the same spec table our verifier checks against.
Why does a normal SPF checker pass my domain but Keap mail still fails?
A generic checker only tests whether your SPF record parses. It does not know which include Keap needs, which CNAME targets its DKIM keys live behind, or which selector names it signs with. We compare your live DNS against Keap’s required records character by character, so a missing include or a typo in a CNAME target is called out by name.
Will adding these records break my existing email?
The DKIM CNAMEs and the DMARC record are additive. SPF is the one to be careful with: a domain must publish exactly one SPF record, so if you already have one, merge the new include into it rather than adding a second record, two SPF records is an automatic PermError.
Keep going