Shopify7 min read

Shopify order confirmations in Spam: diagnose and fix

Shopify ships transactional email out of the box, but the default path leaks into Gmail Promotions and Outlook Junk more often than merchants realise. Here is what is actually happening and how to move the needle.

A Shopify store owner ships a test order on Monday, watches the confirmation land in Gmail Primary, and ticks the box. Three weeks later a real customer messages support: "I never got the confirmation". You check the logs — Shopify says "Sent". The customer checks Gmail — nothing in Primary, nothing in Promotions, nothing in Spam. It is gone.

Shopify order confirmations are transactional by any reasonable definition, but mailbox providers do not just look at intent. They look at how the mail was sent, who signed it, and what the template looks like. Get any of those wrong and a confirmation gets treated like a bulk newsletter — or worse, like a phishing attempt.

The quick answer

Shopify sends by default from no-reply@shopifyemail.com with your store name in the From display. That is fine for authentication, but it breaks brand trust and often triggers Promotions. The fix is a custom sender domain with SPF, DKIM and a DMARC policy that you actually own.

Why Shopify orders land in Promotions

Gmail's Promotions tab is not a punishment — it is a category. But a missed confirmation there feels as bad as spam, because customers never think to look. Three signals push Shopify's default template into Promotions:

  • Heavy image template: the stock Shopify order template is built like a marketing email (logo band, product thumb, big CTA, footer with shop links). Gmail's classifier treats that as promotional structure, regardless of intent.
  • Shared sender domain: when many stores send from the same shopifyemail.com envelope, mailbox providers treat the domain reputation as an average — and the average includes every low-trust shop using the platform.
  • Mixed content: upsell blocks, "you may also like" product grids, and subscribe-to-newsletter footers are classic Promotions triggers. Even one of them in a confirmation tells Gmail this is marketing.

Sender domain alignment

The single highest-impact change is moving away from shopifyemail.com as the sending domain. Shopify supports this through the Sender email setting in Settings → Notifications, but there is a catch: simply changing the address does not change the envelope. You have to authenticate.

Shopify publishes the DNS records you need — SPF include, two DKIM CNAMEs, and an optional DMARC record. Until all three verify green in the admin, Gmail will still display the "via shopifyemail.com" disclaimer and Outlook will continue to apply low-trust filtering.

DNS checklist

  1. Add the Shopify SPF include to your domain's SPF record. Shopify's admin gives you the exact value, usually something like include:shops.shopify.com. Do not create a second SPF record — merge into the existing one.
  2. Add the two DKIM CNAMEs Shopify provides. They look like shopify1._domainkey and shopify2._domainkey. Both must resolve.
  3. Publish a DMARC record at _dmarc.yourstore.com. Start with p=none and a rua address so you can watch alignment without blocking mail.
  4. In Shopify admin, click Authenticate. Wait for all three rows to turn green. If one stays yellow, the DNS has not propagated — give it an hour.
Common SPF mistake

Stores already using Mailchimp, Klaviyo or Google Workspace often have an SPF record at the 10-lookup limit. Adding Shopify's include pushes it over and SPF silently fails. Use an SPF flattener, or drop an unused include before adding Shopify.

Transactional template redesign

Once authentication is green, the template itself becomes the next ceiling. A truly transactional email looks nothing like a Shopify default theme. Aim for the following shape:

  • Plain-text-first layout: one-column, under 600px, mostly text. Order number, items, total, shipping address, ETA. That is it.
  • One image maximum: a small logo at the top is fine. Product thumbnails inflate image-to-text ratio and push into Promotions.
  • No promotional blocks: remove the "you may also like", newsletter signup, discount-for-next-order elements. Put those in a separate post-purchase flow through Klaviyo or Shopify Email if you want them.
  • Reply-to is a real mailbox: a support@ address that a human actually reads. Gmail treats reply-to no-reply@ as a weak trust signal.

Custom domain sending

If your Shopify plan and region allow it, moving transactional mail to a dedicated relay (Postmark, SES, SendGrid Transactional) with your own domain gives the best outcome. The pattern:

Shopify notification → Flow / app webhook → Postmark
From: orders@yourstore.com
DKIM: aligned with yourstore.com
SPF: include:spf.mtasv.net
DMARC: p=quarantine; rua=mailto:dmarc@yourstore.com

This path is obviously heavier than toggling a setting, but for stores doing serious volume it is the only way to get both deliverability and a branded experience. Postmark in particular has a reputation for keeping transactional streams separate from marketing, which is exactly what Gmail wants to see.

Seed test before every template change

Do not push a new order template on a Friday and hope. Every time the template or sender domain changes, run a seed test across Gmail, Outlook, Yahoo and a few mailbox providers your customers actually use. A seed test shows you the real inbox placement — not what the ESP dashboard says, not what your own test order looks like.

In our tool you place an order against the seed addresses, and within 90 seconds you see which providers put it in Inbox, which in Promotions, and which in Spam. You also see the SPF, DKIM and DMARC verdict per provider, so if Outlook is the one rejecting, you know to look at the DMARC alignment rather than the template.

Shopify integration in beta

A native Shopify app is in private beta — schedule placement tests from your admin and alert on drops.

→ Join the beta waitlist

FAQ

Why do Shopify confirmations end up in Gmail Promotions?

The default Shopify transactional template is structured like a marketing email — logo band, product imagery, promotional footer. Gmail classifies it as promotional regardless of the intent signal from a recent purchase.

Do I need DMARC for Shopify transactional email?

Not strictly, but Gmail and Yahoo now require DMARC for bulk senders, and mailbox reputation improves sharply once a DMARC policy is published. Start with p=none and move to quarantine once alignment is clean.

Can I just change the From address without DNS changes?

You can, but Shopify will keep the shopifyemail.com envelope and Gmail will show the "via" disclaimer. That kills brand trust. Authenticate the domain or leave it alone.

Should I move every email to a custom SMTP relay?

Only at volume. For most stores, authenticating the domain in Shopify's own sender setup is enough. Move to Postmark or SES when you outgrow the default path or need webhook-level delivery analytics.
Related reading

Check your deliverability across 20+ providers

Gmail, Outlook, Yahoo, Mail.ru, Yandex, GMX, ProtonMail and more. Real inbox screenshots, SPF/DKIM/DMARC, spam engine verdicts. Free, no signup.

Run Free Test →

Unlimited tests · 20+ seed mailboxes · Live results · No account required