Litmus released an email analytics service last month (may 2010).
See here: http://litmusapp.com/email-analytics
They boast a very cool "read rate" tracking: they can track normal reads, Skims, and Glanced/Deleted.
How can they track skims and glanced/deleted? This to me seems impossible :)
They also track forwards and prints. Prints are easy (they include a css @media print query with a bg image).
But forwards? I think this might be a combo between subsequent opens and different IPs/reffering URLs. However, this means that if I open my mail and re-read it from another computer, it counts as a forward. Any ideas on this one?
To summarize: Litmus Email Analytics says they can track email reads, skims, glanced/deleted, prints and forwards. How do they do it (skims, glanced/deleted and forwards)?
Tracking code: This is the code. You create a unique code for each list/campaign combination (so that you can track campaigns..) then you put the following html/css code before the tag of your email message.
<style>@media print{ #_t { background-image: url('https://a6.emltrk.com/XX0000XX?p');} } div.OutlookMessageHeader, table.moz-email-headers-table, blockquote #_t { background-image:url('https://a6.emltrk.com/XX0000XX?f') } </style> <div id="_t"></div> <img src="https://a6.emltrk.com/XX0000XX" style="display:none" width="1" height="1" border="0" />
Test results:
With Gmail, print tracking works. Yahoo! somehow fails. Glances/Deleted actually works, I've tested.
Google Analytics provides you with details such as how many visitors came to a page because of a certain email campaign and how long they were on your site after reading your email. This powerful form of data gives you the power to get into the nitty-gritty of what your audience is looking for from your content.
To track emails in Salesforce, you need to first enable Enhanced Email and Email Tracking. Once this is done, you'll be able to track emails that have been sent from Gmail, Salesforce, Email Relay, and Office 365. With Enhanced Email, emails in Salesforce are saved as EmailMessage records instead of Task records.
The code works in the following way:
<style> /* Print stylesheet */ @media print{ #_t { background-image: url('https://a6.emltrk.com/XX0000XX?p'); } } /* Forward stylesheet */ div.OutlookMessageHeader, table.moz-email-headers-table, blockquote #_t { background-image:url('https://a6.emltrk.com/XX0000XX?f') } </style> <!-- Extra DIV --> <div id="_t"></div> <!-- Main Image --> <img src="https://a6.emltrk.com/XX0000XX" style="display:none" width="1" height="1" border="0" />
There is an image that gets loaded when the email is viewed. This counts the "opens" statistic.
There is also an extra div (with the id _t) which is referenced from a stylesheet. The @media print
section applies a background image when the email is being printed. The url of the image has the additional p
attribute, which probably tells Litmus that the email is being printed.
The forward statistic is calculated in a similar manner: a background image is loaded when certain elements are present. Outlook matches the div.OutlookMessageHeader
, something else (looks like Thunderbird perhaps, given the moz
) matches table.moz-email-headers-table
, and everything else matches blockquote #_t
(using the additional DIV again). These elements are created by the email client when the forwarded email is being composed. The image is this time loaded with the f
flag, which tells Litmus to calculate the forward statistic.
These statistics must be taken with a grain of salt, however: most email clients will block images of any kind until the user decides to show them. Most webmail clients will completely strip out any stylesheets, which makes the print and forward statistics irrelevant for clients like Gmail, Hotmail, and Yahoo! Mail.
I hope this makes sense! I haven't quite figured out the glanced/deleted statistic yet. When I do, I'll be sure to let you know.
I think a nice way to track the time someone has the e-mail open is to simulate a very slow connection.
You can simply build a tracking handler which returns the tracking image byte by byte. After every byte flush the response and sleep for a period of time.
If you encounter a stream closed exception the client has closed the e-mail (deleted or changed to another e-mail who knows).
At the time of the exception you know how long the client 'read' the e-mail.
Hope this helps ;-)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With