2

我有一个需要向两个分析帐户提供数据的站点,但我不确定如何实施 trackEvent,因为有 2 个不同的帐号。它会去哪一个或两者兼而有之?这是我的代码:

<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXX-1']);
_gaq.push(['_setDomainName', 'example.com']);
_gaq.push(['_trackPageview']);

// Second tracker 
_gaq.push(['secondTracker._setAccount','UA-YYYYYYY-2']);
_gaq.push(['_setDomainName', 'example.com']); 
_gaq.push(['secondTracker._trackPageview']);

function recordOutboundLink(link, category, action) {
try {
var myTracker=_gat._getTrackerByName();
_gaq.push(['myTracker._trackEvent', category , action ]);
setTimeout('document.location = "' + link.href + '"', 100)
}catch(err){}
}
</script>
</head> listed here to indicate placement

<script type="text/javascript">  (function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</body> listed here to indicate placement

该站点是具有移动子域的主域(这就是存在 setDomainName 的原因)。

问题: 1) 两个 GA 帐户的 trackEvent 记录吗?2) 我是否正确拆分了异步代码,recordOutboundLink 是否可以与 gaq_push 在同一个脚本中?

谢谢,凯伦

4

1 回答 1

1
  1. 单个_trackEvent调用只会将数据发送到单个 GA 配置文件。如果要将数据发送到两个配置文件,则需要进行多次调用。
  2. recordOutboundLink在定义的地方放入同一个脚本没有问题_gaq
  3. 假设您在链接上使用 onclick 属性——不要忘记返回 false 以便忽略默认链接行为。
  4. 仅供参考:谷歌用于跟踪出站链接的示例代码被搞砸了,几乎就像他们将旧式代码更新为异步并且在中途丢失了:/

尝试以下操作:

function recordOutboundLink(link, category, action) {
  _gaq.push(['_trackEvent', category , action ]);
  _gaq.push(['secondTracker._trackEvent', category , action ]);
  setTimeout(function(){document.location = link.href}, 100);
  return false;
}

<a href="linkToTrack" onclick="return recordOutboundLink(this, 'category', 'action')"
于 2013-01-15T21:15:14.777 回答