How many times have you waited anxiously for a confirmation email to hit your inbox after buying something online? I know, I know, it’s just a transactional email that’s fired off automatically. But it’s still comforting. When you get it, you know the new t-shirt or dress you bought is being processed and shipped to your physical address.
But… what if that email never comes? How can you be 100% sure that the transaction was a success?? I mean, if the website confirmed the purchase but there was no email confirmation…
Customers, like me, expect transactional emails. They’ve become an integral part of the online shopping process. So when there’s a kink in the chain and one or more of your WooCommerce store’s email suddenly stops working, or does work and contains some other issue, it puts a huge dent in your store’s credibility.
When customers are handing over their cold, hard cash, they want to know they can trust you, and your emails are a big part of that. If your emails don’t work or look unprofessional or broken, how can customers know you’ll actually fulfill their order?
This is why it’s so important to test WooCommerce emails. As a store owner, it’s on you to instill confidence in your customers, give peace of mind, and ultimately provide a smooth customer experience.
In fact, WooCommerce email testing is (and always has been) one of Robot Ninja’s most requested features. It’s just a really hard problem to tackle (but we’re looking into it).
So in this post, I’m going to walk you through the different ways you can test various aspects of WooCommerce’s transactional emails. Specifically, we’ll look at:
- Testing email deliverability
- Testing email content, clients and devices
- Testing email spammyness
- Testing sender reputation
- Testing email performance
Let’s dive in.
1. Testing Email Deliverability
Are your store’s transactional emails actually reaching your customers?
First, a quick explainer.
WooCommerce, and most plugins that send email via WordPress, use the wp_mail()
function, which is a core function of WordPress. But, it’s not actually WordPress that sends your WooCommerce transactional emails.
What happens is WooCommerce calls wp_mail()
, which then requests WordPress to send the emails, which in turn asks PHP to send the email. PHP then checks your server for a local email server it can tell to send the email.
What does this mean? Well, according to WooCommerce Docs, in most cases, if your transactional emails are not being sent/received, then the issue is not with WooCommerce itself but with the core email function of your web host.
Before we dive into the actual mail side of things, there are a few things you should check first.
1. Check new orders aren’t “pending”
If your new orders have a “pending” status, your store hasn’t sent emails for these particular orders because they haven’t been confirmed yet. Pending orders occur when a customer abandons the payment page or their credit card is declined.
If you have pending orders but receive payment for them via a payment gateway (i.e. PayPal and Stripe), it means your store’s orders aren’t being updated and there could be a problem with the payment gateway, not your email.
For more on testing your WooCommerce store, check out A Thorough Guide to Successfully Testing WooCommerce 3.3.
2. Check your email settings
It’s possible you might’ve inadvertently disabled transactional emails from sending. To check, go to WooCommerce > Settings > Email and ensure that under “Enable this email notification” is ticked for processing orders.
3. Check if emails are being sent but not received
If your transactional emails are enabled and orders are updating to “processing,” then your emails might be sending but not actually reaching customers. This could be due to your emails being marked as spam (which we’ll look at in more detail below).
The simplest way to test WooCommerce email deliverability is using the WP Mail Logging plugin. This free plugin logs email sent via WordPress and helps with debugging what’s going wrong. Once installed and activated, the plugin immediately starts logging all outgoing emails, which you can view and search.
To use WP Mail Logging to check whether your transactional emails are working:
- Generate a test order,
- Go to WP Mail Log in your admin sidebar, and
- Check if your test order generated emails and if there are any sending errors.
If WP Mail Logging is displaying email errors and you’ve determined that your store isn’t delivering emails, it’s time to look into getting a dedicated SMTP (Simple Mail Transfer Protocol) provider.
With SMTP, you can bypass your web server – the wp_mail() function will reroute email from PHP to your SMTP provider. From there, the SMTP provider receives the request and adds your email to a queue to be sent.
WooCommerce recommends these SMTP providers, which have their own plugin on WordPress.org:
- SendGrid (Plugin) – Send 12,000 emails free per month.
- Mailgun (Plugin) – Send 10,000 emails free per month.
- SparkPost (Plugin) – Send 100,000 emails free per month.
- Mandrill (Plugin) – From MailChimp as a paid add-on. It costs $10/month for up to 25,000 emails. Emails are tracked and tagged for stats in the Mandrill Dashboard, and it can be used with MailChimp.
2. Testing Email Content, Clients and Devices
Are your emails displaying properly in customer inboxes?
Just because your transactional emails look great in your inbox doesn’t mean they look great in all inboxes.
One time I put together an email campaign in MailChimp and sent a test email to my Gmail account. The email campaign looked fantastic so I scheduled it. A week later, a customer complained that the email campaign’s formatting looked a bit off in his Outlook inbox.
He sent me a screenshot and I was mortified – the images in the email had automatically resized for my Gmail account, but were displaying at 2500px wide in the customer’s Outlook inbox. The email was incomprehensible.
Oops.
This is why it’s so important to preview how your emails look in as many different inboxes as possible. Fortunately, there are a few great tools that can help you preview what your emails will look like for different customers.
WooCommerce Email Test
First up, WooCommerce Email Test adds an “Email Test” option to WooCommerce so you can view test emails for new order, processing order, completed order, customer invoice, and customer note. This functionality is great for viewing emails in your browser, but not so great for previewing emails in different inboxes.
Inbox Inspector
With Inbox Inspector you can preview your emails in more than 25 popular email clients on desktop and mobile devices. You can even see how your emails are displayed when images are blocked and how your subject line looks in different inboxes.
Email on Acid
This comprehensive plugin will help you cover all your bases, letting you preview your email in 58 different email clients and mobile devices. When you send or upload your email to Email on Acid, it processes your email to check for broken links or code errors, and then you can run a test in clients you choose.
Litmus
Litmus takes email testing to whole ‘nother level. You can preview emails across 90+ clients and check for broken links and images. Here’s how it works: When you send a test email to Litmus, it’s sent out to a bay of 1600 physical machines using real email clients. The machines open your email in different email clients and then Litmus takes screenshots of your email so you can see exactly what your customers would see.
Once you know how your emails look across different devices and inboxes, you can then make the necessary tweaks to ensure your content is displayed as you intended when it reaches your customers’ inboxes.
Tip: It’s a good idea to check Google Analytics to see what kinds of devices, operating systems and browsers your visitors are using. This will help you get a sense of which devices are most popular amongst your customers so you know what to focus on.
3. Test Email Spammyness
Are your emails spammy?
If your emails are sending and not showing up in your customers’ inboxes, there’s a chance they’re being flagged as spam. Not only is this embarrassing but it means that customers who don’t check their junk mail aren’t getting your transactional emails.
While you can’t ensure that everybody gets your emails, you can do a lot to improve your chances.
Firstly, check the quality of your emails. mail-tester is a free tool by the guys behind MailPoet and AcyMailing. When you send a test email to mail-tester, it scores your email out of 10, giving you an indication of whether your email will show up in inboxes.
Email on Acid also offers spam testing. It tests your email against 23 different spam filters, checking how your email across and providing an overall deliverability score out of 100%. Every test includes information from corporate filters and webmail providers for comprehensive result.
Litmus provides spam testing, too. Its spam testing feature scans your emails against popular consumers and business-grade spam filters to help you quickly identify any issues that might be contributing to your emails landing in junk mail. It also validates that your email is being properly authenticated using DKIM and SPF, and ensures your DMARC record is set up correctly. Plus, it provides resources and email best practices, and hands-on advice to help you troubleshoot problems.
4. Test Sender Reputation
Do you know your email sender reputation?
Your email “sender score” is another metric worth monitoring to help you get a sense of how your transactional emails are being received by customers.
Email on Acid and Litmus can both test your IP and domain names against common blacklist services and let you know if you’ve been blacklisted so you can maintain your deliverability.
Alternatively, Sender Score can give you an indication of your email reputation. When you enter your IP address or domain, it scores you out of 100. The higher your score, the better your reputation, meaning your emails are more likely to land in inboxes.
5. Test Email Performance
Are your transactional emails arriving on time? Because if they’re taking hours to reach your customers, it’s not a great look.
When a customer places an order – like in my analogy at the top of this post – they expect a confirmation email to instantly land in their inbox. So if it doesn’t arrive right away, they might start to question your reliability.
If using the default WooCommerce email settings combined with your server isn’t working for you, it’s time to upgrade to an SMTP provider (like the ones listed above).
Alternatively, Postmark is a hosted service that handles the delivery of transactional web app and website emails, including WordPress welcome emails, password resets, comment notifications and more. It also provides details live delivery data so you can keep an eye on your email deliverability.
If you’re having issues with PHP’s mail() function not working properly, Postmark promised to make “all these problems vanish in seconds.” If you’re interested in trying this service for free, there’s a plugin for WordPress so you can get a feel for how it works before you commit.
Wrapping Up
There you have it, five different ways to test your WooCommerce emails. Hopefully, this article has opened your eyes to the world of transactional email and why it’s important to test WooCommerce emails. I highly encourage you to check out the tools in this post.
While I’ve focused on the deliverability of transactional emails, it’s also worth looking at your emails from a marketing perspective and testing:
- Email subject lines, and
- Open rates and clickthroughs.
Testing these metrics will help ensure customers are more likely to open your emails (i.e. subject lines) and help you keep track of the effectiveness of your emails.
Have you tested your WooCommerce transactional emails? Are there any particular tools or services you use to test and improve your emails? Let us know in the comments!
I found on GitHub. This is even better plugin for testing woocommerce emails
https://github.com/ThemesEmail/woocommerce-email-testing