我尝试将Google Analytics(网络)与我的聚合物应用程序一起使用(根据this GA SPA doc更新routing.html中的跟踪器对象)。我使用Polymer Starter Kit作为起点。除了/
之外,我没有看到任何综合浏览量 - 建议的跟踪应用使用情况的方法是什么?
routing.html
page('/topstories', function () {
app.route = 'topstories';
window.ga('set', 'page', '/topstories');
});
page('/about', function () {
app.route = 'about';
window.ga('set', 'page', '/about');
});
的index.html
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-xxxxxxxxx-1', 'auto');
ga('send', 'pageview');
</script>
答案 0 :(得分:3)
除了在跟踪器上设置页面值之外,您还必须将网页浏览功能发送到Google Analytics。在您的路线回调功能中,您需要添加以下行:
ga('send', 'pageview');
您还可以编写一个功能,为您完成所有这些操作,因此您不必每次都重复set
和send
次来电。
function updatePage(path) {
return function() {
app.route = path.slice(1);
ga('set', 'page', path);
ga('send', 'pageview');
}
}
您的页面路由声明如下所示:
page('/topstories', updatePage('/topstories'));
page('/about', updatePage('/about'));
答案 1 :(得分:1)
我的解决方案利用了中间件-is page.js处理程序:
// Routes
page('*', scrollToTop, closeDrawer, function(ctx, next) {
ga('set', 'page', ctx.path); // simply add
ga('send', 'pageview'); // these rows
next();
});
但是,当/
路由初始化时,这也会触发,因此,为了不对访问量进行重复计算,请从ga('send', 'pageview');
块中移除最终<script>
。