我的“应用程序”是在 Google map 上显示项目的单个网页 (myPage.html)。所以这不是用户在多个页面之间导航的场景。
因此,我使用事件来跟踪交互。然而,我觉得相信我在统计数据中看到的东西很奇怪。
我已经检查了事件的语法,似乎没问题。
_gaq.push(['_trackEvent', 'MyApp', 'ChangeTav', newTab]);
_gaq.push(['_trackEvent', 'MyApp', 'Load', 'itemType', loadTime]);
....
我想知道的是,我确实将数组添加到 _gaq
对象,但这些实际上是什么时候发送的?如果用户关闭浏览器会发生什么?有没有办法让我“强制”发送这些值?
相反,用户在页面上停留了一段时间,值被添加到 _gaq
,但我如何确保它们不会丢失?
-- 更新--
通过推送,我只是将一个数组添加到一个数组中,这是错误的吗?所以在这个特定的时刻什么都没有发生,我没有看到任何回调或重写的方法。如果我遗漏了什么,请更正。
-- 更新 2 --
http://code.google.com/apis/analytics/docs/tracking/asyncUsageGuide.html
我用sync还是async好像不一样。对于异步(我正在使用)...
要将 API 调用推送到队列中,您必须将其从传统的 JavaScript 语法转换为命令数组。 命令数组只是符合特定格式的 JavaScript 数组。命令数组中的第一个元素是要调用的跟踪器对象方法的名称。它必须是一个字符串。其余元素是您要传递给跟踪器对象方法的参数。这些可以是任何 JavaScript 值。
当我使用 var _gaq = _gaq || 进行初始化时[];
就变成了一个数组。但是,我从未看到值从队列 (_gaq) 中删除,因此我假设它们永远不会发送。
--- 好的,我们开始---
http://code.google.com/apis/analytics/docs/gaJS/gaJSApi_gaq.html#_gaq.push
这个函数被命名为 push 以便在 Analytics 完全加载之前可以使用一个数组来代替 _gaq。在加载 Analytics 时,命令将被推送/排队到阵列上。 当 Analytics 完成加载时,它用 _gaq 对象替换数组并执行所有排队的命令。对 _gaq.push 的后续调用解析为该函数,该函数在命令被推送时执行。
最佳答案
我相信,它会在您调用它时立即发送。前提是_gaq已经初始化。取决于您放置 GA 初始化代码的位置。
关于javascript - Google Analytics 事件 - 何时发送?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7944860/