服务器端实验

Google 优化工具实验的标准实现中,浏览器会在网页中执行 JavaScript,以确定要提供的变体。此类实验虽然易于实现,但只能在客户端做出更改,例如在呈现的网页上更改某个元素的样式或位置。

在服务器端实验中,您的代码必须执行优化工具在客户端实验中处理的所有任务。例如,您的代码会定位受众群体并统一为各个用户提供相应变体。您只能使用优化工具界面创建实验、设定目标、创建变体和查看报告。

本文介绍了如何使用优化工具为在您的服务器或其他联网设备上运行的实验生成报告。

使用此方法运行服务器端实验时,您将管理以下事项:

  • 提供内容。
  • 添加实验。
  • 分配变体。
  • 为用户存留变体。
  • 将有关各个变体的用户命中数据(例如,网页浏览命中)发送到 Google Analytics(分析)。

如需针对网页的各种变体运行服务器端实验,请执行以下操作:

  1. 在优化工具中创建实验
  2. 设定实验目标
  3. 设置实验定位
  4. 创建变体
  5. 启动实验
  6. 获取实验 ID

实验运行时:

  1. 设置实验 ID 并从服务器中选择变体
  2. 向变体中添加 Google Analytics(分析)跟踪代码

在优化工具中创建实验

使用此方法时,您可以创建并运行 A/B 测试多变量测试 (MVT)

如需创建 A/B 测试,请执行以下操作:

  1. 打开优化工具帐号
  2. 选择容器。
  3. 点击创建实验
  4. 输入实验名称。
  5. 忽略此时系统显示的网址字段。输入一个您网站上不存在的占位符网址。
  6. 选择 A/B 测试
  7. 点击创建

设定实验目标

这些目标将用于衡量您的测试结果。

  1. 在实验页面中,点击配置下的目标
  2. 从下拉列表选择主要目标。
  3. 点击保存

设置实验定位

您的服务器端代码会处理实验定位条件,因此优化工具不会使用您在此处输入的信息。但是,优化工具需要您设置一条网址规则。

  1. 在实验页面中,点击配置下的定位
  2. 点击创建规则
  3. 点击网址
  4. 选择等于匹配类型,然后输入 SERVER_SIDE 作为值。请勿使用以“http”或“https”开头的网址或字符串,因为如果您的网站添加了优化工具代码,则此服务器端实验将永远不会针对您的网站触发。

    定位网址值

  5. 点击添加
  6. 点击保存

创建变体

要创建变体,请重复以下步骤:

  1. 在实验页面中,点击变体下的新建变体
  2. 输入变体名称(例如变体 1)。
  3. 点击添加
  4. 点击保存

启动实验

在实验页面中,点击启动实验

启动实验

获取实验 ID

实验 ID 显示在实验详情页面的右侧面板上:

实验 ID

实现实验

实验包含一个实验 ID 以及两个或更多变体(包括原始版本)。每个变体都有一个变体 ID,该 ID 是一个索引,从 0 开始。例如,如果某个网页有 6 个变体,则变体 ID 将与变体在界面中的顺序一致,从原始版本对应的编号 0 开始。

设置实验 ID 并从服务器中选择变体

如果某个网页上正在运行实验,那么当用户打开该网页时,服务器会向浏览器返回一个变体。如果您持续向用户提供同一变体,他们将获得更加一致的体验,因此我们建议您采用可实现这一点的变体分配方法,例如 ID 哈希算法。此外,如果某位用户在一次会话中看到同一实验的多个不同变体,那么该会话将不会计入实验中。例如,以下代码会针对包含 3 个变体的实验选择一个变体:

<?php
// Sets the ID of the experiment on variations of this web page.
$experimentId = '16iQisXuS1qwXDixwB-EWgQ';

// Randomly picks a variation for the user.
$variationId = rand(0, 2);
?>

向变体中添加 Google Analytics(分析)跟踪代码

请向每个变体中添加 Google Analytics(分析)跟踪代码,以便:

  1. 加载 analytics.js 库。
  2. 创建跟踪器。
  3. 设置实验 ID 和变体 ID。
  4. 向 Google Analytics(分析)发送至少一项命中数据(例如网页浏览量)。

例如:

<html>
<head>
<script>
  // 1. Load the analytics.js library.
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  // 2. Create a tracker.
  ga('create', 'UA-XXXXX-Y', 'auto');

<?php
<<<HTML
  // 3. Set the experiment ID and variation ID.
  ga('set', 'exp', '$experimentId.$variationId');
HTML;
?>
  // 4. Send a pageview hit to Google Analytics.
  ga('send', 'pageview');
</script>
</head>
<body>
<!-- Content -->
</body>
</html>

报告多变量测试命中

多变量测试 (MVT) 可让您测试两个或更多元素或部分,以了解它们之间的相互影响。多变量测试可确定最有效的变体组合,而不是显示哪个网页变体最有效(如在 A/B 实验中)。例如,一个多变量测试实验包含“颜色”和“字体”两个部分:“颜色”部分包含三个变体(红色、绿色和蓝色),而“字体”部分仅包含两个变体(10pt 和 12pt)。

您的服务器需要为每个部分选择一个变体,然后将这些信息报告给 Google Analytics(分析)。该步骤与在 A/B 测试中的步骤相同,但变体的设置除外。

如需报告多变量测试实验的变体,请使用“-”分隔每个部分所选的变体:

[variant for section 1]-[variant for section 2]-...-[variant for section N]

例如,下面列出了上述多变量测试实验中的三种变体。鉴于上述包含“颜色”和“字体”部分的多变量测试实验(包含四个变体的颜色部分:0 = 原始颜色、1 = 红色、2 = 绿色、3 = 蓝色,以及包含三个变体的字体部分:0 = 原始字体、1 = 10pt、2 = 12pt):

  • “0-0”表示原始颜色和字体
  • “1-0”表示红色和原始字体
  • “2-1”表示绿色和 10pt 字体

例如,以下代码为实验选择了 0-0(原始颜色和字体):

ga('set', 'exp', '$experimentId.0-0');