Google Analytics部署 虚拟页面
在Google Analytics(Universal Analytics)中,我们是通过ga函数来发送页面的Pageview数据。利用该函数,我们可以为页面的各种行为添加Pageview数据。当然,我们的目标是为了让页面的Pageview数据更为精准,统计更符合我们的需求。
虚拟页面的应用场景
- Flash网站、异步架构网站。这个时候当打开网站的子页面的时候,实际上是没有刷新整个页面的代码(没有发送新的Pageview数据),因此,我们需要在实现页面打开行为的时候加入发送Pageview数据的代码,间接实现;
- 无法统计到Pageview,却需要将其作为Pageview统计页面。例如,我们接入了新浪微博账户登录的时候,无法统计到登陆页面(隶属于新浪微博)的Pageview数据,我们可以在通往该页面的按钮上加入虚拟网页代码,虚拟出该页面的Pageview数据。
虚拟页面的原理
虚拟页面是通过ga函数,在页面触发特定事件的时候,执行统计代码,向GA服务器发送Pageview数据,实现Pageview统计。在标准代码的情况下,是如下一条ga统计代码:
[code lang=”js”]
ga(‘send’, ‘pageview’);
[/code]
在此情况下,Google Analytics(Universal Analytics)的analytics.js会自动获取页面的标题( title )与页面的路径( location ):
[code lang=”js”]
//默认获取的页面标题
var title = document.title;
//默认获取的页面路径
var location = window.location.protocol + ‘//’ +
window.location.hostname +
window.location.pathname +
window.location.search;
[/code]
虚拟页面最佳实践
[code lang=”js”]
//page参数用于填写虚拟的页面路径
//title参数用于填写虚拟的页面标题
ga(‘send’, ‘pageview’, {
‘page’: ‘/page-path?id=1’,
‘title’: ‘my page title’
});
[/code]
在以下时候我们可以加入上面的ga的Pageview函数实现统计:
- Flash网站、异步架构网站打开子页面的时候;
- 站内文档下载、Loading页面时候;
- 站外友情链接、广告点击的时候;
- 其他需要计入Pageview的页面行为……
例如,在异步架构网站,打开子页面的链接上:
[code lang=”js”]
//加入虚拟页面前
<a title="Page Title" href="#PagePath">My Page</a>
//加入虚拟页面后
<a title="Page Title" onclick="ga(‘send’, ‘pageview’, {
‘page’: ‘/Page1’,
‘title’: ‘Page Title’
});" href="#PagePath">My Page</a>
[/code]
可以看到上面代码,我们在链接的onclick 事件上加入GA虚拟网页代码,当我们点击链接(触发事件)的时候,就虚拟构造了一个页面路径为 /Page1 ,页面标题为 Page Title 的Pageview数据。这样就实现了虚拟网页的目的了!
参考资料:
2 对 “Google Analytics部署 虚拟页面”的想法;