In This Post…
Your most important asset in your business is your email list. Period. But…
It isn’t just about how many people you have on your email list. More important than that is how many people actually GET your email when you hit the “Send” button.
This subject of email deliverability can feel a bit daunting. It can feel nerdy. And it is easy to feel a sense of fear about things you don’t understand. You hear about pending changes in email deliverability coming and it is too easy to be fearful you’re missing something important.
But, let’s boil this down to the basics.
Let’s simplify this topic of email deliverability. At least as much as we can. 😇
Marketing Vs Transactional Emails: What’s The Difference?
That term “transactional email” could easily be thought of as simple things like receipts and invoices. However, it is different than that.
- Transaction Email – any email which is sent to a subscriber based on an action they took on your site. Such an email is usually sent one at a time. This could include orders, notifications, lead magnet deliveries, welcome emails, etc.
- Marketing Email – any email sent in bulk to subscribers based on your timing, not triggered by an action taken on your website. In other words, a newsletter, promotional email, etc.
The difference here is more than just vocabulary. Ideally, you would send transactional emails and marketing emails differently. Otherwise, any negative affects on the deliverability of your marketing emails could adversely affect your transactional emails.
Often, people sign up for a third-party email service for marketing emails. Services such as ConvertKit, ActiveCampaign, Drip, Aweber and the like. In some bases, you can use these services for transactional emails, but often it is the same system sending everything. It will work, but it isn’t ideal.
In many cases, though, people don’t pay much attention to transactional emails. Without purposely setting up proper delivery, they end up relying on the default email sending abilities of their web hosting. Web hosting is not usually set up properly for email deliverability, so you would then be at a much higher risk of emails going into the spam folder.
If you get reports from people of not getting lead magnet emails, password resets and other such emails from your site, the most likely reason is that you have not properly set up best practices for transactional emails.
Why You Need To Use An SMTP Plugin
Your web host may have a built-in ability to send transactional emails generated by your website, but that doesn’t mean it is a good idea.
The way to get emails delivered properly from your website is to connect your site to a proper SMTP service. To do that, you install an SMTP plugin and connect it to the service of your choice.
SMTP stands for simple mail transfer protocol. It is basically how emails get sent.
There are many SMTP plugins out there. Some of them even cost money. But, I’m telling you… there is no reason to pay for one. I recommend you install FluentSMTP to your WordPress site. It is 100% free and already has some of the features others would charge you for in a “Pro” version.
An SMTP plugin will basically intercept all system calls to send an email and route it through a proper SMTP service.
Even if you’re using a third-party service for your marketing emails (like ConvertKit or something similar), it is still recommended that you connect your site to a different service for transactional emails if you want proper delivery of emails generated by WordPress.
If your site is small and basically sends no emails except for the occasional notification email to yourself, then you can probably just rely on your host to take care of it. But, if you start building a membership site, a WooCommerce store, a BuddyBoss site, or any other needs where WordPress itself will be sending out emails… then you absolutely a proper SMTP setup.
Which SMTP Service Should You Use?
I’ve seen a few people out there who have just installed an SMTP plugin and… that’s it. They assume merely by installing the plugin that their delivery rates are better. But, that’s definitely not true.
You have to connect the plugin to a service. You also need to do the proper authentications on your domain.
There are a lot of available services out there for email delivery. Some of them are:
- Amazon SES. (Part of Amazon Web Services. Very affordable and popular, but also a difficult setup process and you need approval).
Some of these services offer small amounts of email per month for free. For many, it would be enough to solve your problem without any additional bill. For instance:
- PostMark offers up 100 emails per month for free.
- ElasticEmail offers up to 100 emails per day for free
- SendGrid also offers 100 emails per day for free.
My favorite service here happens to be PostMark, however I know they offer one of the smallest free thresholds. So, for low volume needs, I would probably recommend SendGrid instead. If your needs get a little more demanding (like for a membership site or online store), then PostMark is one of the best services to work with in my opinion.
Another option here is to connect your site to services like Gmail, Google Workspace, Outlook, Microsoft 365, etc. In this case, you can have your site send email using the exact same setup that you’re using for your own email. In my case, I use FastMail for all of my email and it is possible to connect my WordPress site to Fastmail’s SMTP servers and send that way.
When you connect up to such services, it has your website sending email as if YOU sent the email. In some cases, this is convenient. So, for many this is a quite viable option. I wouldn’t recommend it for marketing emails, though. Transactional emails only.
Domain Authentication: SPF, DKIM and DMARC
In order for a service to send email on your behalf, there needs to be certain authentications in place. These things come in the form of DNS records on your domain name.
So, in order to ensure proper email deliverability, you need to make certain entries in the DNS settings of your domain.
Note that your chosen SMTP service will give you the DNS records you need to use on your domain. In most cases, it is simply a matter of copy and paste. Below, though, I will tell you how this stuff works so you will understand it.
Let’s define what these records are.
Sender Policy Framework (SPF)
An SPF record is an entry in your DNS settings that specifies what servers are permitted to send email on behalf of your domain. That’s all it is.
An SPF record is added to your DNS in the form of a TXT record. The look of it is a bit nerdy, but it isn’t that complicated. Here’s a typical SPF record:
v=spf1 ip4:192.0.2.0 ip4:192.0.2.1 include:examplesender.email -all
The “v=spf1” just tells the server that this is an SPF record. All SPF records begin with this string.
The next section specifies IP addresses which are allowed to send email on behalf of your domain. In this example, the servers at 192.0.2.0 and 192.0.2.1 are permitted to send email. Not all SPF records contain this section, but it is useful for ensuring that your web hosting server is permitted to send email (if you’re still using your host to send email).
The next section is the “include” section. This specifies what third-party organizations are authorized to send emails on behalf of your domain. For instance, here’s the SPF record for blogmarketingacademy.com:
v=spf1 include:spf.messagingengine.com include:_spf.elasticemail.com ?all
In this example, I have authorized two services to send email from my domain. One is messagingengine.com (which is for FastMail) and ElasticEmail (which I actually need to remove since I no longer use Elastic).
Lastly, most SPF records end with “-all”. This tells the server that any emails not being sent from these authorized sending servers should be rejected. Alternatively, “~all” would state that all unlisted senders can still be sent, but would be marked as spam. Lastly, “+all” is basically a free-for-all that says anybody can send email from your domain.
There is only ever one SPF record per domain. Nothing will stop you from entering more than one SPF record in your DNS settings, but it would lead to issues because of conflicting commands. So, make sure you only have one SPF record.
Some services will not require you to use SPF. Instead, they will give you a Return-Path server to add to your DNS records. If the email fails DKIM (see below), a response it sent to the return-path server (such as for email bounces) and that allows the server to respond automatically.
- SPF records are used to authorize email to be sent on behalf of your domain through certain servers.
- One SPF record per domain.
- Since SPF is actually a bit dated, some services no longer use it and use alternative methods of authentication.
DomainKeys Identified Mail (DKIM)
DKIM is another type of DNS record that uses cryptography to ensure proper authentication. It is a public and private key. The private key is handled internally from your sending service and the public key is put into your DNS records. If the keys don’t match, then the email isn’t allowed.
DKIM is much more reliable than SPF. For this reason, some services won’t require you you to use SPF but will use alternative methods.
One of the flaws of SPF is because it is possible to “spoof” a domain. In other words, spammers would be able to make their servers impersonate another domain and that leads to scams and phishing emails. But, while they could spoof a domain, they cannot fake a private key. This is why DKIM provides a higher level of security.
Just like the SPF record, a DKIM record is added to your DNS as a TXT record. Here’s a typical one:
- NAME: api._domainkey
- CONTENT: k=rsa;t=s;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCbmGbQMzYeMvxwtNQoXN0waGYaciuKx8mtMh5czguT4EZlJXuCt6V+l56mmt3t68FEX5JJ0q4ijG71BGoFRkl87uJi7LrQt1ZZmZCvrEII0YO4mp8sDLXC8g1aUAoi8TJgxq2MJqCaMyj5kAm3Fdy2tzftPCV/lbdiJqmBnWKjtwIDAQAB
The info you need to add into your DKIM record is always provided directly by your email sending service. You basically copy/paste it and add it as instructed.
- DKIM uses private and public keys to ensure that a server is authenticated to send email on behalf of your domain.
- DKIM is way more reliable than SPF.
Domain-based Message Authentication Reporting and Conformance (DMARC)
Whew! That’s a mouthful. But, not so complicated. Basically, DMARC tells the server what to do in response to the findings of the SPF and/or DKIM records.
What happens if an email fails authentication via SPF and DKIM? The DMARC record determines what happens.
The DMARC record can get a little bit involved depending on how you want it to work. It is basically a machine command line with certain attributes that do certain things. A very simple and common version of it is:
- NAME: _dmarc
- CONTENT: v=DMARC1; p=none;
The “v=DMARC1” part is universal. All DMARC records start with this. The “p=none” part is a command that basically sets no enforcement. In the case of “p=none”, emails will still be delivered even if they don’t pass authentication.
Other options are:
- p=quarantine – If the email fails authentication, the email will be quarantined.
- p=reject – The email will be rejected outright if it fails authentication. This is the most strict option.
Another option for DMARC is to send reports of failures to an email address. This way you have the option to see what is going on and potentially make adjustments. Here’s an example:
v=DMARC1; p=none; rua=mailto:firstname.lastname@example.org
In this case, DMARC is setting enforcement to “none” to all emails will be delivered, but daily reports of DMARC findings will be sent to the specified email address. Using those emails, you can see which servers are sending emails on behalf of your domain, the percentage of emails passing DMARC, and which servers are failing DMARC.
DMARC is commonly glossed over. I know I have for a long time. It is easy to just set zero enforcement and no reporting. However, by doing that, we’re flying blind in terms of deliverability issues.
There are even services out there that can monitor DMARC for you. You can use your DMARC entry to route all those reports to a service which will then allow you to more easily correct issues and increase/maintain your email deliverability. As an example, DMARC Digests offers this for $10/mo per domain. They also have a free version with limited reporting.
- DMARC determined what happens when an unauthenticated email is detected. It sets the enforcement level as well as who to notify.
- Monitoring DMARC can help you find potential issues and solve them over time, therefore increasing email deliverability.
Third-Party Email List Hosts And Email Deliverability
If you’re using a third-party company to host your email list, do you need to worry about any of this stuff?
If you’re using ActiveCampaign, ConvertKit, BeeHiiv, Aweber or any of the plethora of hosted services, is all this stuff just taken care of automatically?
For the most part, you can send email through these services and most of this nerdy stuff is taken care of automatically. That said, however, this shouldn’t just be a case of blind trust. And in fact, if you just blindly trust them, you could be hurting your deliverability.
These services are mostly authenticating themselves as the sender of emails with your email address as the FROM. This is a basic level of authentication that works for the most part. However, it also places the email deliverability fully in their hands and, in essence, subject to them properly enforcing all best practices across all other clients of their service.
In order to ensure best deliverability with these senders, it is still best practice to set up the proper DKIM and DMARC settings on your domain name.
Every service has their own instructions for this. Since DKIM is all about cryptographic keys, they would need to directly provide you the proper DNS settings for DKIM.
Here’s a few articles from some of the popular email list hosts:
- How to set up DKIM in ActiveCampaign
- ConvertKit: Verify your domain to optimize your deliverability
- Aweber: How do I set up DKIM records for my domain?
- MailerLite: How to verify, authenticate and align your domain
Again, it is recommended that you set up proper domain authentication for your outgoing email using DKIM and DMARC even if you are using a third-party sender that promises to take care of it for you.
- Even when using a hosted email list service, it is still suggested that you authenticate your domain using the instructions they provide. Don’t just blindly trust the sender reputation of the service.
Separating Marketing & Transactional Emails
Above, we discussed the difference between marketing & transactional email. Depending on your situation, it may be a good idea to separate transactional and marketing emails and send them from different servers.
Bulk marketing emails are the emails most likely to lead to potential deliverability issues. So, why would you want to blindly allow your transactional emails to be adversely affected? Transactional emails need to be delivered reliably and quickly.
So, how can you separate them?
In short, you can connect to as many SMTP services as you want. Each connection gets a different sending email address. So, by sending out different emails with different FROM addresses, you can route emails through different senders.
To illustrate, let’s say you have two separate email addresses:
- email@example.com – Used for transactional emails. SMTP set up to send these emails through a service like PostMark.
- firstname.lastname@example.org – Used for marketing emails such as your newsletter. SMTP set up to run this through a different service, such as Amazon SES.
Then, you can set your WordPress admin email to email@example.com. You can use that as the FROM address for any system-generated emails, notifications, etc. But, your newsletter will be sent FROM firstname.lastname@example.org so it will be sent out via Amazon. You set up DNS authentication for both services as instructed.
Ideally, you will NOT be using the same FROM address for marketing and transactional emails. It is smart to separate them… with separate email SMTP connections. And when you write those emails to be sent out by your site, use this to guide what you define as your FROM address on those emails.
- It is best practice to treat your marketing and transactional emails differently and send via different channels.
Other Important Factors To Email Deliverability Rates
The above issues are the most important when it comes to proper email deliverability. But, those issues are more mechanical.
But, some factors that go into email delivery are not mechanical. It is also a matter of what you are DOING with your email list.
You can still help or hurt your delivery rates based on what you DO with your list…. despite all the proper authentications on your domain and best practices with regarding to handling your outgoing email.
Ensure Proper List Management
- Ensure you have proper bounce management in place. You want bounced emails to automatically flag so you don’t continue to send to them. If using a third-party service, this is handled automatically. If you self-host your list, you’ll need to set up a bounce handler. For example, FluentCRM has a bounce handler built-in and provides instructions how to set up the proper routing based on the service you send from.
- Ensure all emails have a one-click unsubscribe. Your outgoing emails (especially the marketing emails) need to have a link which will instantly unsubscribe them from your list if they click it. Never omit it and never tell them to reply or ask to be removed. It needs to be instant.
- Don’t ever use a personal email address (Iike Gmail) as your sending address. You never want to use a Gmail or Yahoo or other similar consumer email service as the FROM address on bulk emails you sent. Most quality email senders won’t even allow you to do it. But, if your’s does, definitely change it. Your site’s outgoing email needs to be delivered from an email address from your own domain name.
Ensure Good Email List Engagement
The level of engagement of your subscribers to the emails you send is one of the most important factors that go into delivery rates. If you’re routinely sending to a bunch of people who don’t care, it hurts your delivery rates. The big guys like Gmail and Yahoo see all that and you are all but guaranteeing your emails don’t arrive if you keep sending to people on their services who don’t engage.
So, some important recommendations:
- Purge unengaged subscribers. It is important for overall deliverability that you periodically purge subscribers who are not ever opening anything you send. I know it hurts to delete people, but they’re basically phantom subscribers anyway if they don’t ever open anything.
- Keep your emails relevant.
- Segment your list and talk to those segments based on their interests. It isn’t a “one size fits all” kind of thing.
- Monitor your SPAM rate. If subscribers are reporting your emails as spam, that definitely hurts delivery rates. Different services have different thresholds, but Google (for instance) is going to be enforcing a spam threshold of 0.1%. This means for 1000 emails sent, if even ONE person reports it as spam, you’re going to begin having delivery problems.
Really, it comes down to being being known, liked and trusted by your email subscribers. Talk to them like a friend. Foster a real relationship and create emails they look forward to receiving.
You don’t want people on your list to be indifferent to whether you communicate or not.
Deliver high value. Send the kinds of emails you WISH others would send you.
Be willing to remove people from your list. Get used to the idea that SIZE doesn’t matter nearly as much as how you use it. (Funny, I know. 😉 But true). The size of your REAL email list is about the number of people who actually engage with your emails. The other people not only might as well not be there, but they could actually be hurting your delivery rates.
Yes, it takes time and care.
Frequently Asked Questions
Got A Question? Need Some Assistance?
Have a question about this article? Need some help with this topic (or anything else)? Send it in and I’ll get back to you personally. If you’re OK with it, I might even use it as the basis of future content so I can make this site most useful.