- 13 谷歌分析自推介来源
第13章
谷歌分析里的自推介来源(Self Referrals)是一个问题,通常由以下场景引发:
- 客户端重定向
- 未标注的网页
客户端重定向 vs 服务端重定向
考虑以下情形。
- 你有一个老的页面:m.example.com/page-A,并且一直在发送用户数据到这个页面。
- 你创建了一个新的页面(m.example.com/page-B)来替换Page-A。现在你开始发送用户数据到page-B。
- 然而,依然有很多用户还在访问你的老页面——page-A。
为了解决这个问题,你不得不建立一个从page-A到page-B的页面地址引导。当你的用户访问page-A时,他们会被自动带到page-B页面。你可以用多种方式来建立这种重定向。
URL Direction | Analytics |
---|---|
服务器端301 | 无问题,http referer header会被保留 |
服务器端302 | 无问题,http referer header会被保留 |
客户端重定向 | 有问题,http referer header不会被保留 |
你可以使用Chrome浏览器内置的开发者工具来验证一次重定向是否是通过服务器端301(或302)来建立的。
这一行表明这是一个服务器端重定向。
Status Code 301 Moved Permanently (from cache)
如果你没有看到显式的的状态码(301或302),那么这就是一次客户端重定向。
- 客户端重定向发生在浏览器自身。
- 在客户端重定向期间,Page-A和Page-B被连续加载,例如:Page-A先被加载,然后Page-B被加载。
- 这会在没有用户点击和交互的情况下连续触发两次页面浏览,第一次页面浏览(来自Page-A)永远不会被谷歌分析记录,源referer(即上一个页面的地址)丢失了。
- 你的谷歌分析将停止把你的域名(即自推介)作为源上报,这是不正确的。
在Page-A,你在<head></head>之间引入如下代码,将在浏览器中执行客户端重定向。
<head> <title>Page-A</title> <meta http-equiv="refresh" content="0;URL='http://m.example.com/Page-B'" /> </head>
- meta标签中设置http-equiv属性的值为“refresh”,设置content属性的值为“0”(意思是0秒),后面跟浏览器需要访问的目标URL(即重定向URL)。
- 刷新时间被设置为0秒。Page-A在重定向到Page-B前永远不会被展示给用户,这一切都发生在客户端。
实际上,当说到你的网站用户自动从一个旧页面跳转到一个新页面时,你应该始终使用服务器端301(或302)。服务器端301(或302)重定向会保留referrer信息,这有利于网站分析。
未标注的网页
考虑这种情景,在你的网站上有两个页面:
m.example.com/Page-A m.example.com/Page-B
- Page-A没有安装谷歌分析跟踪代码。
- Page-B安装了谷歌分析跟踪代码。
一个用户登录了Page-A,然后在Page-A页面,该用户点击了一个链接跳转到Page-B。
- 在Page-A,由于没有安装谷歌分析跟踪代码,什么都没有被谷歌分析记录。
- 在Page-B,谷歌分析为这个客户开启了一个新的会话,并把你的域名分配给源的referrer。
source=m.example.com medium=referral
这个被谷歌分析记录的源referrer信息是不正确的。
更好的做法是,你应该永远确保在你的所有页面上安装谷歌分析跟踪代码。
数据分析技术白皮书在2016年11月正式出版。
英文版:Google Analytics Self Referrals – 繁体中文版:谷歌分析自推介来源
数据分析技术白皮书上的内容按下列许可协议发布: CC Attribution-Noncommercial 4.0 International