Shopify Deliverability

Setting Up SPF, DKIM and DMARC for a Shopify Store Domain

A technical guide for Shopify store owners on implementing SPF, DKIM, and DMARC to secure their custom domain and ensure high email deliverability rates.

  • Shopify email deliverability
  • SPF DKIM DMARC setup
  • Shopify sender authentication
  • domain authentication for Shopify
  • prevent Shopify spam

When you launch a Shopify store, your transactional emails, order confirmations, shipping updates, and password resets, are the most critical communications you send. By default, these emails may appear to come from a Shopify-owned domain or be flagged by mailbox providers because the sender identity is not fully verified. To ensure these messages reach the inbox, you must authenticate your custom domain using three core protocols: SPF, DKIM, and DMARC.

Authentication acts as a digital passport for your domain. Without it, Gmail, Outlook, and other major providers cannot verify that your store actually authorized the email. This lack of trust leads to two outcomes: your emails are either discarded or diverted to the spam folder. For a scaling e-commerce business, this directly impacts customer satisfaction and conversion rates.

Understanding the Authentication Trio

SPF, or Sender Policy Framework, is a DNS record that lists the specific IP addresses and services authorized to send email on behalf of your domain. When a mail server receives an email from your store, it checks the SPF record to see if the sending server is on the approved list. If you use Shopify but haven't updated your SPF record, the recipient's server might reject the mail as a spoofing attempt.

DKIM, which stands for DomainKeys Identified Mail, adds a cryptographic signature to your emails. This signature proves that the email was indeed sent from your domain and that the content hasn't been tampered with in transit. Unlike SPF, which focuses on the 'who,' DKIM focuses on the integrity of the message itself.

DMARC (Domain-based Message Authentication, Reporting, and Conformance) is the policy layer that ties SPF and DKIM together. It tells receiving servers what to do if an email fails authentication. You can instruct servers to do nothing, quarantine the email (send to spam), or reject it entirely. DMARC also provides reporting, giving you visibility into who is sending mail using your domain name.

Configuring SPF for Shopify

Shopify handles much of the heavy lifting, but you must manually update your DNS settings if you are using a third-party domain provider like GoDaddy, Namecheap, or Cloudflare. The goal is to include Shopify’s mail servers in your existing SPF record.

If you do not have an SPF record, you will create a new TXT record with a specific value. If you already have one, perhaps for Google Workspace or Microsoft 365, you must modify it. A common mistake is creating two separate SPF records; this will cause both to fail. Instead, you should add 'v=spf1 include:shops.shopify.com ~all' to your DNS. If you have other services, the record would look like 'v=spf1 include:_spf.google.com include:shops.shopify.com ~all'.

The '~all' tag is a 'Soft Fail' mechanism, which is generally recommended during the initial setup phase. It tells receivers to accept the mail but mark it as suspicious if the SPF check fails, rather than rejecting it outright.

Implementing DKIM Through Shopify Admin

Shopify simplifies DKIM by providing CNAME records that you add to your DNS provider. This process is often referred to as 'domain authentication' within the Shopify dashboard. By using CNAME records, Shopify can manage the rotation of cryptographic keys automatically, which is a security best practice.

To start, navigate to your Shopify Admin, go to Settings, and then to Domains. Select the domain you want to authenticate and look for the 'Domain status' or 'Customer emails' section. Shopify will generate four CNAME records. You must copy these and paste them into your DNS provider's management console. Once added, it may take up to 24 hours for Shopify to verify these records. Once verified, your emails will be signed with a DKIM signature unique to your store.

Setting Up a DMARC Policy

DMARC is the most critical step for modern deliverability, especially following the 2024 requirements from Google and Yahoo. A DMARC record is another TXT record in your DNS, typically found at the host '_dmarc'.

For most Shopify stores starting out, a 'p=none' policy is the best entry point. This is a monitoring mode that doesn't affect email delivery but allows you to collect data on how your domain is being used. A standard starting record looks like: 'v=DMARC1; p=none; rua=mailto:your-email@example.com'. The 'rua' tag is essential as it specifies where the aggregate reports should be sent.

As you gain confidence that all your legitimate mail sources (Shopify, email marketing platforms, helpdesk software) are authenticated, you should eventually move to 'p=quarantine' or 'p=reject' to fully protect your brand from spoofing.

Troubleshooting Common Setup Errors

One of the most frequent issues occurs when store owners use the 'shopify.com' address as their sender email instead of a custom domain email (e.g., info@yourstore.com). You cannot authenticate a domain you do not own. Always ensure your 'Sender email' in Shopify settings matches the domain you are configuring in your DNS.

Another common error is the 'DNS Lookup Limit.' SPF records are limited to 10 'lookups.' Each 'include' statement in your SPF record counts toward this limit. If you use too many third-party services, your SPF record will break. In these cases, tools like SenderSignal can help you monitor your record health and ensure you haven't exceeded technical limits that could lead to silent delivery failures.

Syntax errors are also prevalent. A missing semicolon in a DMARC record or a typo in a DKIM host name can invalidate the entire authentication string. Always double-check for extra spaces or missing characters after pasting records from the Shopify admin into your DNS provider.

The Role of Monitoring and Warmup

Authentication is not a 'set it and forget it' task. As you add new apps to your Shopify store, such as review aggregators or loyalty programs, they may also need to send emails on your behalf. If you forget to update your SPF or DKIM for these new services, those specific emails will likely land in spam.

Regularly auditing your deliverability is vital. Using a platform like SenderSignal allows you to track your DMARC reports and see if any unauthorized IPs are attempting to use your domain. It also helps you monitor your sender reputation across different inbox providers, ensuring that your technical setup is actually translating into successful inbox placement.

Checklist for Shopify Authentication

To ensure your store is fully compliant, follow this simplified checklist:

  • Identify all services that send email using your domain (Shopify, Klaviyo, Zendesk, etc.).
  • Consolidate all services into a single SPF TXT record.
  • Add the four CNAME records provided by Shopify to your DNS for DKIM verification.
  • Verify that Shopify shows the domain as 'Authenticated' in the admin settings.
  • Create a DMARC TXT record at the _dmarc host with at least a p=none policy.
  • Send a test email to a service that analyzes headers to confirm SPF and DKIM are both 'PASS.'

By following these steps, you build a foundation of trust with mailbox providers. This results in higher open rates for your marketing campaigns and ensures that your customers never miss an important order update due to a spam filter error. Proper authentication is no longer optional for Shopify stores; it is a fundamental requirement for e-commerce success.

Frequently asked

Questions about this topic

Why is my Shopify email still going to spam after setting up DKIM?
DKIM is only one part of the authentication puzzle. You must also ensure your SPF record includes Shopify's servers and that your DMARC policy is active. Additionally, your sender reputation depends on your historical engagement rates and content quality.
Can I have multiple SPF records for my Shopify store?
No, you should never have more than one SPF TXT record for a single domain. If you use multiple services like Shopify and Klaviyo, you must merge their include statements into a single record to avoid authentication failures.
How long does it take for Shopify domain records to propagate?
DNS changes typically propagate within a few hours, but it can take up to 48 hours for global servers to update. You can verify the status directly within the Shopify admin under the 'Domains' settings page.

More on shopify deliverability

Related Shopify Deliverability guides that build on this one.

Related reading across SenderSignal

Guides from other disciplines that connect to this topic.

Start free in two minutes

See where your email actually lands.

Placement testing, blacklist monitoring and reputation tracking in one workspace.