Track Gmail Opens with Google Analytics and Apps Script
This Google Script inserts the Google Analytics code in your outgoing email messages to help you track delivery and opens. When the email is opened, the tracking image __utm.gif
- a 1x1 pixels transparent GIF file - is downloaded on the visitor’s computer and the visit gets logged as an event in Google Analytics.
You can use this technique to track email newsletters and other platforms where the standard JavaScript based Analytics code cannot be added.
Google Analytics tracking URL supports several parameters but this Apps Script function only uses only the essential ones that are required for logging an event (utmt is set as event and not page which is the default) into Google Analytics.
Also see: Tracking Email Clicks with Analytics
function getTrackingGIF(account, email, subject) {
var imgURL =
'https://ssl.google-analytics.com/collect?' +
'v=1&t=event' +
'&tid=' +
account +
'&z=' +
Math.round(new Date().getTime() / 1000).toString() +
'&cid=' +
Utilities.getUuid() +
'&ec=' +
encodeURIComponent('Email Open') +
'&ea=' +
encodeURIComponent(subject.replace(/'/g, '')) +
'&el=' +
encodeURIComponent(email);
return "<img src='" + imgURL + "' width='1' height='1'/>";
}
function sendMail(draftId, analyticsID) {
var draft = GmailApp.getMessageById(draftId);
var body = draft.getBody();
body += getTrackingGIF(analyticsID, draft.getTo(), draft.getSubject());
GmailApp.sendEmail(draft.getTo(), draft.getSubject(), email, {
htmlBody: email,
cc: draft.getCc(),
bcc: draft.getBcc(),
});
}
Amit Agarwal
Google Developer Expert, Google Cloud Champion
Amit Agarwal is a Google Developer Expert in Google Workspace and Google Apps Script. He holds an engineering degree in Computer Science (I.I.T.) and is the first professional blogger in India.
Amit has developed several popular Google add-ons including Mail Merge for Gmail and Document Studio. Read more on Lifehacker and YourStory