如何正确实现电子邮件跟踪像素

时间:2016-02-08 03:10:15

标签: php email outlook gmail

我目前正在使用PHP输出我在电子邮件中包含的1x1像素。 在输出图像之前,我运行了几个脚本(即递增视图计数等...)。 但是,我注意到客户喜欢GMail& Outlook在将图像提供给用户之前下载图像,当然,这视为视图,因为正在查看图像。我发送电子邮件,在打开电子邮件之前,我在服务器中得到了跟踪像素已被查看的响应,然后当我打开电子邮件时,我得到第二个回复。

我的问题是,在跟踪像素中,我怎样才能真正告诉用户何时打开电子邮件,而不是像GMail或Outlook这样的客户端只是下载图像?

2 个答案:

答案 0 :(得分:0)

我要做的是检查Gmail,Outlook等打开请求像素的次数,而不向用户显示,并从查看像素的总次数中减去它。如果像素的总时间大于0,则用户打开它。

  

例如:发送到您的Gmail帐户的测试电子邮件会告诉您Gmail已请求该像素2次并且您尚未打开   电子邮件呢。

     

总共2次请求 - 2次Gmail服务器请求= 0(未查看电子邮件)

     

用户随后打开电子邮件1次... 3次请求总数 - 2次Gmail服务器请求= 1次(电子邮件被查看过一次)

     

用户打开电子邮件5次... 7次请求总数 - 2次Gmail服务器请求= 5次(电子邮件被查看了5次)

希望这很有用!

答案 1 :(得分:0)

您可以查看对服务器的请求中的标头。

当电子邮件客户端将图像下载到缓存以供将来使用/打开时,标头与用户打开电子邮件时的标头不同。

例如,当Gmail服务器请求您的图片时,您将看到标头“ referer: http://mail.google.com”和“ accept: image/webp,*/*;q=0.8”; 用户打开电子邮件时情况并非如此(用户代理也会更改,但实际上不会显示最终用户的电子邮件地址

注意:Google始终可以更改其处理图像代理协议以及发送的标头的方式。请记住,将来可能会发生变化。