Product
Mailgun campaign analytics: Taking analytics beyond bulk email
Using our analytics is straightforward. Just create a Campaign ID through the Control Panel or API and tag your emails with that ID.
PUBLISHED ON
UPDATE: We've made some meaty, awesome changes to analytics, and this post is pretty useless. But we've kept it up because we believe in iteration and showing off our humble beginnings. Here's a more relevant post about Mailgun's new and improved analytics.
Good news everyone!
Mailgunners just rolled out the most flexible Email Analytics product ever. This new shiny weapon gives you analytics normally reserved for those expensive email marketing services at a fraction of the cost. You don’t need that monkey on your back anymore!
Using it is straightforward. Just create a Campaign ID through the Control Panel or API and tag your emails with that ID.
Creating a new Campaign with an ID:
Sending a single message tagged with the campaign:
We then start tracking and storing events down to the recipient level and roll up that data to provide insightful reports.
Let’s say you wanted to test the best day to send an upgrade offer to your users…just create a campaign for each day of the week.
For each Campaign ID, Mailgun will give you…
An overview for all the events that occurred with respect to the campaign:

A breakdown of the link performance and recipient domain performance to see which links recipients are clicking on and how the different recipient domains perform:

A timeline of the events during the day so you can see when recipients are interacting with your email (which you can use in conjunction with our delivery scheduling):

And an overview of geographic open and click performance:

Which you can drill down into for more detail:

Also, you can compare analytics across campaigns. So let’s see which day was the best to send that upgrade offer:

Looks like Thursday is the winner…
But what about all of those lost password emails we send out? With Mailgun, you can get the same insights with your transactional emails since a campaign is just an ID you tag your emails with.

As expected, the open and clicks on the lost password emails are through the roof. What if we added a subtle upgrade offer and link to the pricing page on those emails?

Transactional emails FTW! A 9% CTR to the pricing page with our lost password emails.
Mailgun Campaign Analytics are ideal for creating and testing user lifecycle and drip campaigns tied to certain usage patterns in your app.
Paul Stamatiou had a great post on the importance of this and a startup idea for user retention as a service. With Mailgun you could build this in a weekend.
What’s stopping you?
Can I get the data programmatically?
Absolutely. We have a robust API that we’ll devote a separate post to. In the meantime you can check out the Campaigns API reference.
But what about traditional bulk email campaigns?
They are supported too! If you wish to do a more traditional mass campaigns at a fraction of the cost, simply do the following:
Create a mailing list, let’s say “chicago@mycompany.com”
Add your recipients to it using our APIs
Send a message tagged with a campaign ID to “chicago@mycompany.com”
Profit!
Popular posts

Build Laravel 10 email authentication with Mailgun and Digital Ocean
When it was first released, Laravel version 5.7 added a new capability to verify user’s emails. If you’ve ever run php artisan make:auth within a Laravel app you’ll know the...
Read more

Sending email using the Mailgun PHP API
It’s been a while since the Mailgun PHP SDK came around, and we’ve seen lots of changes: new functionalities, new integrations built on top, new API endpoints…yet the core of PHP...
Read more

Here’s everything you need to know about DNS blocklists
The word “blocklist” can almost seem like something out of a movie – a little dramatic, silly, and a little unreal. Unfortunately, in the real world, blocklists are definitely something you...
Read more