最近正在给一个电子商务的客户做条幅广告转化率的测试,但我们发现数据有问题:Website Optimizer 工具不能对部分消费者的具体行为测试进行设置。我们需要知道有多少人点击了测试广告,以及有多少发生了购买。
我们的解决方案是添加一些新的代码,来确定谁看到了什么,让 Google Analytics 里的群体来实现这一方面数据的监控。通过这种方法我们能够更全面的了解任何给定测试,更准确地确定投资回报率。
A/B测试
添加代码之前我们先回顾一下测试样本的背景。你运营的是一家销售耳机的网站,现在想要测试下某新款高端耳机的两版本的首页。你用A/B实验来换掉了原先的首页,重要的是获得尽可能多的收入。
将消费者体验简化后看起来会是像这样的路径: 

如果我们只使用 Website Optimizer工具就会有问题,从哪一点到哪算是转化呢?在 Website Optimizer 中我们只能选择一个A点和一个B点,我们无法跟踪整个渠道中客户的路径。这就是我们努力要克服的障碍。如果只是单一点到点的的跟踪,我们只能选择以下项目之一来衡量:
- 访客是否有点击条幅广告?
- 访客是否添加产品到购物车?
- 访客是否发生购买行为?
但事实上没有哪个一个单一的转化能说明全部问题,我们需要更多信息。
开始动手
Website Optimizer 确实是跟踪任意一个路径的绝好工具,但它无法追踪所有,不过幸好 GA 可以。我们的目标则是建立一个可以跟踪所有路径的易用系统,帮助我们确定会在哪个环节流失客户。
我将我们使用的PHP代码一并给了出来,对你也许会有些帮助。如果你对编码工作没什么概念,下面的PHP代码可能会让你有些头疼。简单来说,这段代码就是起到了以下作用:

我们是要确保,如果用户回访时A/B测试仍在继续进行的话,他们能有和上次访问相同的体验。
class SplitTest
{
public $strSelected = “”;
public function __construct($strCookie, $arrShuffle, $strOverride, $datCookieAge=null)
{
$datCookieAge = empty($datCookieAge) ? time()+60*60*24*7 : $datCookieAge;
// Code for segmenting to track in Analytics $strSelected = sanitizeInput($strOverride); $strSelected = isset($_COOKIE[$strCookie]) && empty($strSelected) ? $_COOKIE[$strCookie] : $strSelected;
// If still empty, randomize it. if (empty($strSelected)) {
shuffle($arrShuffle);
$strSelected = $arrShuffle[0];
} if (!in_array($strSelected, $arrShuffle)) {
$strSelected = $arrShuffle[0];
} $this->strSelected = $strSelected; setcookie($strCookie, $strSelected, $datCookieAge);
}
}
你会需要调用以下代码:
<?
$arrShuffle = array(“layout1″, “layout2″);
$SplitTest = new SplitTest(“layoutTestName”, $arrShuffle, “variableName”);
$strWhichVersionToShow = $SplitTest->strSelected;
?>
<script language=”javascript”>
pageTracker._setVar(‘<?= $strWhichVersionToShow ?>’);
</script>
<?
if ($strWhichVersionToShow == “layout1″)
{
// Show the first layout here
}
elseif ($strWhichVersionToShow == “layout2″)
{
// Show the second layout here
}
?>
这段 JavaScript 会在 GA 里设置自定义群体。一旦你的访问者开始浏览首页,他们就可以看到两个首页版本之一,Analytics会自动分配到一个或另一个给访问者。以新定义的群体创建自定义群体。
此外测试布局时,你不希望访问者都到同一个群体里,看到同一个页面。为了避免这种情况,可以使用已经嵌入到类里的override call:
yourdomain.com / homepage.php?variableName = layout1
这样,你和你的团队就可以手动在不同的布局之间随时来回切换了。
结束语
关于自定义群体得了解一点,Google Analytics 只允许用户被分组在一个单一群体里。如果您的网站已经在其他内部流程环节使用了群体,有可能上述做法不适用。这也意味着,你只能一次运行一个测试,但是这并不是说上述方法不对。你也只会一次运行一个A/B测试,对吧?
这种方法可能会过于简化你的需求,但它可以让你长期了解关系到重大决定的所有的信息。
原文链接
本文首发 SEM Watch ,转载请注明出处。欢迎大家留言或者来信(talk[at]SEMWatch.org)
这个看着有点迷糊。。GA没有怎么用过。
[回复]
Link | 十二月 28th, 2009 at 8:34 下午
很好的方法,学习了
[回复]
Link | 十二月 28th, 2009 at 11:02 下午
好方法,之前我在测试的时候都是用A/B Test + 然后再写个简单的计数器来精确统计页面上下载和购买链接的点击数的,这样做的好处是,如果页面上面有三处地方需要跟踪它的点击数,也可以轻松做到。
[回复]
Link | 十二月 29th, 2009 at 9:13 上午
学习了,我也在学习网络营销。今后会常来看你的博客的!
[回复]
Link | 十二月 29th, 2009 at 11:47 上午
一直不会用。。。。多谢博主
[回复]
Link | 一月 11th, 2010 at 9:16 上午