Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email 使用签名跟踪每封电子邮件中GA打开的电子邮件(非活动)_Email_Google Apps Script_Google Analytics_Gmail - Fatal编程技术网

Email 使用签名跟踪每封电子邮件中GA打开的电子邮件(非活动)

Email 使用签名跟踪每封电子邮件中GA打开的电子邮件(非活动),email,google-apps-script,google-analytics,gmail,Email,Google Apps Script,Google Analytics,Gmail,我想跟踪电子邮件与谷歌分析使用电子邮件中的签名打开。关于这方面的文章很多(例如),但据我所知,这些文章只能提供每个活动的一般开放率。例如,如果我发送100封电子邮件,它将向我发送已打开的电子邮件的百分比 我想知道的是,确切的电子邮件已经被打开了。假设我发送了4封电子邮件,我想知道这4封电子邮件中哪封被打开了。由于所有示例都使用一般的GA活动,所以这些解决方案中不包括这一点(对吗?) 我想在某种程度上,它必须在添加签名时传递一个带有像素的唯一ID。可能通过脚本API?关于如何做到这一点有什么想法吗

我想跟踪电子邮件与谷歌分析使用电子邮件中的签名打开。关于这方面的文章很多(例如),但据我所知,这些文章只能提供每个活动的一般开放率。例如,如果我发送100封电子邮件,它将向我发送已打开的电子邮件的百分比

我想知道的是,确切的电子邮件已经被打开了。假设我发送了4封电子邮件,我想知道这4封电子邮件中哪封被打开了。由于所有示例都使用一般的GA活动,所以这些解决方案中不包括这一点(对吗?)

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

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

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

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

是的,你可以做到这一点,你可以重新发明轮子,破解谷歌分析来跟踪它原本不打算做的事情。花大量时间尝试将其集成到您的电子邮件发送中,并确保它在每封电子邮件中输出一个具有唯一标识符的gif,然后使用。然后,您所要做的就是使用GA的API从GA中提取这些数据,并将唯一标识符与您端的电子邮件进行核对,然后就可以了

你不能重新发明轮子。使用电子邮件营销可用的几个工具中的一个,这些工具具有这些功能


这些都是很好的选择。

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

/********************************
* 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;
}
你可以从谷歌脚本运行它,它将返回一个url,当放置在图像标签中时,将向谷歌分析注册

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);
  }
}
函数sendmail(){ var TO=['user1@email.com','user2@email.com','user3@email.com']; for(var i输入至){ var toEmail=TO[i]; var uniqueIdentifier=Utilities.base64EncodeWebSafe(toEmail); var trackingUrl=getBeacon(唯一标识符); var htmlBody=''; htmlBody+=“这是我的电子邮件!请到我的邮箱!”; htmlBody+=''; htmlBody+=''; 变量选项={ htmlBody:htmlBody,    }; var subject='我的电子邮件主题'; sendmail(toEmail,主题为“您现在应该有一个html电子邮件阅读器”,选项); } } 我要注意的一件事是,使用Google Analytics,您不应该在电子邮件地址级别跟踪内容(PII不应该在GA中)。当你说你想跟踪4封独特的电子邮件时,我想你指的是4批电子邮件,每批都有自己的id

谢谢,
俄罗斯统计局

使用上述技术,您可以对每个用户应用一个唯一的用户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封电子邮件,我打开其中一封的唯一原因就是找到“取消订阅”链接。

是的,我研究过这些解决方案,但它们只提供活动级别的统计数据。我需要的是每封邮件的统计数据,这意味着每封邮件都应该有一个唯一的跟踪器。此外,它还必须处理通过GMail发送的电子邮件。据我所知,像SendGrid和MailChimp这样的服务是没有选择的。只是要明确一点:我们的想法是将此功能作为我们为用户提供的服务包的一部分提供。因此,我不需要修改发送电子邮件的方法,但对于任何GMail帐户都需要这样做。好的,我还添加了在GAThanks Eduardo中跟踪这一点所需的步骤。我知道这将如何工作,但电子邮件如何获得唯一标识符?例如,如果我在签名中添加代码,并希望在每封电子邮件中获得开放信息,我必须在每次发送电子邮件时更改其中一个utm参数,以确保其唯一性,对吗?我正在寻找的是一种自动完成这项工作的方法。如果我错了,请纠正我。您可以通过事件Webhook从SendGrid获取每封电子邮件的实时事件,这将允许您对每封电子邮件进行统计。更多信息:谢谢你,罗斯。我实际上是指独特的电子邮件。我会在电子邮件中有一个唯一的ID,当然可以由多个用户打开(多个收件人或转发)。你说这在佐治亚州行不通是什么意思?我认为这是不允许的。也就是说,如果你想让你的“活动标识符”成为他们发送到的电子邮件地址的唯一散列,我已经更新了我的答案。当然,你可以把活动标识符设置为确切的电子邮件地址,但这肯定是违反GA政策的