Transactional Email Services Review for Application Developers: Mandrill vs. SendGrid
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.
When evaluating cloud-based transactional email delivery solutions, the features below will be important considerations for most app developers.
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.
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.
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).
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.
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.
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.