html页面中的Ajax google analytics事件跟踪无法正常工作

时间:2011-12-12 09:39:51

标签: javascript jquery google-analytics

以下是在html页面中关闭/ head之前添加的Google Analytics代码。

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-xxxxxxxx-x']);
_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);
})();

以下是我调用此事件的地方......成功或失败时......

$.ajax({
    url: "/xxx/xx/",
    type: "POST",
    data: { name: q, seme: o, profile: x }
    datatype: "html",
    success: function (f) {
        _gaq && _gaq.push(["_trackEvent", "contactform", "success", i, p])
},
    error: function (f) {
        _gaq && _gaq.push(["_trackEvent", "contactform", "crash", i, p])
    }
});

但事件没有记录......我一直在等待过去4天的事情。我已经进行了一些测试,但它没有出现在分析中......我做错了什么?我是否必须在头标记中添加的Google Analytics主要代码段中添加任何额外的行?

GA跟踪正常数据但不跟踪这些事件。

1 个答案:

答案 0 :(得分:6)

我不明白为什么你有这条线:

_gaq && _gaq.push(["_trackEvent", "contactform", "success", i, p])

而不仅仅是

_gaq.push(["_trackEvent", "contactform", "success", i, p]);

甚至

if (typeof _gaq != "undefined")
   _gaq.push(["_trackEvent", "contactform", "success", i, p]);

了解何时正确发送数据的另一个技巧是在Google Analytics服务器上引用ga_debug.js而不是标准ga.js - 这将为您提供控制台输出并显示“已发送跟踪信号!”以及已成功发送的所有数据。我建议你尝试一下,看看它是否有帮助!