Message-level Email Tracking and More!

Written by Mailgun Team

Categories: Email DIY

1 minute read time

Talk about a throwback; this was posted on August 29, 2011!

Good news everyone! Mailgun is migrating to a new and more powerful email pipeline, please expect a stream of exciting announcements very soon.

Message-level Tracking

For starters, we have added the option to fune-tune message tracking. Now Mailgun users can enable/disable tracking on a per-message level by adding a special X-Mailgun-Track MIME header. Set it to “yes” if you want this message to be tracked, or “no” if you wish to turn tracking off. Message level setting overrides domain-level tracking. Enjoy!

Here’s an example of how a raw MIME message looks with a message-level tracking enabled:

To: The World  
From: Mailgunners  
Subject: Message-level tracking demo  
X-Mailgun-Track: yes

Custom User Variables

When sending messages, you can now submit a JSON-dictionary of user-defined key-value pairs. Those variables will be passed back to your web application via Mailgun webhooks. This allows Mailgun users to build more sophisticated and flexible analytics on their end. Read more about webhooks and custom variables here.

Note that MIME allows you to have multiple headers with the same name, in that case Mailgun will merge your dictionaries as shown in this example:

To: The World  
From: Mailgunners  
Subject: User-defined variables demo  
X-Mailgun-Variables: {"first_name": "John", "last_name": "Smith"}  
X-Mailgun-Variables: {"my_message_id": 123}

When one of tracked events happens with message, Mailgun will post the following parameters via HTTP POST into your app: firstname, lastname and mymessageid.

Modified on: March 13, 2019

Stay up-to-date with our blog & new email resources

We'll let you know when we add new email resources and blog posts. We promise not to spam you.