4

我们正在使用 Google Analytics 来跟踪事件,但事件似乎并非 100% 的时间都在跟踪。有时他们跟踪,有时他们不跟踪。我们没有超过每个会话的配额限制(每个会话最多有 20 个事件)。那不应该是问题。

跟踪无法在我们的普通网站以及我们的 HTML5 移动应用程序版本上始终如一地工作,尽管它在 HTML5 移动应用程序版本上的可靠性要低得多。

代码:

var share_url = 'http://twitter.com/intent/tweet?text=';        

// Log in GA
_gaq.push( ['_trackEvent', 'Share Twitter', ''] );

// Open URL in browser
open_external( share_url + encodeURIComponent( msg ) );


function open_external( url ) {
    window.open( url + '#phonegap=external' );
}
4

4 回答 4

4
_gaq.push( ['_trackEvent', 'Share Twitter', ''] );

这不会做任何事情。

对于_trackEvent,第三个参数(传递一个空字符串的地方)是必需的。这是“动作”参数。但是一个空字符串是错误的,所以它只是默默地失败。

在那里传递任何值,它就会起作用。

这是一个简化的案例吗?您不应该看到带有该代码的任何事件。

于 2013-07-14T01:44:10.513 回答
2

您确定您等待 Google 处理数据的时间足够长吗?特别是因为一些跟踪似乎正在工作。我有同样的行为(顺便说一句,在移动应用程序中),但在等待了一天多之后,它仍然出现了。这仍然每天都在发生……希望你也是如此。

于 2013-07-15T08:53:58.977 回答
1

我不确定你的问题可能是什么,所以我会提出一些想法。其中大多数是显而易见的,但它可能会有所帮助。

在您的网站上:

  • 您确定在需要跟踪的每个页面上都嵌入了 Google Analytics(分析)代码段吗?
  • 异步方式加载谷歌分析。
  • 在 Google 分析上检查实时 > 概览。由于完整的报告延迟了几个小时。
  • 如果您的 url 类似于 httq://localhost/ 那么您需要添加 javascript 代码,_gaq.push(['_setDomainName', 'none']);请阅读这篇文章
  • 它不能与 file:// url 一起使用
  • (可能不是)检查您是否可以从 Google Analytics 下载 JavaScript。也许您的代理阻止了 Google 分析跟踪?


在您的应用程序中:

  • 您在应用程序中使用嵌入式 HTML 5 页面。因此,您打开页面的方式是使用 file://PATH_TO_MY_DIR/index.html,因为它在您的硬盘上,您无法将数据发送到 Google 分析。
  • 由于您可能正在使用 PhoneGap,因此您需要从 HTML 页面“跳出”到本机 Objective-C 代码并从您的 Objective-C 代码发送事件。阅读Google Analytics 和 PhoneGap以及这个google group thread


希望它有所帮助。

于 2013-07-18T02:42:23.393 回答
1

问题是第三个参数:

_gaq.push( ['_trackEvent', 'Share Twitter', ''] );

数组的第二个元素应该是类别,第三个应该是动作。例如:

_gaq.push( ['_trackEvent', 'Share', 'Twitter'] );

您可以通过将以上各项粘贴到您的开发者控制台(Chrome 中的 F12,Firefox 中的 Ctrl-Shift-K)并观察网络流量来自行验证这一点。

参考:

https://developers.google.com/analytics/devguides/collection/gajs/methods/gaJSApiEventTracking

于 2013-07-19T04:54:04.057 回答