Transactional Email Best Practices

Email is an inarguably powerful medium to reach and connect with people. When it comes to businesses, there are two major types of emails from businesses. The first is bulk promotional emails, and the second is transactional email. Marketing emails are comprised primarily of newsletters and other scenarios where the same message is delivered to hundreds or thousands of people at the same time. With transactional, the emails are usually sent to an individual or a small group of people based on specific actions or inactions.

One thing that sets these two types of emails apart is the context within which they’re sent. Transactional emails are emails that recipients expect. These are things like receipts, password reset emails, or comment notifications. Because of the fact that recipients expect these emails, they see much higher open rates and engagement when compared to marketing emails. That context also makes transactional emails different in terms of the content customers want and expect from them.

Ideally, you should think of transactional email as just another interface to your software, and it should receive all of the attention that you’d give to designing any other customer interaction.

This guide will dive into the techniques you should apply to your transactional emails to ensure that they’re valuable to the recipients. Ideally, you should think of transactional email as just another interface to your software, and it should receive all of the attention that you’d give to designing any other customer interaction.

So how can you craft the best possible transactional emails for your customers? Let’s start with the first things that a customer sees when they receive an email from you.

Meta information #

While the content of your emails is most important, the meta information and tactics can be a close second because they influence whether recipients will open or read your messages. With the way email clients handle previews and display sender information, you want to make sure that you’re conveying the most useful information within the limited space. You don’t want your emails to show up in inboxes with these problems:

Screenshot of an email in Gmail where the sender and subject are redundant.
Putting "Amazon Subscribe & Save" in the subject is a waste of space since it's already the From address.
Screenshot of an email in Gmail where the sender, subject, and preview all repeat "Wells Fargo"
"Wells Fargo" is repeated in 3 different ways for this preview. That's a lot of space that could have been used for more valuable information.
Screenshot of an email in Gmail where the sender displays the email address instead of a name.
In this case, displaying the email address instead of "Amazon" for the sender makes this email look sloppy. Then it makes the mistake of repeating "Amazon.com" again.
A screenshot of a  notification where the subject and first parts of the body are redundant.
Pay close attention to the initial content of your notifications since the first bits of content will be displayed in previews.

These may all seem like minor details, but when you’re sending these emails hundreds or thousands of times, the inconvenience to customers begins to multiply. None of these mistakes are difficult to fix. They’re simply about making good conscious choices. Let’s dive deeper into the various ways you can avoid these mistakes and help your customers get more out of your emails.

From & reply-to addresses #

The first thing anybody sees with an email is who sent it. So making sure you use a nicely formatted “From” address is absolutely key. We advise using the name of the application that sent it. For example, we would use “Postmark” for most emails rather than “Wildbit” (the parent company) or “Chris Nagele” (a co-founder/CTO). In some cases, it might say “Postmark Support” or “Postmark Billing,” but unless the company is big enough for those to all be different departments “Postmark” is likely enough.

Under some circumstances, you may want to use the formal company name or the name of a person within the company, but those should be few and far between. Some might make a case that the from address should appear to be a person from the company to help make it feel more personal, but with few exceptions, it’s unlikely that your customers will know who that person is. And unless the replies will be going directly to that individual, it’s disingenuous, and customers will pick up on that.

In addition to the name, the “From” address can be just as important. The biggest mistake you can make there is using a “no reply” email address. It’s a quick way to signal to customers that you don’t want to hear from them. But there are also signs that replies to an email address can help improve aspects of deliverability since replies represent increased engagement which is becoming an increasingly important signal about the quality of emails. So discouraging replies can lower your overall engagement and potentially affect deliverability. It’s possible that the mere presence of a “no reply” address could affect deliverability. 

You should always make sure that customers can reply to an email and that their reply will be sent to a monitored inbox. Alternatively, you could use something like Postmark’s inbound email parsing to automatically parse and handle replies to notifications, but we’ll talk more about that later.

Another important consideration when sending transactional emails is that the “From” address provides a great touchpoint for people to filter and organize their emails. By sending invoices or receipts from “billing@example.com”, account notifications from “account@example.com”, and comment notifications from “comments@example.com”, you can provide your customers with built-in hooks for organizing their inbox. If you need your “From” address to be different from the reply address, you can use the “reply-to” header value to route replies to a different location. This way you can be sure that replies will be delivered to a monitored inbox like your support email.

Let’s look at some example options we could use for Postmark account emails:

  • “Postmark <support@postmarkapp.com>” would be the best way to do things in most cases for account-related emails.
  • “Wildbit <support@postmarkapp.com>” wouldn’t be a good fit for Postmark since fewer people will be as familiar with our parent company, Wildbit.
  • “John Doe <support@postmarkapp.com>” would be good under limited circumstances if the replies are going straight to John Doe. In most cases, though, this makes it more difficult for the recipient to associate the email with the product.
  • “John from Postmark <support@postmarkapp.com>” can be a good mix between personalization and keeping the product name in there if used judiciously.

Alternatively, for things like comment notifications or emails that aren’t account-related, the product name is almost always best:

  • “Postmark <notifications@postmarkapp.com>”
  • “Postmark <alerts@postmarkapp.com”>

Looking through my own inbox, here’s a few non-examples I’ve found for names used by prominent companies with the exact capitalization and punctuation specified below. This is exactly what showed up in my inbox representing these companies:

  • “noreply”
  • “NoReply”
  • “info”
  • “support”
  • “billing”
  • “sales”
  • “alert”
  • “Alerts”
  • “service”
  • “member”
  • “service@paypal.com”
  • “marketing@fwsymphony.org.” (Yes, with the trailing ‘.’)
  • “auto-confirm@amazon.com” and “order-update@amazon.com”

In some cases, these companies may be sending from legacy systems or tools that aren’t as easily configurable, but for most of these cases, it’s easily fixable once you see the problem. And for every terrible name like these, there’s just as many that are poorly named and don’t represent the sender well. So be mindful of your sender name and email address and ensure that it’s conveying helpful information to your recipients.

One last factor to consider is setting up avatars for your generic email addresses. Depending on the service you use, you can setup default avatars for your application’s email addresses so that users of some applications will see application avatars instead of the generic default avatar for their mail client. In some cases this means setting up a social profile, while in others it may simply be a matter of configuring your account or setting up a Gravatar account for the email addresses you use to send emails. One thing to keep in mind here is that even if you have an avatar set up, it could be outdated. So make sure to check up on it regularly to make sure that it’s still an accurate representation of you or your business.

Subject and pre-header #

Subjects are tricky because email clients will only display a limited number of characters. You want them to be useful and relevant, but you can’t get too wordy. Fifty characters or fewer is a good guideline for the length. With transactional emails, simple and direct wins out over cute and catchy. That’s not to say that your subjects can’t have personality, but short and meaningful subjects should always be the first priority. If you can add some personality without sacrificing the core of the subject, then feel free to have some fun. If all else fails, and you must have a long subject, try to include the most meaningful information at the beginning.

While not always possible, a good goal is to try to convey all of the relevant information in your email’s subject so that the recipient doesn’t even need to open the email. This can potentially hurt engagement rates, but if you’re putting customer needs first, it can be a win for their experience. For example, a shipping notification could say “Your order is shipping Tuesday, January 1st.” They could then open the email for more information if they need it, but they wouldn’t have to unless they wanted to. The downside to this approach is that if users never open a specific type of email, it could lower the perceived engagement and affect deliverability. Our feeling, however, is that if you’re putting the recipient’s needs first, it’s going to be a good decision.

Another subtle consideration is to design subjects that enable relevant filtering by customers. For example, if all of your emails come from “notifications@example.com,” then users can’t filter their emails based on the from address. Instead, they’ll have to filter based on keywords in the subject or body. In that case, it can be very helpful to include relevant keywords that enable filtering.

You can also safely push some information to a pre-header if you can’t fit all of your key information in the subject. If you’re not familiar with a  pre-header, it’s a way of conveying meaningful content at the beginning of an email so that the email client’s preview area includes useful content instead of generic content from the beginning of the email.

To be fair, this next example is from a while back, but due to the lack of a pre-header, good subject, or from address, all of Amazon’s order emails looked the same. And to make it worse, the lack of a pre-header meant that Gmail uses the alternate text for the logo image and wrote “Amazon.com Logo” at the beginning of the email. This makes scanning emails impossible, and the recipient is forced to open each message individually. 


Screenshot of emails from Amazon with "Amazon.com Logo" as the initial content in the preview.
Without a pre-header, the previews for these messages provide no useful information to readers.

To, Cc, and BCC #

It may be tempting to simply include all recipients in the To field of your email, but depending on the context, it may make more sense to put the primary recipients in the To field and other recipients or followers in the Cc field. Just like the subject and from address, recipients can also use the To and Cc fields to filter and organize their emails as well. 

For example, some users may want to emphasize emails when their address is in the To field, but they may want to consider emails where they’re Cc’d to have lower priority. By being selective about whether users’ email addresses are in the To or CC field, you can proactively help them organize their email.

Email authentication and markup #

Since all transactional emails are important, you never want to skimp on anything that can improve your delivery rates or protect your brand from email security issues. This is where standards like SPFDKIM, and DMARC come in. By setting these up, you’re sending additional trust signals to email inbox providers, protecting your domain from being spoofed, and building a reputation for your domain to ensure high delivery in the future.

In the case of Gmail, they have also started using SPF and DKIM to inform what kind of avatar to display for a given email address. If you haven’t set up SPF or DKIM for your domain, emails from that domain will show up with a question mark in place of a profile image. At Postmark we automatically take care of SPF, so no additional setup is required to start using it.

The domain you use to send your emails is almost as important as the authentication. As inbox providers become more sophisticated, they’re increasingly tying reputation to domains rather than just IP addresses. The primary reason for this is that it’s more difficult to replace your domain than an IP address. However, this can also mean that your transactional emails and marketing emails can be sharing reputation if they’re both coming from the same domain.

We recently helped a customer who was seeing delivery issues with their transactional emails. Because they were using the same domain to send both transactional and marketing emails, their transactional emails were suffering from the lower quality reputation of the domain caused by their marketing emails.

Setup Gmail Inbox Actions #

You may or may not have noticed, but some emails in your Gmail inbox will display button links or rich displays of meta data like flight information or restaurant reservations. These make life easier for your recipients by making your emails even more useful, and they’re called Gmail Inbox Actions. Inbox Actions are reserved exclusively for transactional emails, and they’re a great way to help your recipients get through their inbox faster.

A screenshot of some sample Gmail Inbox Actions.
Gmail Inbox Actions are a great way to improve the recipient's experience with your transactional emails.

Inbox Actions are based on open standards, but so far, Gmail is the most well-known mail client to embrace them. Your application can set these up as well. All you have to do is setup SPF or DKIM (We recommend using both, along with a custom Return-Path and DMARC as well), add some meta data markup to the content of your emails, and get whitelisted by Gmail, which takes about a week. We’ve written a detailed guide to help with the process of setting up Inbox Actions for your transactional emails.

You can setup one-click RSVP’s, simple direct links to more information, or one-click actions like adding an item to your wishlist as well as highlights that show orders, flights, and other reservations right in the recipient’s inbox.

Design, content, and formatting #

Accepting replies from customers #

Designing and building emails is a tricky process. They’re difficult to test. Your team doesn’t see or interact with them regularly because they’re power users. From a design standpoint, emails are incredibly limiting, and, as a result, somewhat boring and tedious work for most designers. The result is that transactional emails are frequently an afterthought for software, but they shouldn’t be.

Emails are one of the key touchpoints for anyone that uses your software. Welcome emails provide an opportunity to make a good first impression. Subsequent notifications can either be annoying and overwhelming or helpful. Email is a different medium, so it’s even more important to ensure a seamless transition between emails and the application’s interface. Eugene wrote a detailed article that helps illustrate the benefit of putting a lot of care into designing the email experience for your customers.

One of the best ways to make email first-class citizens in your application is to gracefully handle replies. In the case of account-related emails, this means routing customer replies to your support team. In the case of activity or event notifications like comments, this means setting up your application to accept inbound replies from customers and process them into your application.

Mobile. Mobile. Mobile. #

While every application is different, and you should definitely review your stats, chances are pretty good that a large number of customers are opening your emails on their mobile devices. This means that with few exceptions, all of your transactional emails need to gracefully accommodate mobile email clients. Fortunately, most of today’s popular mobile email clients support media queries, and you can modify your emails to look great on mobile.

Personalize all the things #

One of the greatest things about transactional email is that you should have a plethora of information about your recipients so that you can customize their email messages just for them. On one level, this could be as simple as using their name where appropriate. It’s small, but a receipt with “Thanks, Jane!” (using the user’s name, of course) is the type of touch that makes a difference.

For another example, if you know the recipient’s time zone, you can tweak the time stamps on notifications to ensure that they’re displayed in that user’s time zone. Alternatively, if someone has yet to even login or hasn’t actually done anything in the application, skip sending them a blank activity summary or send them a “Can we help?” email instead. By taking advantage of deeper understanding of your recipients, emails can be smarter and more useful for recipients.

Include well-formatted plain text versions #

With transactional emails you always want to include a plain text version. Including a plain text version is good for both accessibility and delivery. Just as important, though, when you create the text version, you want to make sure that the plain text content doesn’t vary too much from the HTML content. Including a plain text equivalent can help reduce false positives in spam filters, but if the content varies too much from the HTML version, that can be a red flag for some spam filters.

Since you’re taking the time to create a plain text equivalent of your emails, you might as well spend a few moments ensuring that it’s formatted for easy reading. While they should be used with discretion, the following tips can help with formatting text in your emails.

  1. Keep important links short and on their own lines. When links are long enough to wrap to a new line, they can break and lead to unintended consequences.
  2. Use series of hyphens or equal signs to create horizontal dividers to visually separate content like headings.
  3. Break content up into paragraphs to increase readability.

Be careful with dates and times #

Many emails will include dates and times, and while it’s common to include shorthand versions for relative times in software, this doesn’t work well with emails. For example, saying “a few moments ago” or “today” in your web application will work, but with emails, there’s no guarantee about when someone will read something. So, if they read that email tomorrow “a few moments ago” will no longer be accurate.

This can be particularly relevant with promotional emails about short-term sales. Relative periods like “this week only” can be used in the promotional text, but make sure that an absolute version is included as well. For example, “until Friday, January 1st at noon”

Clearly identify the source/reason the recipient is receiving the email #

While the reason for many transactional emails is obvious, not all of your emails will be entirely obvious to the recipient. This can be especially true if the recipient hasn’t received many emails from you. This can be doubly true when the name of the company on the invoice doesn’t match the product name.

With key account emails, if there’s a chance that the recipient won’t immediately know the context around the email, make sure to include any relevant information to help ensure that the recipient isn’t confused by the email. Proactively include answers to questions that they might have. Where did this email originate from? What product? What company? Why did I receive this email? Who signed up for this account? 

For example, have you ever signed up for a service and then three months later received an email that your “Widget XYZ” account was going to be closed due to inactivity? Or maybe some random application for which you created a trial account has updated their privacy policy? If you have received an email like this, chances are that your first question is “What the heck is Widget XYZ?” When sending emails like this, it’s easy to forget that the recipient may have forgotten about your business. If it’s been a while, re-introduce the company or product and include a link to the relevant site so they can reacquaint themselves.

Another common example that can cause confusion is invitations to applications. These are particularly tricky because they can be eerily similar to phishing scams. When a recipient receives an invitation to an application that they aren’t familiar with, they might second-guess whether it’s legitimate. You can help avoid this by including information around who invited them, what the application does, and any other relevant information to help them understand why they were invited.

Easy unsubscribing or notification management where relevant #

Even though transactional emails are not required to have unsubscribe links, it’s still useful to enable recipients to easily manage their notification preferences or easily unsubscribe from some notifications. For example, you wouldn’t want an “Unsubscribe” link on your receipt emails, but you would probably want to enable one-click unsubscribing from your onboarding lifecycle emails. 

This can become difficult when your product has multiple different categories of emails. For instance, you may have onboarding emails that are helpful but not necessary, promotional newsletters, and account notifications. You would probably want one-click unsubscribe links with specific text like “Unsubscribe from onboarding emails” or “Unsubscribe from promotional emails” on the first types. but you probably don’t want people to unsubscribe from billing notifications.

In cases where you don’t need an unsubscribe link, you may still want to offer users a convenient link to manage their notification preferences. Ideally, they could have an option to unsubscribe from specific notifications with a single click without logging in, but that requires some additional engineering.

Adjust email design based on frequency and context #

Adjust email content based on frequency and context of the emails. For example, if your users receive dozens of comment notifications every day, those notifications don’t need heavy branding and additional links in a header or footer. In those emails, the recipients are significantly more interested in the content than in branding or copyright elements. By removing or downplaying unnecessary elements of the email, you can give them a more streamlined experience.

In the case of account-related transactional emails, though, you probably do want to include branding and corporate information in a footer. Alternatively, you can adjust the content in your footers based on the context of the email. For example, while a receipt may include corporate information, you might also want a space in your email footers for specifying the reason that someone is receiving the email and including a link to manage their notification preferences.

Another consideration here is to design your more frequent notifications in a way that they can be sent as a batch notification. For example, instead of sending 10 emails in 5 minutes where each is notifying the user of a new comment, collect the notifications in 5-minute windows and send one email that references the 10 individual comments so users receive fewer emails.

Monitor delivery and open rates #

While it’s common to closely monitor results for email marketing campaigns, it’s less common for teams to monitor their numbers on transactional emails, but transactional emails are just as susceptible to problems. We’ve seen cases where including a company’s phone numbers led to any emails with that phone number going straight to the spam folder. 

So, it’s entirely possible that a subset of your emails contain content that may affect their delivery, and unless a customer notices the missing emails and lets you know, you could be quietly losing emails no matter how great your email provider is. It’s important to frequently review your delivery statistics for each type of transactional email you send and ensure that none of them are encountering delivery issues.

For example, with Postmark, you can tag your emails. Then, you can review all of your password reset emails or your receipt emails to see their delivery and open rates right in Postmark. If you notice some unusual behavior in the graphs, you can dig deeper to see if you recently made changes that could be affecting delivery.

Screenshot of Postmark's reporting filtered by tag to show delivery, bounce, and open stats for a specific type of email.
Postmark lets you filter reports over time and by tag so you can see the performance of each type of email to see if there are problems.

Conclusion #

Transactional email is complex, and for most teams, it’s a tedious afterthought rather than a first-class citizen. By placing more importance on your transactional emails and taking care to ensure you’re giving your recipients the best possible experience, you have an opportunity to stand out from the crowd, build brand loyalty, and even improve deliverability of your emails as more customers interact with your emails more frequently.

Checklist #

From and reply-to addresses #

  • For the From name, use the product or company name that will be most familiar to the recipient
  • Keep the names concise so they aren’t cutoff in previews
  • Avoid using a ‘no-reply’ address for the From address
  • Use human-friendly and readable names and email addresses for the “From” values
  • Consider different addresses for different types of notifications to help recipients filter emails
  • Setup avatars with Google and Gravatar for the From addresses you use
  • Double check that your avatars are still a good representation of you or your business.

Subject and pre-header #

  • Communicate all of the key information in the subject.
  • Keep subject length around 50 characters or fewer
  • Avoid wasting space with redundant information like date or sender in the subject
  • Try to avoid “[Product name]” or similar constructions in the subject. They waste space, and the “From” information should signal this. If you need to use these to help customers filter, include them at the end where they’re less likely to interfere.
  • Design subjects for easy keyword filtering to help recipients organize their inbox
  • Use a pre-header to convey useful information that won’t fit in the subject.

Recipients #

  • Use To for primary recipients and Cc for secondary recipients to provider users more filtering options

Email authentication and domains #

  • Set up SPF
  • Set up DKIM
  • Set up a custom Return-Path
  • Set up DMARC
  • Use separate domains or subdomains for transactional and marketing emails to isolate any negative reputation from one affecting the other

Setup Gmail Inbox Actions #

  • Is the email for an event that could benefit from the RSVP Action?
  • Is the email for a product service that could benefit from the Review Action?
  • Is the email for a single interaction such that it could benefit from a One-Click Action?
  • Does the primary content of the email relate to a single ULR so that it could benefit from a Go-To Action?

Accepting replies from customers #

  • Use a valid from or reply-to so that custom replies go to a monitored inbox
  • Where relevant, setup inbound processing to automatically handle customer replies and process them into your application

Mobile. Mobile. Mobile. #

  • Test extensively on the mobile devices used by your audience (This can be done with a device testing lab or a tool like Litmus)
  • Use media queries to ensure your emails look great on smaller screens

Personalize all the things. #

  • Use the recipient’s name when relevant
  • Tweak emails to ensure they are relevant to the user’s context. ex. Skip sending an empty activity summary to someone or send something more useful in its place
  • Customize the dates and times with the user’s time zone just like you would in the application

Include well-formatted plain text versions #

  • Include a plain text equivalent
  • Put links on their own line indented
  • Use dividers with headers
  • Break the text up with paragraphs

Be careful with dates and times #

  • Use absolute dates and times
  • If dates and times are redundant with the email timestamp consider whether they’re necessary

Clearly identify the source/reason the recipient is receiving the email #

  • Include key contextual information around infrequent account-related emails
  • Re-introduce your company or product if an email is going to someone who may have forgotten what your product or company does.
  • If someone else initiated the action on behalf of the recipient, include information about the initiating individual.

Easy unsubscribing or notification management where relevant #

  • Consider adding one-click unsubscribing to non-essential emails
  • Consider adding a convenient link to manage notification preferences on other emails

Adjust email design based on frequency and context #

  • Can the email design be streamlined to let the content standout if it’s a frequent notification and the recipient will recognize the brand?
  • Could the footer or header of the email be adjusted to include additional information or links that would help the recipient specifically in the context of this email?
  • Can your more frequent emails be designed to be sent as a batch?

Monitor delivery and open rates #

  • Pay attention to delivery and open rates for groups of email
  • Compare open and bounce rates over time to see if an update may have affected delivery or open rates
  • Use open rates to iterate and improve your email subjects

Still have questions?

  • Dana Chaby Dana
  • Marek Loder Marek

Ask us anything! We’re eager to help you with any problem or question you have…