我刚刚发布了这篇文章,并且已经做了更多研究并提出了问题,但我仍然没有解决方案......
我有一个网站(www.seatgeek.com),其中有很多链接通过AJAX加载。当用户点击其中一个链接时,我想将其视为目标,因此我尝试将pageTracker._trackPageview()附加到链接的onClick属性。但GA没有记录这些点击,我不知道为什么。以下是其中一个链接的代码:
<a href="<?php echo $tickets[$x][3] ?>" target = "_blank" class="buyTicketsLink" onClick="pageTracker._trackPageview('/outgoing/event4.php');">BUY TICKETS</a>
我已经在没有通过AJAX加载链接的情况下尝试了上面的代码并且它工作正常,所以它肯定是AJAX特有的问题。此外,在我尝试解决此问题时,我还尝试以编程方式添加onclick事件,例如:
<script>
function attach_goal_tracking() {
var links = document.getElementsByClassName("buyTicketsLink");
for(var i=0; i<links.length; i++) {
links[i].onclick = record_goal;
}
}
function record_goal() {
pageTracker._trackPageview('/event/outgoing');
}
</script>
这也不起作用。但是当我向record_goal()函数添加一个测试警告框时,很明显该函数正在运行。例如,如果我将函数更改为:
function record_goal() {
alert('Hello');
pageTracker._trackPageview('/event/outgoing');
}
然后单击链接时会显示“Hello”警告框。但是,“/ event / outgoing”的综合浏览量仍未记录。
我对可能造成这种情况的原因感到困惑。任何建议都将不胜感激。
答案 0 :(得分:1)
您使用的是Prototype等JavaScript库吗? document.getElementsByClassName
不是标准的JavaScript DOM方法。
您是否收到任何JavaScript错误?例如。打开Firebug或Firefox错误控制台。
在Firebug中,如果您在控制台中输入pageTracker;
,它是否会告诉您pageTracker
绝对是一个功能,而不是undefined
?
答案 1 :(得分:1)
尝试在trackPageView()调用后添加“return false”,所以......
onClick="pageTracker._trackPageview('/outgoing/event4.php'); return false">
我们的分析代表向我推荐了它,它就像一个魅力。 “返回虚假”通常会说,“嘿,不要注意href”(我想,无论如何),但我的实现工作得很好。
希望这有帮助!
答案 2 :(得分:1)
如果您仍在使用加载Google Analytics的异步方法,则以下代码段将完成相同的任务:
_gaq.push(['_trackPageview', '/anything']);
或(@Lauren代码)
onClick="_gaq.push(['_trackPageview', '/outgoing/event4.php']); return false">