For application developers the days of an in-house MTA and operational team are all but over, unless an organization is sending hundreds of millions of emails per month. The overhead of staff, servers, and application maintenance can become cumbersome if not unbearable.
Transactional email products have now popped up to provide this service in the cloud. They can alleviate all the headaches of email delivery and reporting, while preserving the flexibility of list management, content management and creative testing.
There are now several transactional email services to choose from, including Amazon Web Services, SendGrid, MailJet, and Mandrill. All of which allow for a high-powered and affordable email infrastructure. This review, however, only takes a deep dive into MailChimp’s Mandrill and SendGrid, as both services are designed for application developers rather than email marketers.
Features
When evaluating cloud-based transactional email delivery solutions, the features below will be important considerations for most app developers.
API
For sending mail, Mandrill seems to put emphasis on their HTTP API, while SendGrid prefers its users to use their SMTP API. Both formats work well, however in some cases, when sending complex content with various substitutions the SMTP API method can become problematic. In addition, the SMTP API is a bit restrictive given that email headers can only be so large.
Mandrill’s API documentation is very clear which is extremely important when building applications. SendGrid’s API documentation, while not as clear, is plentiful.
Both SendGrid and Mandrill provide API calls to retrieve information on blocked emails, spam complaints, and other delivery statistics. For these calls, SendGrid allows for more filtering criteria than Mandrill. However, Mandrill includes API calls such as “most-clicked URL’s” as well as “webhook” management, which SendGrid does not.
Content Flexibility & Personalization
In this area, Mandrill excels. For current, or past, MailChimp users this feature-set makes the decision of using Mandrill a non-issue.
The content used for mail jobs contains the same content formatting as a MailChimp template. This allows for a high level of flexibility and much more powerful merging than other products. SendGrid does have substitution values in the content, however its conditional content, or “sections”, structure is currently lacking. For example, the conditional content sections must be provided separately from the main content. This is very confusing for content creation and makes the creation of content editing interfaces more difficult.
Many cloud-based transactional email systems provide full content management areas where users can create and manage their content templates. However, in most cases, when developing email-based applications, the content is created in the application and sent dynamically. Mandrill’s use of the flexible MailChimp merge language, paired with API access to template management, gives the app builder much-needed flexibility.
Deliverability
Both SendGrid and Mandrill provide reputation scores to their users, which is great for monitoring. Both provide white-labeling sender domains, however Mandrill allows for multiple sender domains operating simultaneously within a single account. In addition, Mandrill’s interface facilitates the setup of DKIM and SPF for these domains.
Webhook Reporting
With any implementation of these email solutions into an application, step 1 is sending the email. Step 2 is the collection of email activity from these mailings. Both SendGrid and Mandrill provide this through the use of an Event API or “webhooks”. When activity occurs, the application’s server is called with the activity that has occurred. Events include deliveries, bounces, opens, clicks, and spam complaints. SendGrid does include additional events such as “processed” and “unsubscribes”. In our experience, the “processed” parameter is not very common, but it does provide more insight into the lifecycle of the message.
This reporting architecture results in a high rate of HTTP traffic. The formatting of the webhook data is very important to minimize the resources on the application’s server. Mandrill’s formatting of this message is more efficient than SendGrid. The data from SendGrid contains a lot of repeating data values but recently added the ability to send activity data in batch (disabled by default).
Extras
Both transactional email providers cover the standard features mentioned above in varying ways. However some providers provide some additional functionality.
Mandrill provides a mobile application allowing an application owner to keep a close eye on email activity and reputation. While this is more geared towards power users it does provide value-add.
SendGrid provides a feature to automatically add an unsubscribe link to every email. While the user experience is not very customizable, it alleviates the need for the application to have a separate unsubscribe process. The optout can simply be handled along with other email activity events passed by the webhook.
Both SendGrid and Mandrill provide code wrappers for their API’s for the most commonly used application languages.
Pricing
For new customers, both SendGrid and Mandrill offer similar price points and volume discounts. However, for existing MailChimp users, Mandrill can be used at a much lower cost. But the way in which MailChimp’s email credit quota system currently calculates volume/cost makes it difficult for existing customers to accurately estimate their costs, prior to selection.
Takeaway
Both transactional email products provide an extremely powerful set of features. They can simply act as SMTP relays, or through their API’s, replace an entire enterprise email infrastructure. However, given the power and flexibility of its current features, Mandrill appears to be on a solid track with its first release and we expect to see even more great things in the future. We give Mandrill two thumbs up.
And what about Mailjet! You always forget about us ^^
Fancy all in one cloud emailing solution, for both transactional & marketing email. Prices, interface, performance… And Europe based!
Actually Elie, Mailjet was mentioned however we did not review your product. As we decided early on to create this review for the benefit of app developers and few would argue that Mandrill or SendGrid are not designed for (or marketed to) developers.
For sure! And it’s true that it can cause a lack of clarity when one chooses to compare more than 2 services. It can become complicated…
However, I’ve said this because I’ve just realized that people are complaining about certain problems that do not exist with Mailjet. I.e. you don’t have to pay for DKIM / SPF personalization, you can use the newsletter tool with no extra fee, you can manage both transactional & marketing email, you can set up priorities, etc. Therefore, it would be interesting to see more Mailjet VS US products: I’m sure the senders would love it.
We’re beginning to have quite a good traction in the US, so I guess this will come naturally, with time.
Again, thanks for your post, we’re happy whenever someone speaks about email and the new solutions on the market!
Of course, I am going to recommend a product that offers transactional email as part of its basic feature set, 😉 but I was wondering how these programs handle dynamic content.
I hear ya Jim. 🙂
Both products we reviewed can handle dynamic content; SendGrid uses “sections” while Mandrill uses MailChimp’s existing “merge tags” convention.
MessageGears has many of the Transactional features of Mandrill and SendGrid, but we focus on API-based bulk email with rich personalization capabilities. Many of our customers are Marketing Automation providers who use us for the back-end email rendering, delivery, and tracking.
Good analysis, but very incomplete. There are reasons why SendGrid is more than twice the size of MailChimp in terms of total emails sent monthly. SendGrid sends more than 100x more transactional emails than MailChimp. Plus Mandril is still a clunky Beta product. SendGrid has more than 6 APIs, plus they do marketing emails at a fraction of the cost of MailChimp. The comparison is simple, look around, the market has already decided who is better.
Anthony – Thanks for the contrarian perspective. It’s always appreciated here.
Don’t forget about AlphaMail. Client libraries in over 8 languages, highly personalizable template language, NOSMTP (coined). It will blow your socks off! 🙂
Duly noted. Thanks Robin, we’ll check it out.
Mandrill is the buggiest online service we have ever used. The reporting is completely useless. The filters on the left hand side do not work..at all. The interface has a plethora of bugs. It sends mail, I think..but that’s about it. Can’t trust ANY of the stats it provides on open, clicks, etc.. It is easy to not notice this in a limited review, but from a day-to-day use, it is pretty much garbage
Interesting feedback H. We’re seeing quite the opposite here.
“The days of an in-house MTA…team are all but over?” Really? Says who? We are seeing higher demand than ever from senders who understand security, flexibility & reliability are where it’s at when it comes to email delivery. And, these are best provided by an in-house managed email sending infrastructure. Has been so for the past 13 years in our case. Whoops, is that another tweet from a cloud delivery provider disclosing that their system is down?
The gentleman doth protest too much, methinks.
In terms of pricing, Mandrill offers the same $0.1/1000 email as Amazon SES but with tracking and analytics, while SendGrid offers this with their Lite plan that comes with no tracking and analytics. Their Silver Plan that offers tracking and analytics would cost 8 times more.
Looking at using Mandrill to send emails to students enrolled in online technical certification start-up. The goal is to nurture a relationship between student and system-do you think Mandrill is the best way to go or something else?
Mandrill will certainly work but if the volume you’ll be sending is low you can simply use a more traditional deployment tool, like MailChimp, which doesn’t require any configuration.