XiaTools

Auditing Mailchimp and Sendgrid SPF Inclusion Guidelines

By Rohit, founder of XiaTools · Updated 19 Oct 2026

Combining multiple email service providers like Mailchimp and Sendgrid under a single domain requires careful Sender Policy Framework (SPF) management to ensure your marketing and transactional emails reach the inbox. Because the SPF specification strictly limits a browser or receiving mail server to a maximum of 10 recursive DNS lookups, blindly adding multiple vendor records will instantly break authentication. This guide provides an expert walkthrough for auditing and configuring your domain's SPF record to seamlessly include both platforms safely.

To quickly verify your current setup and check how many lookups your domain is consuming, you can use the XiaTools SPF Checker to instantly audit your records, identify lookup bottlenecks, and prevent delivery failures before they happen.

Understanding SPF Mechanics and the 10-Lookup Limit

SPF is a TXT record published in your domain's DNS zone that dictates which mail servers are authorized to send email on behalf of your domain. Every time you use the include: mechanism inside your SPF record, the receiving mail server must perform a new DNS query to resolve that external policy, which counts directly toward your 10-lookup limit.

Why Mailchimp and Sendgrid Complicate Matters

Both Mailchimp and Sendgrid require you to publish custom authentication entries, often involving multiple CNAME records for domain authentication (DKIM) alongside SPF mechanisms. While Sendgrid typically utilizes a single include mechanism, Mailchimp's underlying infrastructure relies on nested includes and redirects. When you combine your corporate Google Workspace or Microsoft 365 setup with Mailchimp and Sendgrid, you are immediately stacking multiple lookups:

  • Corporate Email (e.g., Google Workspace): 1-2 lookups
  • Sendgrid: 1 lookup
  • Mailchimp: 1-2 lookups
  • Total baseline: 3-5 lookups before accounting for nested includes inside the vendor policies.

If a vendor updates their infrastructure and adds more sub-includes, your total can easily exceed 10, causing a permerror (Permanent Error) at the receiving mail server. When a permerror occurs, strict receiving filters treat your domain as unauthenticated, often resulting in direct bounces or spam folder placement.

Auditing Your Current Domain Setup

Before making any changes to your production DNS, you need to map out your existing SPF architecture. You can use standard command-line tools like dig or nslookup to inspect your current zone files.

Run the following command in your terminal to view your domain's current TXT records:

dig +short TXT example.com

A typical misconfigured or bloated record might look like this:

"v=spf1 include:spf.mandrillapp.com include:sendgrid.net include:_spf.google.com ~all"

To evaluate the exact number of DNS queries triggered by this record, paste your domain into the XiaTools SPF Checker. The tool will expand every nested include mechanism, count the total lookup depth, and flag any warnings if you are approaching or exceeding the 10-query threshold.

Step-by-Step Implementation for Mailchimp and Sendgrid

To properly authorize both services while maintaining a clean, compliant DNS architecture, follow these structured steps.

Step 1: Gather Required Inclusion Strings

Consult the official documentation for both platforms to get their exact, current inclusion mechanisms:

  • Mailchimp (Mandrill infrastructure): include:spf.mandrillapp.com (Note: Mailchimp marketing emails often rely on custom return-path CNAMEs rather than a global include, while transactional Mandrill uses the explicit include).
  • Sendgrid: include:sendgrid.net

Step 2: Construct the Consolidated SPF Record

Combine your primary mail provider, Mailchimp, and Sendgrid into a single TXT record string. Assuming your primary mail is Google Workspace, your consolidated record will look like this:

v=spf1 include:_spf.google.com include:spf.mandrillapp.com include:sendgrid.net ~all

Step 3: Publish the Record in DNS

Log in to your DNS provider's management console (such as Cloudflare, AWS Route 53, or GoDaddy—note that exact menu paths and interface names vary by provider). Navigate to your domain's DNS management or Zone Editor section.

  1. Locate your existing TXT record where the name is either @ or blank (representing example.com).
  2. Edit the existing record rather than creating a new one (remember, a domain must never have more than one active SPF record).
  3. Paste your consolidated string into the value field.
  4. Set an appropriate TTL (Time to Live), such as 3600 seconds, and save the changes.

Step 4: Verify DNS Propagation

After saving your changes, wait a few minutes for propagation, then test the record using PowerShell or a terminal:

Resolve-DnsName -Name example.com -Type TXT

Verify that only one valid v=spf1 record is returned and that all vendor mechanisms are present.

Comparison: Flattening vs. Standard Inclusion

When managing multiple vendors, you will eventually face the lookup limit dilemma. Here is how standard inclusion compares to SPF flattening.

Feature Standard Inclusion (include:) SPF Flattening / Macro IP Lists
Lookup Count Counts against the 10-limit dynamically Zero lookups (uses explicit IP ranges)
Maintenance Low (vendors update their IPs automatically) High (must be manually updated if vendors change IPs)
Reliability Prone to breaking if vendors expand nested queries Highly stable regarding lookup limits
Best For Domains with few email services Domains using many vendors like Mailchimp and Sendgrid

If your audit reveals that your lookup count is sitting at 9 or 10, standard inclusion is no longer safe. You must either drop an unnecessary service or implement SPF flattening, where external domains are resolved to static IPv4 and IPv6 blocks (e.g., ip4:192.0.2.0/24) inside your own TXT record.

Common Mistakes and How to Fix Them

Mistake 1: Creating Multiple SPF Records

Many administrators make the mistake of creating one TXT record for Google, a second TXT record for Mailchimp, and a third for Sendgrid.

  • The Fix: RFC standards dictate that a domain must have exactly one SPF TXT record. If a receiving server encounters multiple records, it immediately invalidates both and returns a permerror. Merge all allowed senders into a single string.

Mistake 2: Forgetting to Remove Old Providers

When migrating from an old transactional email provider to Sendgrid or switching marketing platforms, old include: statements are frequently left behind in the DNS record.

  • The Fix: Regularly audit your active vendors and prune unused include mechanisms to free up your DNS lookup budget.

Mistake 3: Using Mechanism Types Incorrectly

Using the obsolete ptr mechanism or excessive ip6 blocks without verification can bloat your record unnecessarily.

  • The Fix: Stick strictly to verified include:, ip4:, and a mechanisms where required.

SPF Audit Checklist

  • Confirmed only one v=spf1 TXT record exists on the root domain.
  • Listed all active email services (Primary mail, Mailchimp, Sendgrid).
  • Verified total DNS lookup count is strictly under 10 using an online checker.
  • Checked that all vendor domain inclusion strings match current official documentation.
  • Concluded the record with a safe softfail (~all) or hardfail (-all) directive.
  • Tested email delivery and DMARC alignment after publishing changes.

Frequently asked questions

What happens if my Mailchimp and Sendgrid SPF configuration exceeds 10 DNS lookups?

When a receiving mail server exceeds the 10-lookup limit while parsing your SPF record, it stops evaluation and returns a permanent error (permerror). As a result, receiving filters will fail SPF authentication for your emails, which severely harms your sender reputation and deliverability.

Can I have two separate SPF records for Mailchimp and Sendgrid?

No. A domain can only have a single valid SPF TXT record. Publishing multiple SPF records violates the RFC specification, causing mail servers to reject the configuration entirely and treat your emails as unauthenticated.

How do I handle the lookup limit if I use Google Workspace, Mailchimp, and Sendgrid simultaneously?

You must combine all three services into a single TXT record using their respective include mechanisms. If this combined string exceeds 10 lookups, you will need to utilize SPF flattening to replace vendor include statements with their explicit static IP address ranges.

Should I use ~all (softfail) or -all (hardfail) at the end of my SPF record?

For most organizations using multiple third-party senders like Mailchimp and Sendgrid, ~all (softfail) is recommended during setup to prevent legitimate emails from being aggressively rejected due to minor routing discrepancies. Once your DMARC monitoring is fully established, you can transition to -all.

How often do Mailchimp and Sendgrid update their SPF IP addresses?

Third-party email providers occasionally update their underlying sending infrastructure and IP blocks. When you use standard include mechanisms, these updates happen transparently on the vendor's end without requiring you to edit your local DNS records.

Related articles

Free tools