The exact SPF record
Copy the example that matches your setup. Each one is a single TXT record; the host is shown as your DNS provider usually expects it (@ means the domain itself).
Google Workspace only
Type: TXT · Host: @ · 1 of 10 DNS lookups
v=spf1 include:_spf.google.com ~all
Google Workspace and Microsoft 365 (for example during a migration)
Type: TXT · Host: @ · 2 of 10 DNS lookups
v=spf1 include:_spf.google.com include:spf.protection.outlook.com ~all
Google Workspace and Zendesk
Type: TXT · Host: @ · 2 of 10 DNS lookups
v=spf1 include:_spf.google.com include:mail.zendesk.com ~all
How SPF applies to Google Workspace mail
Receivers check SPF against the domain in the envelope sender (the MAIL FROM or bounce address). Google Workspace sends with your own domain there, so its include belongs in the SPF record on the domain you send from.
- Google says some DNS hosts require the SPF string to be enclosed in quotes. Follow your host's convention; the quotes aren't part of the record.
- If you bought the domain from a Google partner, or your domain already has SPF set up by default, Google says you may not need to add it yourself. Check the live record first.
- Google recommends
~all, which asks receivers to mark mail from unlisted servers as spam rather than reject it. - Google requires SPF, DKIM and DMARC from bulk senders (close to 5,000 or more messages a day to personal Gmail accounts).
How to add it
- Sign in to the company that hosts your domain's DNS, not the Google Admin console: Google says you don't need to do anything in the Admin console to set up SPF.
- Open the page where you edit TXT records and look for an existing record on the root (host
@) that starts withv=spf1. For a subdomain, use the subdomain name as the host. - If there is one, add
include:_spf.google.comto it. If there isn't, create a TXT record withv=spf1 include:_spf.google.com ~all. - Repeat for every domain you send from in Google Workspace: Google says each domain needs its own SPF record.
- Save, then check the live record with the SPF Checker below. Google says it can take up to 48 hours for SPF authentication to start working.
DKIM and DMARC alignment
Google recommends setting up DKIM and DMARC alongside SPF. Generate a DKIM key in the Admin console and publish it (see our DKIM setup guide). Mail you send through Google Workspace from your own domain is then DKIM-signed with that domain, which is what DMARC checks first.
DMARC passes when SPF or DKIM passes and the domain it checked matches your From domain. Our guide to SPF, DKIM and DMARC explains how the three fit together.
Common mistakes
- Two SPF records. A domain may publish only one record that starts with
v=spf1. With two, receivers return a permanent error and SPF fails for all your mail (RFC 7208 section 3.2). Merge every sender into one record. - More than 10 DNS lookups. Each
include,a,mx,existsandredirectcosts a lookup, nested ones included; over 10 is a PermError (section 4.6.4). Google Workspace's include costs 1 on its own. See how to fix too many SPF lookups. - Choosing
~allor-allwithout a plan. Google Workspace's documentation uses~all.-allasks receivers to reject unlisted servers;~allasks them to accept but mark the mail. Once DMARC is enforced, receivers act on DMARC instead. Read SPF soft fail vs hard fail before you choose. - Adding a new sending service without updating the record. Google warns that mail from senders missing from SPF could be marked as spam.
Check your SPF record
See your live record, every nested include and the real lookup count. Free, reads public DNS only.
Building a new record? Open the SPF Record Generator with Google Workspace filled in.
Frequently asked questions
What is the SPF record for Google Workspace?
v=spf1 include:_spf.google.com ~all, published as a TXT record on your domain. If you already have an SPF record, add include:_spf.google.com to it instead of publishing a second record.
Should I use ~all or -all with Google Workspace?
Google recommends ~all. Microsoft recommends -all for its own service. Once DMARC is enforced, receivers act on the DMARC result, so the difference matters less. Our soft fail vs hard fail guide explains when each makes sense.
Do secondary domains and domain aliases need their own SPF record?
Yes. Google says each domain must have its own SPF record, so repeat the setup for every domain you send email from. A record on one domain never covers another domain or its subdomains.
Sources
Values checked against Google Workspace's documentation on October 9, 2026. Lookup counts measured with our SPF Checker on October 9, 2026; providers change their records, so check yours before relying on a number.
SPF records for other providers
- Microsoft 365include:spf.protection.outlook.com
- Zoho Mailinclude:zoho.com
- GoDaddyinclude:secureserver.net
- Fastmailinclude:spf.messagingengine.com
- Proton Mailinclude:_spf.protonmail.ch
- Amazon SESinclude:amazonses.com
- SendGridinclude:sendgrid.net
- Mailguninclude:mailgun.org
- PostmarkNone needed
- MailchimpNone needed
- BrevoNone for standard sending; spf.brevo.com with a dedicated IP
- HubSpotAccount-specific (copy from HubSpot)
- KlaviyoNone needed
- Salesforceinclude:_spf.salesforce.com
- Zendeskinclude:mail.zendesk.com
- Freshdeskinclude:email.freshdesk.com
- IntercomNone needed
Related guides
SPF record syntax and examples
SPF record syntax explained: mechanisms, qualifiers and modifiers, with copy-ready examples for Microsoft 365, Google Workspace, subdomains and parked domains.
9 min read SPF, DKIM & DMARCHow to fix SPF PermError: too many DNS lookups
Why SPF breaks at 10 DNS lookups, how to count them, and step-by-step fixes for Microsoft 365 and Google Workspace domains with many senders.
8 min read SPF, DKIM & DMARCSPF softfail vs hardfail: should you use ~all or -all?
What ~all, -all and ?all mean in SPF, what receivers really do with each, how DMARC changes the choice, and which one to use for sending and parked domains.
8 min readLast updated