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

San*_*mar 4 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);
})();
Run Code Online (Sandbox Code Playgroud)

以下是我称之为事件的地方......成功或失败时......

$.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])
    }
});
Run Code Online (Sandbox Code Playgroud)

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

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

Spa*_*son 6

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

_gaq && _gaq.push(["_trackEvent", "contactform", "success", i, p])
Run Code Online (Sandbox Code Playgroud)

而不只是

_gaq.push(["_trackEvent", "contactform", "success", i, p]);
Run Code Online (Sandbox Code Playgroud)

甚至

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

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

  • 链接到Chrome扩展程序:https://chrome.google.com/webstore/detail/jnkmfdileelhofjcijamephohjechhna (5认同)
  • 谢谢,不知道ga_debug.安装了一个chrome插件,发现我在第4个参数(在本例中为p)中发送一个字符串,其中ga需要一个整数. (2认同)