谷歌分析自推介来源


第13章

Websites

谷歌分析里的自推介来源(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)来建立的。

Redirects Chrome Developers Tool

这一行表明这是一个服务器端重定向。

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

Gordon Choi's Analytics Book