我正在尝试跟踪Google Analytic在我网站上的广告横幅上的出站点击次数。
这样做的方式是,如果您已登录,则看不到横幅。如果您尚未登录,则会看到横幅。我已经使用以下代码在我的wordpress网站上成功完成了这项工作:
<?php
if (is_user_logged_in()){
echo "No Ads - Thank You for Supporting Us";
}
else {
echo "
<a href=\"http://www.advertiser.org/\" onClick=\"pageTracker._trackEvent('Outbound', 'CuteDog', '300sb');\" target=\"_blank\" rel=\"nofollow\"><img src=\"http://www.mydomain.com/box/cp/cuteDog.gif\" width=300 height=250 alt=\"Cute Dog\" style=\"border:none;\" /></a>
";
};
?>
现在,横幅和一切正常,但GA没有跟踪它。我很确定我的onclick函数是正确的:
onClick="pageTracker._trackEvent('Outbound', 'CuteDog', '300sb');"
我的GA跟踪代码位于我页面的标题中,它是最新的代码:
<script type="text/javascript">var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-8441420-2']);
_gaq.push(['_trackPageview']);
(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>
我做错了什么???
答案 0 :(得分:5)
您使用的是两种不同版本的GA代码。以下是您应该使用的异步版本:
_gaq.push(['_trackEvent','Outbound', 'CuteDog', '300sb']);
您可以直接将其放入onclick中,或者使用包装函数来调用它。
编辑每个OP评论,不了解如何处理此
你把这段代码放在链接的onclick上......
改变这个:
<a href=\"http://www.advertiser.org/\" onClick=\"pageTracker._trackEvent('Outbound', 'CuteDog', '300sb');\" target=\"_blank\" rel=\"nofollow\"><img src=\"http://www.mydomain.com/box/cp/cuteDog.gif\" width=300 height=250 alt=\"Cute Dog\" style=\"border:none;\" /></a>
对此:
<a href=\"http://www.advertiser.org/\" onClick=\"_gaq.push(['_trackEvent','Outbound', 'CuteDog', '300sb']);\" target=\"_blank\" rel=\"nofollow\"><img src=\"http://www.mydomain.com/box/cp/cuteDog.gif\" width=300 height=250 alt=\"Cute Dog\" style=\"border:none;\" /></a>
答案 1 :(得分:0)
这里有两个问题:
pageTracker
事件中的onClick
对象,但您使用的是GA代码的异步版本。在此版本中,对象不能通过window
全局上下文直接使用,因此可能发生错误。pageTracker
对象可用,新页面也会在有机会向GA发送数据之前加载。 您应该使用类似于以下的功能:
<script type="text/javascript">
function recordOutboundLink(link, category, action, value) {
try {
var pageTracker=_gat._getTracker("UA-XXXXXX-XX");
pageTracker._trackEvent(category, action, value);
window.setTimeout("window.location = '"+link.href+"';", 100);
}catch(err){}
}
</script>
然后,在onClick
事件中调用它:
onClick="recordOutboundLink(this, 'Outbound', 'CuteDog', '300sb'); return false;"