在单页应用程序上实施Google Analytics pageView事件表现得很奇怪

时间:2016-02-23 12:59:43

标签: javascript angularjs google-analytics single-page-application

我向我的客户提供SEO服务。

客户网站使用AngularJS作为单页面应用程序,使用ui-router在页面(视图)之间滑动。

我在为每个不同的网页发送pageView事件时遇到了麻烦,我已经让他按照link中的说明进行操作。

他试过了两个:

 ga('set', {
  page: '/new-page',
  title: 'New Page'
});

ga('set', 'page', '/new-page');

对于网站上的每个路径(页面)。 当我查看Google Analytics的“实时”信息中心时,我可以看到pageView(s) 但它被视为报告数据中的主页。

我已经尝试将其实现为GTM,但仍然没有。

p.s路由看起来与常规的ui-router路由有点不同,它看起来像是:

http://www.example.com/s#!/page_name

知道为什么以及如何解决这个问题?

感谢任何帮助,谢谢:)

1 个答案:

答案 0 :(得分:0)

首先 - 重新配置跟踪器

如果您使用默认跟踪器和命名空间名称,则此代码似乎没问题。发送第一次网页浏览后,您将重新配置跟踪器值。你的解决方案是正确的,因为它保留了例如事件稍后在虚拟页面上触发。

ga('set', {
  page: '/new-page',
  title: 'New Page'
});

秒 - 再次发送综合浏览量

重新配置跟踪器后,您必须再次发送网页浏览。 您没有显示很多代码,但我不想发送网页浏览。我希望你需要使用一些Angular路由器的方法。

ga('send', 'pageview');

GTM变更

GTM也是如此。在这里,您需要在虚拟网页浏览上触发事件,并将一些数据传递到dataLayer,以通过页面标题参数更新跟踪器值。您必须在PageView标记设置中重新配置自定义字段

更好的调试

如果您有这种问题,请添加HTTP日志(或来自analytics_debug.js的控制台日志或任何满信号的地方)。

实时HTTP标头,Omnibug,Charles Web调试代理或任何其他类似的分析器将为您提供帮助。