How many includes one SPF record can hold
Last updated 2026-09-08
You've got Google Workspace for staff mail, a marketing platform, a helpdesk and an invoicing tool, and each one has handed you an include: to add. You can add as many as you like. What SPF limits is DNS lookups. The whole evaluation gets ten, and each include: spends at least one. How many more it spends is up to the provider that published it.
How many includes can one record have? As many as fit inside ten DNS lookups. Four is often fine and sometimes too many, because the cost of each is set by somebody else.
An include costs whatever its provider publishes
An include: spends one lookup to fetch the target's record, then pays for everything inside it. Providers nest their own includes in there, and they change them without telling you. Two records that look the same in your DNS panel can cost very different amounts:
That's how a record that passed on Monday returns permerror on Friday with nobody having touched it. A provider added an include to their own record, your total crossed ten, and every sender in your record lost its pass at once.
The SPF checker resolves the whole chain of a published record and gives you the real count. The pre-flight does the same for a record you haven't published yet, which is the one you want when you're about to add the fourth include.
Add the include to the record you have
The new term goes inside the existing record. A second v=spf1 record breaks both, and the multiple SPF records guide covers why.
Before:
After:
Keep all at the end. Receivers stop at the first match and all matches everything, so the receiver never reads an include placed after it. The record is still valid and every other sender still passes, so you'd only find out from that one sender's reports.
When the fourth include won't fit
Four ways to get back under ten, least upkeep first.
Remove what isn't sending. Records collect includes for platforms that were trialled once and cancelled, and each one still costs a lookup. Your DMARC aggregate reports show which includes authorised real mail last month and which authorised none.
Replace an include with the addresses behind it. A provider that sends from a small fixed range usually documents it, and ip4: terms cost nothing. The ranges are now yours to maintain, though. When the provider renumbers, your record is wrong and you'll find out from a bounce.
Move a bulk sender to its own subdomain. Send marketing from mail.example.com with its own SPF record and its own ten lookups. Your main domain keeps staff mail and gets its budget back. Mail from the subdomain aligns to the subdomain, which DMARC accepts under relaxed alignment.
Flatten the record. Resolve every include down to addresses and publish those. You'll be well under the limit, and every future change is now somebody's job, because a flattened record goes stale the day a provider renumbers. The 10-lookup limit guide compares these in more detail.
Check the count before it's live
Every option above changes the record, and a record over the limit fails every sender in it, the ones you didn't touch included. Paste the new record into the pre-flight. It resolves the whole chain against live DNS, gives you the lookup count, and names any sender that would stop passing.
The count is a snapshot either way. Your includes belong to other people, and they change them on their own schedule. Our weekly digest reads your DMARC reports and mails you when a source that used to pass stops, which is how you hear about somebody else's edit before your customers do.
Run the ramp on real reports
Every step in this guide depends on a few weeks of aggregate reports. We parse them and mail you a weekly summary: the senders that used your domain, what failed, and when tightening the policy is safe. Paid plans email you the day a new source first fails. Your first domain is free.
Get the weekly digestNo card · Per-source totals kept for life · The free plan does not expire
Questions
How many include: terms can an SPF record have?
As many as fit inside the lookup budget. The count itself is free. The record gets 10 DNS lookups in total, and each include: spends one plus whatever the record it points at spends. Four includes can cost four lookups or fifteen, depending on what those providers publish.
Do includes have to be in a particular order?
No. A receiver reads mechanisms left to right and stops at the first match, so order changes which term matches, never whether the message passes. Put your busiest sender first if you like. It saves the receiver a lookup or two and changes nothing else.
Can I nest includes to get around the limit?
No. The ten lookups cover the whole evaluation, every nested record included. An include inside an include spends from the same budget, which is why a record with four visible includes can already be over.
Is a duplicate include harmful?
It wastes a lookup. The same include listed twice, or reached twice through two providers that both include a shared platform, resolves twice and counts twice.
Keep reading
Checking as you go? The DMARC checker reads the policy you are ramping, the SPF and DKIM checkers show whether your senders will survive it, and the report analyzer reads an aggregate report you already have. No signup.
DomainCanary is a DMARC monitoring service that turns your domain's aggregate reports into one weekly email.