3

我在我的网站上实现了以下内容,以将事件传递给两个不同的 Google-Analytics 帐户。

在我的头部部分的 GA-Trackingcode 中,定义了两个不同的帐户

_gaq.push(['_setAccount', 'UA-XXXXX1-1']);   
_gaq.push(['_trackPageview']);  


_gaq.push(['account2._setAccount', 'UA-XXXXX2-1']);
_gaq.push(['account2._trackPageview']);

我的活动如下:

<a href="#" onClick="_gaq.push(['_trackEvent', 'Download', 'xyz', 'xyzz'],
['account2._trackEvent', 'Download', 'xyz', 'xyzz']);">
Download_Fible_Fluegas</a>

但是代码确实将事件推送到 UA-XXXXX1-1 帐户,而不是(如我预期的)两个帐户!为什么?!?!

有人可以帮忙吗?

-谢谢

编辑

这是我正在测试的新实现,就像谷歌在他们的文档中告诉我的那样https://developers.google.com/analytics/devguides/collection/gajs/?hl=de-DE#MultipleCommands

<a href="#" onClick="_gaq.push(['_setAccount', 'UA-XXXXXXX3-1'], ['_trackEvent', 'Download', 'xyz', 'xyzz'],['account2._setAccount', 'UA-XXXXXXX2-1'],['account2._trackEvent', 'Download', 'xyz', 'xyzz']);">Link_to_download</a>
4

1 回答 1

2

_trackPageview_trackEvent通过从 Google Analytics 服务器请求跟踪像素来工作 - 如果您的链接在同一窗口中打开新页面或导致下载,则浏览器可能会在捕获数据之前提前取消跟踪像素请求,并且您'第一个请求已经通过,在时间上很幸运。

常见的解决方案是将链接处理延迟一小段时间(如 150 毫秒),以允许发出请求。

就像是

function trackMe(link) {
  _gaq.push(['_trackEvent', 'Download', 'xyz', 'xyzz'], ['account2._trackEvent', 'Download', 'xyz', 'xyzz']);
  setTimeout(function(){document.location = link.href}, 150);
  return false;
}

<a href="#" onClick="return trackMe(this);">Download_Fible_Fluegas</a>
于 2013-02-18T21:24:29.717 回答