如何将一个事件分成两个不同的Google Analytics帐户?

时间:2013-02-18 14:34:13

标签: javascript google-analytics event-tracking

我在自己的网站上实施了以下内容,将活动传递给两个不同的Google Analytics帐户。

在我的头部分的GA跟踪代码中,定义了两个不同的帐户

_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帐户而不是(就像我预期的那样)两个帐户!为什么?!?!

有人可以提供帮助吗?

-Thanks

修改

这是我正在测试的新实施,就像Google在他们的文档中告诉我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>

1 个答案:

答案 0 :(得分:2)

_trackPageview_trackEvent通过从Google Analytics服务器请求跟踪像素工作 - 如果您的链接在同一窗口中打开新页面或导致下载,则浏览器可以取消跟踪像素在数据被捕获之前过早地请求,并且你很幸运地知道第一个请求已经过去了。

常见的解决方案是将链接的处理延迟很短的时间(例如150ms),以便允许请求。

这样的东西
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>