2011-12-12 103 views
4

以下是在HTML页面关闭/ head之前添加的Google Analytics代码。Ajax谷歌分析事件跟踪HTML页面不起作用

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跟踪正常数据,但不是这些事件。

回答

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 - 这会给你控制台输出并显示“跟踪信标发送!”以及所有已发送的数据,当它成功时。我建议你尝试一下,看看它是否有帮助!

+0

_gaq && ...通过js压缩输出。其实如果(_gaq)...我会用ga_debug测试并更新线程。谢谢。 –

+2

谢谢,不知道ga_debug。安装了一个chrome插件,发现我在第四个参数(p,在这种情况下)中发送一个字符串,其中ga需要一个整数。 –

+5

链接到Chrome扩展程序:https://chrome.google.com/webstore/detail/jnkmfdileelhofjcijamephohjechhna – kalenjordan