【问题标题】:Google Analytics not tracking events in HTML5 mobile app properly on iPhonesGoogle Analytics 无法在 iPhone 上正确跟踪 HTML5 移动应用中的事件
【发布时间】:2013-07-08 23:37:57
【问题描述】:

我们正在使用 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' );
}

【问题讨论】:

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


    【解决方案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

    【讨论】:

    • 文档,根据这里其他人的说法,似乎说第三个参数是必需的?
    • 是的,你说得对,它是必需的。不幸的是,您可能无法将其留空并使其可靠地工作。也许它应该是:_gaq.push( ['_trackEvent', 'Share', 'Twitter'] );
    【解决方案2】:

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

    在您的网站上:

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


    在您的应用程序中:

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


    希望对您有所帮助。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:
        _gaq.push( ['_trackEvent', 'Share Twitter', ''] );
        

        这不会做任何事情。

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

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

        这是简化的情况吗?您不应该看到带有该代码的 任何 事件。

        【讨论】:

        • 谢谢。这是令人困惑的部分,因为确实发生了一些 twitter 事件。只是不是全部。有什么想法吗?
        • 您能否提供您在报告中看到的内容的屏幕截图?当您深入到类别时会发生什么?您对 Action 有什么看法?
        • 纳米,我们是白痴。这些事件从未发生过。我认为您的解决方案可以解决问题。
        • @Crashalot 很高兴为您提供帮助。
        猜你喜欢
        • 1970-01-01
        • 2012-03-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多