我一直认为在网站分析工作中,“统计-分析-测试”代表了对数据不同的运用层次。如果没有测试,某些结论的落地成本或许会变得很高,用数字说话也无从谈起。题外话:《科学的广告》写于100年前,书中不断的强调了测试的作用,值得一读。

最近在工作中开展了一些测试工作,结合之前看的书籍与文档,想系统的写一篇关于测试的文章,但是结果发现一篇有点长,于是拆分了下,这是第一篇。

本文内容:

  • A/B测试的原理
  • 谷歌内容实验
  • - 简介与原理
  • - 默认使用
  • - 注意问题

1.A/B测试的原理

A/B测试是网站测试中最常用的测试方法。它为某一目标设置不同版本的方案,并将流量进行分离,让不同的人群在测试期间只能看到自己对应的版本,进而通过目标转化率来分析哪个版本方案效果更优。

为了获得明确的测试结果,我们在设计A/B测试时要注意:

  1. 多个版本的运行要同时,而不是先A后B;
  1. 不同版本之间的差异不应该过大,测试变量单一;
  2. 判断测试结果的目标要明确,可量化;

整个测试的逻辑可以简单总结为:

流量分离-->前端展示对应版本-->数据收集-->分析结论;

为了实现这个逻辑,我们需要完成这样的工作:

  1. 设计一个流量分离的逻辑程序,让新用户随机访问测试版本;并且在整个测试期内一直访问这个版本;
  2. 我们要对数据进行统计学的判断(置信区间95%);

上述工作,可以自己开发,也可以利用现有的第三方工具。这里重点介绍下免费的A/B测试工具:谷歌内容实验(Google Content Experiments)。

2.谷歌内容实验

2.1.简介与原理:

谷歌内容实验(Google Content Experiments,下文中我就简称为实验)是在将Google Website Optimizer整合到Google Analytics后推出内容测试产品。它取消了Google Website Optimizer的多变量测试,只提供A/B测试功能,并且提供了测试的API,极大的提高了谷歌内容测试的使用范围。

实验的原理也和之前的A/B测试原理类似,它的流量分离会依据JS+实验cookie来实现,而测试结果,则是依据实验中选择的目标来计算的。因为数据采集是依托GA的采集代码,所以实验JS一定要加在GA的JS之前,保证实验JS先执行。

另外为了提高实验的运行速度,Google会采用一种“多手柄老虎机”实验来分配测试流量,感兴趣可以阅读此文。

2.2.默认使用方案

Google的官方帮助文档对如何开展测试有很详细的解释,在此建议详细的文档,在此不作重复叙述。

1.实验概览:介绍实验的相关概念;
2.如何配置实验:介绍如何在GA后台配置一个实验;
3.常见实验错误检查:介绍一些常见的实验配置与运行中的错误;

2.3.注意问题

在默认使用方法中,要注意GA设置的跨域问题。如果你的ga设置跨了子域,那么需要对实验代码进行修改,进行跨子域设置。具体方法为在实验的JS(从实验后台生成的官方JS)之前,添加后如下:

<script> 
_udn = "example.com"; 
</script> 
<!-- Google Analytics Experiment code --> 
Contents of the experiment code
<!-- End of Google Analytics Experiment code -->

如果实验代码正常插入并执行,可以利用firebug看到当前域名下会有2个cookie:_utmx和_utmxx。这两个cookie是实验cookie,注意观察下着两个cookie的作用域是否和ga的cookie的作用域一致。如果不一致,则实验不会采集到数据。

如果你想扩展实验的范围,比如对某类商品模板进行测试,这类商品会有N个具体的商品页面,这种情况下该如何设置实验了?或者某个广告在全站都有,如何对广告进行测试?这两个问题就需要用到官方的API来处理了,下篇文章再写。

推荐阅读:

A/B测试的原理

A/B测试的实现方法