WooCommerce stores lose sales when order confirmations, shipping updates, and password resets land in the spam folder. The customer does not see the order confirmation, gets confused, and files a support ticket. The fix is usually a DNS record, not a plugin.
WooCommerce sends email through your hosting provider's mail server by default. This is the most common reason for deliverability problems. Most shared hosting providers have a poor sending reputation because thousands of sites on the same IP send spam. Gmail and Outlook have learned to distrust these IPs.
The receiving mail server does not care that you are a legitimate WooCommerce store. It checks your domain's DNS records and the sending IP's reputation. If either fails, the email gets filtered to spam.
The frustrating part: your WooCommerce email log shows "sent." The email left your server. It just did not reach the inbox. You have zero order confirmations delivered and no idea why.
Here is what the receiving mail server checks, in order:
Any one of these can break your deliverability. Most WooCommerce stores have at least one missing or misconfigured.
You do not need to run dig commands by hand. Inboxproof checks all 6 records in about 30 seconds. You type in your domain, it queries your live DNS, and gives you a score plus the exact records to fix. No account, no setup, nothing to install.
The report is public and shareable, which is handy when you need to send the findings to whoever manages your DNS (your developer, your agency, your hosting provider).
WooCommerce has a setting for the "From" email address. If this is set to a Gmail address or a hosting provider's default address, your email will fail SPF because the sending domain does not match the domain with the SPF record.
Fix: set the "From" email address in WooCommerce to an email address on your domain (e.g., orders@yourstore.com). This address does not need to receive mail, it just needs to match your domain's SPF record.
Most shared hosting providers use a shared IP for all their customers' email. This IP has a poor reputation because thousands of sites on the same IP send spam. Even if your SPF and DKIM are correct, Gmail and Outlook may filter your email based on the IP's reputation.
Fix: use a dedicated IP (if your hosting provider offers one) or switch to a transactional email service like SendGrid, Postmark, or Resend for your WooCommerce email. Most WooCommerce stores can use a plugin like WP Mail SMTP to route email through a dedicated service.
If you use a transactional email service (SendGrid, Postmark, Resend, etc.), you need to add their include to your SPF record. For example, if you use SendGrid, your SPF record should include "include:sendgrid.net". If you use multiple services, add all of their includes.
Fix: check your current SPF record and add the includes for every service that sends email on your behalf.
If you use a transactional email service, you need to add their DKIM record to your DNS. Each service has a specific selector (e.g., s1._domainkey.yourdomain.com for SendGrid). If the DKIM record is missing, the email fails DKIM.
Fix: check your email service's docs for the DKIM record and add it to your DNS.
Gmail has been enforcing DMARC more strictly since early 2024. A domain with no DMARC record is treated as unauthenticated. Gmail filters these emails more aggressively. Set your DMARC record to at least p=quarantine, and ideally p=reject once you are confident your SPF and DKIM are correct.
Fix: add a DMARC record to your DNS. Start with p=none, monitor the reports, then move to p=quarantine and p=reject.
Fixing the records is the first step. But records break. Your hosting provider changes something. Your DNS provider expires a record. A new include gets added. You do not get an email when this happens. You find out when a customer says "I never got the order confirmation."
Inboxproof Pro monitors all 6 records daily and emails you the moment one breaks, expires, or changes. $29/month for up to 5 domains. For a WooCommerce store, that is one domain. For an agency managing multiple stores, the Agency plan covers up to 25 domains for $99/month.
If any of these are missing, run a free audit and get the exact record values to add. Takes 30 seconds. No account needed.
Run a free 30 second audit on your domain. No account, no setup, reads your live DNS only.
Run my free auditAudited by Inboxproof · live DNS checks · privacy