2016-02-19 48 views
1

有谁知道使用pushstate从SPA发送事件时维护正确的活动页面URL的解决方案吗?这里的情景:谷歌分析当前浏览量被事件覆盖的URL

用户到达/家(页面的标题是“家”)和GA的inited:

ga('send', 'pageview');

用户移动到/我的账户(页面的标题是“我的帐户” ):

ga('send', 'pageview', '/my-account');

使用播放音频轨道:

ga('send', 'event', 'player', 'play', 'radio');

在谷歌实时内容我们现在看到在/ home的活跃用户(网页标题“我的帐户”)

看来,该事件将还原网页网址复制到登录页面的URL,而不是当前查看的页面,即使浏览器历史记录反映了新页面。如果发送新的综合浏览量,则实时列表中将列出正确的URL。

回答

2

发生这种情况的原因是您只有sending命中新页面路径,而不是跟踪器对象上的setting(然后将其应用于所有后续命中)。

这是单页面应用程序的一个常见问题(它听起来像你正在做的)。请查看single page applications guide了解analytics.js,以更好地了解如何正确执行此操作。

作为备用选项,您可以使用新的autotrack plugin,它将自动跟踪URL更改并负责为您更新跟踪器对象。

+0

啊谢谢你。因此,为了记录,这是我们应该做的: 'ga('set','page','/ my-account')' 'ga('set','title','My Account') ' 'ga('send','pageview')' –

+0

是的,正好。如果您愿意,您也可以在一行中进行设置:'ga('set',{page:'/ my-account',title:'My Account'})'。 –