繁体   English   中英

使用签名跟踪每封电子邮件(非广告系列)使用Google Analytics(分析)打开的电子邮件

[英]Using signature to track email open with GA per email (not campaign)

我想使用电子邮件中的签名跟踪Google Analytics(分析)打开的电子邮件。 有很多关于此的文章(例如, 在Google Analytics(分析 )中打开跟踪电子邮件 ),但是据我了解,这些文章只能提供每个广告系列的一般打开率。 例如,如果我发送100封电子邮件,它将向我发送已打开电子邮件的百分比。

我想知道的是,已经打开了确切的电子邮件。 假设我发送了4封电子邮件,我想知道这4封电子邮件中的哪一封已打开。 由于所有示例均使用一般的GA活动,因此这些解决方案未涵盖此问题(对吗?)。

我想以某种方式,在添加签名时,必须将唯一的ID与像素一起传递。 可能通过Scripts API? 关于如何做到这一点的任何想法? 我不必经过签名,我只是觉得这很简单。 如果在创建或发送电子邮件时还有其他方法可以这样做,那么这也将非常有帮助。

编辑:解决方案的要求是我安装或连接一次,然后从那里开始自动添加此唯一ID(或添加签名时)。

编辑2:我想出了一个潜在的解决方案,但是我不确定这是最佳实践。 我可以使用Google Apps Admin SDK为用户设置签名,其中包括唯一的跟踪代码。 一旦发送包含此跟踪代码的电子邮件,我就可以使用新的跟踪代码再次更新签名。 到目前为止,这是我想出的最好的。 也许它激发了其他一些想法。

编辑3:回应竞选建议:这个想法是,当我从GMail发送普通电子邮件时,该跟踪器应该易于添加。 因此,像SendGrid这样的解决方案不适合,因为我不得不将其留给普通的电子邮件客户端使用。

我知道这不是完整的答案,但是您的问题提到Google Apps脚本是一种可能的解决方法。 如果您想创建一个将在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脚本运行该脚本,它将返回一个URL,该URL放置在图像标签中后将在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批次的电子邮件,每个批次都有自己的ID。

谢谢,
拉斯

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封电子邮件,那么我打开一个电子邮件的唯一原因就是找到取消订阅链接。

是的,您可以做到这一点,也可以重新发明轮子并破解Google Analytics(分析)以跟踪它并非旨在执行的操作。 花费大量时间尝试将其集成到您的电子邮件发送中,并确保将其输出的gif输出到具有唯一标识符的每封电子邮件中,然后使用Measurement Protocol将其发送到GA。 然后,您所需要做的就是使用他们的API从GA中提取这些数据,然后将唯一标识符重新协调到最终的电子邮件中。

您不能重新发明轮子。 使用可用于电子邮件营销的几种工具之一,这些工具已纳入其中。

SendGridMailChimp是开始研究的好选择。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM