The good news: this is one of the few areas of marketing ops where the work is finite. A correct setup takes days, not quarters, and mostly stays fixed. The bad news: half-configured authentication can hurt you invisibly for months. So here’s what each protocol actually does, how to check yours in ten minutes, and the rollout path that won’t torch legitimate mail on the way.

The three protocols, in one metaphor

Think of every email as a letter arriving at a corporate mailroom (the receiving inbox provider). SPF (Sender Policy Framework) is the approved courier list. Your domain publishes, in DNS, which servers are allowed to send mail on its behalf. The mailroom checks: did this letter arrive via a courier on the list? DKIM (DomainKeys Identified Mail) is the wax seal. Your sending platform cryptographically signs each message; the public key in your DNS lets the mailroom verify the seal is intact — the message really came from you and wasn’t altered in transit. DMARC (Domain-based Message Authentication, Reporting & Conformance) is the standing instruction taped to the mailroom wall: if a letter claims to be from us but fails the courier check and the seal check, here’s what to do with it — deliver anyway (p=none), send it to spam (p=quarantine), or refuse it (p=reject). Crucially, DMARC also makes the mailroom send you reports about every letter claiming to be from you — including the ones you didn’t send. One subtlety that trips up most marketers: DMARC doesn’t just require SPF or DKIM to pass — it requires alignment. The domain that passed must match the domain in the From address your recipient sees. This is why mail can “pass SPF” (on your ESP’s domain) and still fail DMARC (because it’s not your domain that passed). Alignment is the whole point: it ties the proof to the name on the envelope.

The ten-minute self-check

  1. Look up your records. Query your domain’s TXT records (any free DMARC/SPF checker, or dig): one SPF record on the root, DKIM selectors per sending platform, a DMARC record at _dmarc.yourdomain.com.
  2. Read your own headers. Send yourself a campaign email; open “show original” in Gmail. You want three lines: spf=pass, dkim=pass, dmarc=pass — with the passing domain matching your From domain.
  3. Count SPF lookups. SPF allows a maximum of ten DNS lookups; every include: from every tool you’ve ever connected eats into it. Exceed ten and SPF returns a permanent error — effectively, SPF off. Marketing stacks hit this constantly because each new tool’s setup guide says “just add our include.”
  4. Check who’s sending as you. If DMARC reporting (rua=) isn’t configured, you currently have no visibility into spoofing or forgotten tools sending under your name. That’s step one of the rollout below.

The rollout: none → quarantine → reject, without casualties

Jumping straight to p=reject is how companies accidentally block their own invoices. The safe sequence: Step 1 — Monitor (weeks 1–4). Publish DMARC at p=none with aggregate reporting to a mailbox or (realistically) a report-parsing tool — raw DMARC XML is not meant for humans. You lose nothing at p=none; you gain a complete census of everything sending as your domain. Step 2 — Inventory and fix (weeks 2–6). The reports will surprise you. Typical finds: the billing system nobody told marketing about, a regional team’s survey tool, an old transactional service — all sending unauthenticated. For each legitimate source: add to SPF (mind the lookup budget — use flattening or subdomains rather than stacking includes) and enable DKIM signing with aligned domains. This inventory step is the actual work of DMARC; the DNS records are clerical. Step 3 — Tighten (weeks 6–10). Move to p=quarantine, optionally with pct= staging (e.g., apply to 25% of failing mail, then raise). Watch the reports for legitimate mail getting caught. Step 4 — Enforce (when reports run clean). p=reject. This is the destination: only at enforcement does DMARC actually stop spoofing of your domain — and inbox providers can see the difference between a domain that monitors and one that enforces.

Subdomain strategy: the decision most guides skip

Where you send from is an authentication decision, not just a branding one. The pattern we recommend to most B2B SaaS senders: keep the root domain for 1:1 corporate mail, and give distinct subdomains to marketing sends (e.g., news.company.com) and product/transactional mail (e.g., mail.company.com). Three reasons:

  • Reputation isolation. A rough campaign month shouldn’t drag down password-reset deliverability, or your CEO’s replies.
  • SPF budget. Each subdomain gets its own ten-lookup allowance, defusing the include-stacking problem.
  • Cleaner DMARC. Per-subdomain policies (and the sp= tag) let you enforce strictly on the root while a newer sending program matures. If you’re also running cold outbound, that belongs on separately purchased domains entirely — not subdomains of your primary — but that’s a topic (and risk profile) of its own.

What authentication won’t fix

Passing SPF, DKIM and DMARC gets you identified — it does not get you wanted. If lists are stale, engagement is low, or spam complaints run hot, authenticated mail still lands in spam; the post-2024 rules explicitly police complaint rates alongside authentication, and Gmail’s postmaster tooling reports both. Authentication is the entry ticket; list hygiene and engagement are the performance. (If your mail is authenticated and still underperforming, our guide on why B2B emails go to spam covers the reputation-and-content half of the diagnosis — and unmaintained lists are a database problem before they’re an email problem.)

Authentication is a one-time project with a long tail of quiet benefits — and it’s usually tangled up with ESP migrations, subdomain moves and list hygiene decisions. If you’d rather have it done right once, that’s our email deliverability service; if you’re not sure whether authentication is even your problem, a free RevOps audit includes a deliverability check.

Frequently asked questions

What are SPF, DKIM and DMARC in simple terms?
SPF is a DNS record listing which servers may send email for your domain. DKIM is a cryptographic signature proving a message came from your domain and wasn’t altered. DMARC is the policy telling inbox providers what to do with mail that fails both checks — and it sends you reports on everything claiming to be from your domain.
Do I need DMARC to send marketing email?
Effectively yes. Since 2024, Google and Yahoo require bulk senders to authenticate with SPF, DKIM and DMARC (alongside one-click unsubscribe and low spam-complaint rates). Senders without DMARC face increased filtering or outright rejection at major inbox providers.
What is the difference between p=none, p=quarantine and p=reject?
They’re DMARC policy levels: p=none delivers failing mail normally but sends you reports (monitoring mode); p=quarantine directs failing mail to spam; p=reject refuses it entirely. The safe rollout is none → quarantine → reject, moving only when reports show legitimate mail passing.
Why does my email pass SPF but fail DMARC?
Usually an alignment problem: SPF passed on your email platform’s domain, not on the domain in your visible From address. DMARC requires the passing domain to align with the From domain. The fix is typically custom DKIM signing and/or a custom return-path on your own (sub)domain.
What is the SPF 10-lookup limit?
SPF permits at most ten DNS lookups per check; every include: mechanism (and its nested includes) counts. Exceeding ten causes a permanent SPF error — as if SPF were absent. Marketing stacks commonly breach it by stacking tool includes; fix via subdomain separation or SPF flattening.
Should marketing email come from a subdomain?
Generally yes. Sending marketing from a dedicated subdomain isolates its reputation from corporate and transactional mail, resets the SPF lookup budget, and allows graduated DMARC policies. Reserve the root domain for 1:1 correspondence.