spf · two providers

SPF record for Google Workspace and Klaviyo

One record, both providers, and the honest lookup arithmetic so you know how much budget you have left.

The record

v=spf1 include:_spf.google.com include:klaviyomail.com ~all
Publish as a single TXT record on the domain itself.
One record. Always one.

The single most common mistake here is publishing a second SPF record for the second provider — often because the provider's setup wizard says "add this TXT record". RFC 7208 §3.2 allows exactly one SPF record per domain. With two, receivers return permerror and treat your domain as having no SPF at all, which is strictly worse than having only one of the two providers listed.

The lookup budget

4 of 10 used6 remaining
ProviderIncludeLookups
Google Workspace_spf.google.com1
Klaviyoklaviyomail.com3

Google flattened this record years ago — it is pure ip4/ip6 with no nested includes, so it costs exactly one lookup. It is one of the cheapest providers you can have in your record.

klaviyomail.com includes sendgrid.net, which itself includes ab.sendgrid.net — so 3 lookups total. Note that _spf.klaviyo.com, which some older guides mention, does not resolve.

Check your own domain first

Before changing anything, see what you currently have. The checker expands your whole include chain and counts the lookups the way a receiver does.

DKIM for both

SPF covers the server; DKIM covers the message and survives forwarding. You need it from both providers independently:

ProviderSelectorPublished as
Google WorkspacegoogleCNAME-free TXT published by Google
Klaviyokl or kl2CNAME

Different selectors do not conflict — that is exactly what selectors are for. A domain can carry any number of DKIM keys at once.

And DMARC on top

With two senders, DMARC reporting stops being optional. It is the only mechanism that tells you one of the two silently stopped authenticating.

v=DMARC1; p=none; rua=mailto:[email protected]; fo=1

Start there, then follow the staged rollout.

Lookup costs on this page were measured against live DNS on 2026-08-21 with the checker above, not copied from documentation. Providers do change their records — re-check yours rather than trusting a number in a blog post, including this one.

FAQ

How do I put both Google Workspace and Klaviyo in one SPF record?
One record, two include terms: v=spf1 include:_spf.google.com include:klaviyomail.com ~all. Never publish two separate SPF records — receivers return permerror and ignore SPF entirely when a domain has more than one.
How many DNS lookups does that use?
4 of 10 — 1 for Google Workspace and 3 for Klaviyo, measured against live DNS on 2026-08-21. You have 6 left for anything else that sends as your domain.
Which order should the includes go in?
Order does not affect whether SPF passes, because a receiver evaluates terms until one matches. It only affects how quickly a match is found. Put your highest-volume sender first if you want to be tidy about it.

Related

Still broken after the DNS is right?

Email authentication is DNS. Payment notifications not arriving is usually not — it is a webhook that failed signature verification, an event type you never subscribed to, or a status that never synced. That is what I fix: a fixed-fee $99 root-cause diagnosis, credited toward the repair.