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(…)
语法。