我一直希望在主要针对iPad的单页JavaScript应用程序(特别是Mobile Safari)上使用Google Analytics _gaq.push()
功能。
我的页面只加载一次,并在用户使用应用程序时继续异步加载数据。我希望在用户浏览应用程序时跟踪交互,因此我决定使用异步API(_gaq.push()
)。
我听说过这种方法,GA数据会被推送到文档卸载状态。如果这是真的,我怀疑这是否适用于用户可能无法长时间卸载文档的Mobile Safari。
这是做我想要的最佳方式,如果不是,那么及时将这种精确跟踪的事件从这样的应用程序推送到Google Analytics的首选方法是什么?
感谢。
答案 0 :(得分:7)
GA数据不会在文档卸载时发送;文档卸载和Google Analytics之间根本没有任何关联。
使用异步语法时,无论您将其放在何处,Google Analytics都会异步加载到DOM中。同时,_gaq.push()
会创建一个函数队列,以便在加载Google Analytics后执行,以便按顺序执行。所有这些都发生在不考虑文档卸载,上载,准备等的情况下。
当队列达到跟踪功能(_trackPageview
,_trackEvent
,_trackSocial
等)时,它会执行对远程像素__utm.gif
的请求,即Google用于生成用于解析和处理分析数据的日志。
加载ga.js
后,_gaq.push()
充当直接队列;这意味着,如果您想在跟踪内容时从应用程序中继续生成_gaq.push()
,那么这些跟踪请求将立即生成。