Google Analytics不会在iPhone上正确跟踪HTML5移动应用中的事件

时间:2013-07-10 21:03:29

标签: ios html5 google-analytics google-analytics-api

我们正在使用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 个答案:

答案 0 :(得分:4)

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

这不会做任何事情。

对于_trackEvent,第三个参数(传递空字符串的地方)是required。这是'Action'参数。但是一个空字符串是假的,所以它只是默默地失败。

传递任何值,它会起作用。

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

答案 1 :(得分:2)

您是否肯定等待Google处理数据的时间足够长?特别是因为一些跟踪似乎有效。 我有相同的行为(在移动应用程序顺便说一句)但在等待超过一天后它仍然通过。这仍然是每天发生的......希望你也是如此。

答案 2 :(得分:1)

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

在您的网站上:

  • 您确定要在每个需要跟踪的网页上嵌入Google Analytics代码段吗?
  • asynchronous way
  • 加载Google Analytics
  • 在Google Analytics上检查实时>概述。由于完整报告延迟了几个小时。
  • 如果您的网址类似于httq:// localhost /,那么您需要添加javascript代码_gaq.push(['_setDomainName', 'none']);,请阅读this post
  • 无法使用file:// url
  • (可能不是)检查您是否可以从Google Analytics下载JavaScript。也许您的代理会阻止Google Analytics跟踪?


在您的申请中:

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


希望它有所帮助。

答案 3 :(得分: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