我想使用电子邮件中的签名跟踪使用Google Analytics的电子邮件。有相当多的文章(例如Tracking email opens in Google Analytics),但据我了解,这些只会提供每个广告系列的一般开放率。例如。如果我发送100封电子邮件,它会向我发送已打开的电子邮件的百分比。
我想知道的是,确切的电子邮件已被打开。假设我发送了4封电子邮件,我想知道这4封电子邮件中的哪一封是打开的。由于所有示例都使用了一般的GA广告系列,因此这些解决方案不包含这些内容(对吗?)。
我想在某种程度上,它必须在添加签名时通过像素传递唯一ID。可能通过Scripts API?关于如何做到这一点的任何想法?我没有必要通过签名,我只是认为这是最简单的。如果在创建或发送电子邮件时还有其他方法可以执行此操作,那么这也非常有用。
编辑: 对解决方案的要求是我安装或连接一次,然后从那里自动添加这个唯一的ID(或添加签名)。
编辑2: 我提出了一个潜在的解决方案,但我不相信这是最佳实践。我可以使用Google Apps Admin SDK为用户设置签名,其中包含唯一的跟踪代码。只要发送包含此跟踪代码的电子邮件,我就可以使用新的跟踪代码再次更新签名。这是迄今为止我提出的最好的。也许它激发了一些其他想法...
编辑3: 针对广告系列建议:我的想法是,当我从GMail发送普通电子邮件时,应该很容易添加此跟踪器。因此,像SendGrid这样的解决方案不合适,因为我会留下我的普通电子邮件客户端。
答案 0 :(得分:1)
我知道这不是完整的答案,但您的问题提到了Google Apps Scripts可能的解决方法。如果您要创建将向Google Analytics注册的信标,则可以使用此功能。只需确保更新函数顶部的参数。
/********************************
* Track in Google Analytics
********************************/
function getBeacon(campaignName) {
var TAG_ID = 'UA-XXXXXXXX-X';
var CAMPAIGN_SOURCE = 'email';
var CAMPAIGN_MEDIUM = 'email';
var CAMPAIGN_NAME = campaignName;
var HOSTNAME = 'www.your-domain.com';
var PAGE = '/email-campaign-page';
var DOMAIN_LINK = 'http://'+HOSTNAME+PAGE;
//Pulled from: http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript
var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g,
function(c) {var r = Math.random()*16|0,v=c=='x'?r:r&0x3|0x8;return v.toString(16);});
var url = 'http://www.google-analytics.com/collect?';
var payload = {
'v':1,'tid':TAG_ID,'cid':uuid,
't':'pageview','cs':CAMPAIGN_SOURCE,'cm':CAMPAIGN_MEDIUM,'cn':CAMPAIGN_NAME,
'dl':DOMAIN_LINK
};
var qs = '';
for(var key in payload) {
qs += key + '=' + encodeURIComponent(payload[key]) + '&';
}
url += qs.substring(0,qs.length-1);
return url;
}
您可以从Google脚本运行该脚本,它会返回一个网址,当它放入图片代码时,会向Google Analytics注册。
function sendEmail() {
var TO = ['user1@email.com','user2@email.com','user3@email.com'];
for(var i in TO) {
var toEmail = TO[i];
var uniqueIdentifier = Utilities.base64EncodeWebSafe(toEmail);
var trackingUrl = getBeacon(uniqueIdentifier);
var htmlBody = '<html><head></head><body>';
htmlBody += 'This is my email! Come to my <a href="http://www.example.com">site</a>!';
htmlBody += '<img src="'+trackingUrl+'" style="display:none;"/>';
htmlBody += '</body></html>';
var options = {
htmlBody : htmlBody,
};
var subject = 'My Email Subject';
MailApp.sendEmail(toEmail, subject, 'You should have an html email reader by now.', options);
}
}
我要注意的一件事是,使用Google Analytics,您不应该在电子邮件地址级别跟踪内容(PII不应该在GA中)。当你说要追踪4封独特的电子邮件时,我认为你的意思是4批电子邮件,每封都有自己的身份证。
谢谢,
拉斯
答案 1 :(得分:1)
http://dyn.com/blog/tracking-email-opens-via-google-analytics/
使用上述技术,您可以为每个用户应用唯一的用户ID(显然是不可识别的),然后在您发送4封不同电子邮件的情况下,想知道哪些已打开,您可以修改以下内容:
cs=newsletter Campaign Source allows segmentation of campaign types
cm=email Campaign Medium could segment social vs. email, etc.
cn=Campaign_Name Campaign Name identifies the campaign to you
所以cn = emailOne / emailTwo / emailThree / emailFour等
另一方面,如果我快速连续发送4封电子邮件,我打开一封电子邮件的唯一原因就是找到取消订阅链接。
答案 2 :(得分:0)
是的,你可以做到这一点,你可以重新发明轮子并破解谷歌分析,以追踪它不想做的事情。花费大量时间尝试将其集成到您的电子邮件发送中,并确保它使用唯一标识符将gif输出到每封电子邮件中,然后使用Measurement Protocol将其发送到GA。然后,您所要做的就是使用他们的API从GA中提取这些数据,并将唯一标识符重新调整回您最后的电子邮件,然后就可以了。
或您无法重新发明轮子。使用可用于电子邮件营销的多种工具之一,其中包含这些功能。