Google Analytics电子邮件视图与php ga&;在用户单击链接继续访问站点时维护会话

Google Analytics电子邮件视图与php ga&;在用户单击链接继续访问站点时维护会话,php,email,session,google-analytics,tracking,Php,Email,Session,Google Analytics,Tracking,我正在使用php ga和服务器上的php页面在电子邮件中提供图像,但同时也跟踪我们网站的google analytics的页面视图(/email-views)。因此,当用户打开启用了图像的电子邮件时,我的php脚本将页面视图触发到google analytics。现在,在这种情况发生后,用户经常点击电子邮件中的一些链接,将他们返回到我们的网站。我可以告诉大家,人们正在点击这些链接,因为登录页面是在google analytics中登录的 我的问题是谷歌分析不认为这两个动作是一个会话。我有没有办法

我正在使用php ga和服务器上的php页面在电子邮件中提供图像,但同时也跟踪我们网站的google analytics的页面视图(/email-views)。因此,当用户打开启用了图像的电子邮件时,我的php脚本将页面视图触发到google analytics。现在,在这种情况发生后,用户经常点击电子邮件中的一些链接,将他们返回到我们的网站。我可以告诉大家,人们正在点击这些链接,因为登录页面是在google analytics中登录的

我的问题是谷歌分析不认为这两个动作是一个会话。我有没有办法强迫/欺骗google analytics相信这两个页面浏览量是一个会话

这是我的email-tracking.gif图像,由我的服务器加载并作为php处理:
// Initilize GA Tracker
$tracker = new GoogleAnalytics\Tracker('UA-REMOVED-1', 'www.REMOVED.com');

// Assemble Visitor information
// (could also get unserialized from database)
$visitor = new GoogleAnalytics\Visitor();
$visitor->setIpAddress($_SERVER['REMOTE_ADDR']);
$visitor->setUserAgent($_SERVER['HTTP_USER_AGENT']);
$visitor->setScreenResolution('1024x768');

// Assemble Session information
// (could also get unserialized from PHP session)
$session = new GoogleAnalytics\Session();

if(isset($_GET['location'])){
  $img='./images/'.$_GET['location'].'.gif';
  // Assemble Page information
  $page = new GoogleAnalytics\Page('/quote-email');
  $page->setTitle('Quote Email Viewed');
}
else {

}

// Track page view
$tracker->trackPageview($page, $session, $visitor);

header("Content-Type: image/gif");
readfile($img);
?>

Google analytics页面浏览/事件通过对ga服务器的像素调用进行记录,会话通过ga cookie进行跟踪。现在,尝试跟踪电子邮件打开和保留会话时存在多个问题

  • 默认情况下,并非所有客户端都获取图像
  • 当服务器端api用于跟踪事件时(如php ga),直到用户实际点击并到达请求ga pixel的实际页面,从而使用新sessionID设置cookie,ga cookie才被设置
  • 要解决这个问题,可以在所有页面视图上只使用服务器api。这样就可以

  • 在电子邮件打开调用中将php ga会话对象序列化到客户端会话
  • 在正常的页面视图中,如果存在会话信息,请取消序列化并构造GoogleAnalytics\session对象,然后将其传递到trackPageView调用中
  • 然而,这种方法需要重新设计整个ga跟踪方案,并用php-ga替换javascript api的使用。有一种可能的解决方法,包括创建ga像素url并将其设置为邮件中的src属性。对此方法进行了讨论,并进行了详细描述。但是,文档中提到,您需要使用特定于移动设备的跟踪代码来创建url,因此它可能会合并会话,也可能不会合并会话。但它看起来仍然非常接近于模拟电子邮件活动中打开和点击的无缝跟踪


    即使此设置起作用,电子邮件也不会在web浏览器上打开(对于Outlook或mail之类的邮件客户端),事件仍不会在同一会话中。希望这能有所帮助。

    感谢Rohit的支持,我现在已经尝试了这两种方法,我发现它们都不能在google analytics中保持会话的完整性。在这些页面上仍然显示100%进入和100%退出。而不是显示它们之间的流量。不过我要指出的是,第二种方法确实允许您使用非移动分析代码,尽管它说您必须使用移动。