Google analytics 如何使用google Analytical trackEvent?
我刚刚加入了一个我的同事曾经工作过的项目。我看到了下面的代码Google analytics 如何使用google Analytical trackEvent?,google-analytics,Google Analytics,我刚刚加入了一个我的同事曾经工作过的项目。我看到了下面的代码 var _gaq = _gaq || []; _gaq.push(['_setAccount', "my id"]); _gaq.push(['_trackPageview']); _gaq.push(['_trackEvent', 'app', 'DEACTIVATE']) 问题是,我在谷歌分析页面下没有看到任何用户事件。我检查了内容->事件 我在谷歌上搜索,然后发现大多数人使用 pageTracker = _g
var _gaq = _gaq || [];
_gaq.push(['_setAccount', "my id"]);
_gaq.push(['_trackPageview']);
_gaq.push(['_trackEvent', 'app', 'DEACTIVATE'])
问题是,我在谷歌分析页面下没有看到任何用户事件。我检查了内容->事件
我在谷歌上搜索,然后发现大多数人使用
pageTracker = _gat._getTracker("id")
pageTracker._trackEvent("app","DEACTIVATE");
哪一个是正确的?我想先自己测试一下,但这个应用程序已经上线了,GA要延迟一天。我想先确认一下
更新:深入研究之后,我发现我应该使用第一种方法。但是,除非传递值,否则它仍然不起作用
var _gaq = _gaq || [];
_gaq.push(['_setAccount', "my id"]);
_gaq.push(['_trackPageview']);
_gaq.push(['_trackEvent', 'app', 'DEACTIVATE',""]) // must pass value even if it's empty
我认为第一部分是正确的。确保您可以使用查看事件是否引发或安装 \u gaq是谷歌分析异步页面跟踪全局对象。
_gat是谷歌传统的页面跟踪对象 根据谷歌的文档,不推荐使用_gat(account)方法调用 请参阅,以了解有关这方面的更多信息 有关谷歌分析的更多信息,请参阅 以下是谷歌的基本异步跟踪示例:
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-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);
})();
您是否在页面的Javascript中看到上述匿名函数
下面的代码适合我我确实注意到,在您发布的代码中,您在事件跟踪调用中缺少了一个尾随分号。我最初复制了您的代码,导致了一个JavaScript异常,该异常通过在行中添加尾随分号得到纠正
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-######-1']);
_gaq.push(['_trackPageview']);
_gaq.push(['_trackEvent', 'app', 'DEACTIVATE']);
(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);
})();
同样,上面的代码对我很有用
祝你好运 对于第二种方法,您希望使用
\u getTrackerByName
而不是\u getTracker
pageTracker = _gat._getTrackerByName();
pageTracker._trackEvent("app","DEACTIVATE");
无论哪种方法都可以,但首选第一种
您是在实时服务器上测试,还是在本地主机/内部网计算机上测试?如果您的服务器不在完全限定的域名上,Google Analytics将不会发送跟踪请求(\uuu utm.gif)——请参阅。如果您使用的是异步版本,通常没有理由不发送,那么您应该始终使用
\u gaq.push(…)
-(其中,\u gaq只是一个javascript数组,push()
只是添加到末尾)
这个数组的全部要点是,您可以在GA脚本加载之前存储事件,无论是trackEvent
事件还是trackPageView
事件-这就是为什么它被称为异步跟踪。加载脚本后,它将处理数组中的所有内容
如果页面上有javascript在google脚本加载完成之前将某个内容推送到该数组,那么一旦加载事件,它仍然会被跟踪。它在脚本加载后也可以工作
我假设(但尚未验证)-一旦加载脚本,它会将\u gaq
转换为一个可观察的数组-或者只是一个直接的方法调用,这样,一旦您向它推送任何内容,它就可以立即被处理
我建议使用谷歌发布的Chrome插件,实时查看发送的内容。对于一般GA调试提示。如果您不想一直部署应用程序,并且希望更灵活、更快,您可以从SiteApps使用此应用程序,如下所示:
设置起来很容易。我明白了,我的问题是“\u gaq.push”([''u trackEvent',app',DEACTIVATE'])是否正确,因为我在我的GA页面上没有看到任何事件。为了确认我理解,你是说你知道GA正在为你的页面工作,因为你看到页面视图正在计数,但是你没有看到事件“app”“DEACTIVATE”被计数?嘿,我刚刚注意到你的_setAccount值真的是“我的id”吗?如果是,那么这就是潜在的问题_setAccount需要设置为您站点的Google Analytics帐户,该帐户的格式通常为“UA-xxxxx-x”,其中xxxxx和x是您帐户的数字。您可以在这里看到文档和示例:+1,Google事件跟踪帮助页面上的代码片段也使用
\u gaq.push(…)
语法。