首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用签名跟踪每个电子邮件(而不是活动)打开的电子邮件( GA )

使用签名跟踪每个电子邮件(而不是活动)打开的电子邮件( GA )
EN

Stack Overflow用户
提问于 2015-03-13 16:32:01
回答 3查看 2.1K关注 0票数 1

我想跟踪电子邮件打开与谷歌分析使用电子邮件中的签名。有相当多的文章在这方面(例如Tracking email opens in Google Analytics),但据我所知,这些文章只提供了每个活动的一般开放费率。例如,如果我发送100封电子邮件,它将向我发送已打开的电子邮件的%。

我想知道的是,到底是什么邮件被打开了。假设我发送了4封电子邮件,我想知道这4封电子邮件中哪一封是打开的。由于所有示例都使用一般的GA活动,因此这些解决方案中没有涵盖这一点(对吗?)。

我猜在某种程度上,在添加签名时,它必须传递一个唯一的ID和像素。可能是通过Scripts API?对如何做到这一点有什么想法吗?我不需要通过签名,我只是觉得这是最简单的。如果在创建或发送电子邮件时有其他方法可以做到这一点,那么这也会非常有帮助。

编辑:对解决方案的要求是我安装或连接它一次,然后它将自动添加此唯一ID (或在添加签名时)。

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

编辑3:为了回应竞选活动的建议:我的想法是,当我从GMail发送一封普通的电子邮件时,这个跟踪器应该很容易添加。因此,像SendGrid这样的解决方案是不合适的,因为我将不得不离开我的正常电子邮件客户端。

EN

回答 3

Stack Overflow用户

发布于 2015-03-24 13:25:53

我知道这不是完整的答案,但你的问题提到了Google Apps Scripts作为一种可能的解决方法。如果你想创建一个信标,将注册到谷歌分析,这里有一个函数可以做到这一点。只需确保更新函数顶部的参数即可。

代码语言:javascript
复制
/********************************
* 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,当放置在一个图像标签中时,它将注册到Google Analytics。

代码语言:javascript
复制
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。

谢谢,

拉斯

票数 1
EN

Stack Overflow用户

发布于 2015-04-14 16:33:05

http://dyn.com/blog/tracking-email-opens-via-google-analytics/

使用上面的技术,你可以向每个用户应用一个唯一的userID (显然是不可识别的),然后在你发送了4封不同的电子邮件并想知道打开了哪封邮件的情况下,你可以修改以下内容:

代码语言:javascript
复制
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封电子邮件,我打开其中一封的唯一原因就是找到取消订阅的链接。

票数 1
EN

Stack Overflow用户

发布于 2015-03-21 03:44:42

是的,你可以做到这一点,你可以重新发明轮子,黑进谷歌分析来跟踪一些它不是设计来做的事情。花很多时间尝试将其集成到您的电子邮件发送中,并确保它在每个电子邮件中输出一个具有唯一标识符的gif,并使用Measurement Protocol将其发送到GA。然后,您所要做的就是使用GA的API从GA中提取这些数据,并将唯一标识符调和回您那端的电子邮件,然后就可以了。

无论是还是,你都不能重复发明轮子。使用可用于电子邮件营销的几种工具中的一种,这些工具中包含这些功能。

SendGridMailChimp是不错的选择。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29027807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档