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).
Your main domain on Microsoft 365 stays as it is
Type: TXT · Host: @ · 1 of 10 DNS lookups
v=spf1 include:spf.protection.outlook.com -all
Your main domain on Google Workspace stays as it is
Type: TXT · Host: @ · 1 of 10 DNS lookups
v=spf1 include:_spf.google.com ~all
How SPF applies to Kit mail
Kit sends with a bounce (MAIL FROM) address on a subdomain set up for it, and receivers check SPF on that subdomain. Your main domain's SPF record doesn't need to change for Kit.
- Kit says some DNS providers need the short host (
ckespa) and others the full name (ckespa.yourdomain.com). If one fails, try the other. - Bluehost doesn't accept periods in CNAME records, so Kit says to leave them out there.
- Without a verified sending domain, the return path is a Kit address, so SPF passes for Kit's domain but doesn't align with yours.
How to add it
- In Kit, click Settings in the lower-left corner, then Email. Under Verified Sending Domains, click Set up your Verified Sending Domain (or Add a Verified Sending Domain).
- Enter the domain or subdomain you want to send from and click Next.
- Choose Set this up for me to let Entri add the records through your DNS provider's login, or copy the records from the Verify your sending domain screen for a manual setup.
- For manual setup, add the CNAME records with the hosts Kit shows, such as
ckespaandcka._domainkey, plus the DMARC record from the same screen. Then click Validate.
DKIM and DMARC alignment
Kit says a verified sending domain puts your from-address in the return path, authenticates SPF with your domain, DKIM-signs your messages with your domain and lets them pass DMARC. The DKIM CNAME is cka._domainkey (see our Kit DKIM page). Kit asks you to keep the DMARC record in place once it is added.
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). See how to fix too many SPF lookups. - Choosing
~allor-allwithout a plan.-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 guessed Kit include to your root SPF record. The
ckespaCNAME handles SPF on the return path, so the include would only cost lookups. - Proxying the CNAMEs at a DNS host such as Cloudflare. Leave them as DNS only so Kit can see the real values.
- Removing the DMARC record later. Kit warns this may cause deliverability problems.
Check your SPF record
See your live record, every nested include and the real lookup count. Free, reads public DNS only.
Building a record for your other senders? Use the SPF Record Generator.
Frequently asked questions
Do I need to add Kit or ConvertKit to my SPF record?
No. Kit's verified sending domain uses a CNAME on ckespa that moves the return path onto your domain, so SPF is checked there rather than in your root record. Keep your existing SPF record unchanged.
What is the ckespa record Kit asks for?
It is the CNAME for Kit's return path. Once it is in place, Kit puts your domain in the return-path address that receiving servers check for SPF, so SPF passes and aligns with your From domain.
Why did my open rates drop after verifying my Kit sending domain?
Kit warns of a temporary dip while mailbox providers learn the reputation of your own domain. It says rates should return to normal after two to three weeks of consistent sending through the domain.
Sources
- Kit Help Center: Verify your domain to optimize your deliverability
- Kit Help Center: How to add a DMARC record to your verified sending domain
- RFC 7208: Sender Policy Framework (SPF)
Values checked against Kit's documentation on November 3, 2026. Lookup counts measured with our SPF Checker on November 3, 2026; providers change their records, so check yours before relying on a number.
SPF records for other providers
- Microsoft 365include:spf.protection.outlook.com
- Google Workspaceinclude:_spf.google.com
- Zoho Mailinclude:zoho.com
- GoDaddyinclude:secureserver.net
- Fastmailinclude:spf.messagingengine.com
- Proton Mailinclude:_spf.protonmail.ch
- iCloud Mailinclude:icloud.com
- Rackspace Emailinclude:emailsrvr.com
- Hostingerinclude:_spf.mail.hostinger.com
- Private Emailinclude:spf.privateemail.com
- IONOSinclude:_spf-us.ionos.com
- Amazon SESinclude:amazonses.com
- SendGridinclude:sendgrid.net
- Mailguninclude:mailgun.org
- PostmarkNone needed
- Mailjetinclude:spf.mailjet.com
- SMTP2GONone needed (return-path CNAME)
- MandrillNone needed
- SparkPostNone needed (bounce-domain CNAME)
- Elastic Emailinclude:_spf.elasticemail.com
- Resendinclude:amazonses.com
- MailerSendinclude:_spf.mailersend.net
- MailchimpNone needed
- BrevoNone for standard sending; spf.brevo.com with a dedicated IP
- HubSpotAccount-specific (copy from HubSpot)
- KlaviyoNone needed
- ActiveCampaignNone needed (Mailserver Domain CNAME)
- SquarespaceNone needed
- ShopifyNone needed (CNAME records)
- Dynamics 365 Customer InsightsNone needed (optional: your envelope-from domain)
- MailerLiteinclude:_spf.mlsend.com
- Campaign Monitorinclude:_spf.createsend.com
- Marketoinclude:mktomail.com
- Account Engagement (Pardot)None needed (SPF passes automatically)
- Customer.ioCopy from Customer.io (cio##### subdomain)
- Constant ContactNone needed
- Zoho Campaignsinclude:zcsend.net
- Salesforceinclude:_spf.salesforce.com
- Zendeskinclude:mail.zendesk.com
- Freshdeskinclude:email.freshdesk.com
- IntercomNone needed
- Help ScoutNone needed (old value: helpscoutemail.com)
- Odooinclude:_spf.odoo.com
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