用刮刮卡 A/B 测试找出更好卖的奖励

一个虚构的服装品牌在同一封邮件中测试两种新品上市奖励。两个变体收到同一张刮刮卡,只有卡片下的奖励不同。计划在发送前锁定,样本经过均衡,由购买转化率决定胜出者。

示例场景:本页中的品牌、人物和所有数据均为虚构。

主题

Grunge is back: the 90s Edit

免运费还是 10% 折扣:哪种奖励能把更多订阅者变成买家?本指南用实验的方式来回答。把两种奖励藏在同一张刮刮卡下面,同时发出两个版本,让购买来决定。

Retro Revival 是一个虚构的服装品牌,这里的所有数字都是为了举例而编造的。这次测试的概况:50,874 位订阅者 · 2 个奖励变体 · 7 天观察期。

认识 Retro Revival

Retro Revival 用回收材料和有机材料设计复古风格的服装,并与独立手工艺人合作制作。新系列 Grunge Revival: The 90s Edit 重现了 90 年代的另类时尚。

为了推出新系列,营销团队想给订阅者一份奖励。他们没有去猜哪种奖励有效,而是设计了一个对照实验,按购买来决定。

同一封邮件,只有一处不同

每位收件人收到的都是同一封邮件:标题行、系列介绍文案、商品轮播、刮刮卡和商店按钮都一样。只有卡片下揭晓的奖励不同。这样,购买上的差异就可以归因于奖励,而不是设计。

变体 A

标题行
主图
商品轮播图
刮刮卡奖品10% 折扣
购物按钮
页脚

变体 B

标题行
主图
商品轮播图
刮刮卡奖品免运费
购物按钮
页脚
各变体邮件之间的不同之处
邮件的部分变体 A变体 B
标题行相同相同
主图相同相同
商品轮播图相同相同
刮刮卡奖品10% 折扣免运费
购物按钮相同相同
页脚相同相同
两个变体收到同一封邮件。只有刮刮卡下的奖品不同,所以购买上的差异可以归因于奖励。

这两个版本是同一个实验的变体。实验会把每个变体与对照组比较,只有对照组以外的变体才能被判为胜出。所以,对照组应该是你无论如何都会发的那个优惠。这里是 10% 折扣,即变体 A。免运费是变体 B。

两个变体共用一封邮件。在工作室中,从工具栏的变体菜单里选一个变体,只为这个变体修改卡片的奖品。可以在下面试试两个变体:刮开卡片、查看揭晓后的样子,或查看不支持刮刮卡的邮件应用显示的回退版本。

实际发出的样子。刮开卡片即可揭晓奖励。

变体 A · 10% 折扣 (对照组)

主题

Grunge is back: the 90s Edit

变体 B · 免运费

主题

Grunge is back: the 90s Edit

只有奖励不同。标题行、文案、轮播图和按钮都相同。

卡片的商店按钮放在揭晓的奖品内。在刮刮卡能运行的应用中,卡片刮开后按钮才会出现,所以点击发生在看到奖励之后。邮件里卡片下方没有第二个按钮,因为那个按钮不揭晓也能点。两种位置的对比见链接的位置。

发送前先预注册

在假设与指标这一步,团队在发送任何内容之前先把计划写下来:

  • 假设: 免运费会比 10% 折扣把更多订阅者变成买家。
  • 主要指标: 购买转化率,即邮件已送达的收件人中完成购买的比例。只有这一个数字决定实验结果。
  • 次要指标: 唯一点击率和每封送达邮件收入。它们用来解释结果,但不决定结果。
  • 护栏指标: 退订率。胜出的变体在这一项上不能明显更差。
  • 显著性水平: 5%(双侧),在 7 天观察期上做固定期限分析。

团队没有选用观测到的揭晓率和揭晓后点击率。MailInApp 目前还不记录收件箱中的揭晓。而且揭晓后的点击还取决于谁选择了揭晓,所以这个指标不是随机化的比较。

在检查并锁定这一步点击锁定预注册,会固定假设、指标、受众和变体,并抽取样本。结果出来后,谁也不能改用一个看起来更好的指标。

找准订阅者

The 90s Edit 面向喜欢摇滚和 90 年代的订阅者。在受众与样本这一步,团队选择有 50,874 位联系人的列表,并添加两条筛选规则:摇滚–另类 且 90 年代。受众人数卡片显示每个阶段:

  1. 列表中50,874
  2. 符合条件46,320

    已排除

    • 已退订或已退信 · 2,870
    • 没有营销许可 · 704
    • 经验证无效的地址 · 612
    • 尚未确认订阅 · 236
    • 已退订此邮件的主题 · 98
    • 地址缺失或格式错误 · 34
  3. 已定位6,420

    Rock–Alternative和1990 年代

  4. 参与实验4,000
    • 变体 A · 10% 折扣 · 2,000
    • 变体 B · 免运费 · 2,000
受众各阶段的联系人数
阶段联系人
列表中50,874
符合条件46,320
已定位6,420
参与实验4,000
已排除: 已退订或已退信2,870
已排除: 没有营销许可704
已排除: 经验证无效的地址612
已排除: 尚未确认订阅236
已排除: 已退订此邮件的主题98
已排除: 地址缺失或格式错误34
变体 A · 10% 折扣2,000
变体 B · 免运费2,000
每个阶段都在前一个阶段的基础上缩小。首先排除无法接收邮件的联系人。然后筛选条件保留同时具有两种兴趣的联系人,再从中抽取样本并分配到各个变体。
  • 符合条件在定位之前确定。有 4,554 位联系人根本不能发送邮件,原因列在已排除列表中:已退订、没有营销同意、地址无效等。剩下 46,320 位。
  • 已定位只对符合条件的联系人应用筛选。喜欢摇滚–另类的有 11,240 位,喜欢 90 年代的有 14,870 位,但两者都喜欢的只有 6,420 位。
  • 参与实验就是样本:4,000 位,每个变体 2,000 位。

抽样之前,团队按 customer_type 字段查看受众洞察。在 6,420 位已定位的联系人中,2,311 位是客户,3,981 位是潜在客户。128 位没有值,归入无值分组,数量很小,可以不做处理。

受众取决于背后的列表。字段和同意的内容见搭建可用于测试的订阅者数据库,筛选本身见用“且”和“或”组合受众筛选。

公平地抽样和分配

团队按 customer_type 选择均衡随机样本。样本在客户、潜在客户和无值联系人中分别抽取,所以两个变体的构成相同:每个变体各有 720 位客户、1,240 位潜在客户和 40 位无值联系人。简单随机样本平均来说是公平的,但任何一次抽样都可能出现偏差。

已定位的联系人

变体 A · 10% 折扣变体 B · 免运费
  • 客户
  • 潜在客户

每个点代表 80 位联系人。

每个变体的联系人数(均衡随机样本)
变体客户潜在客户无客户类型
变体 A · 10% 折扣7201,24040
变体 B · 免运费7201,24040
一次普通随机抽样中每个变体的点数
变体客户潜在客户
变体 A · 10% 折扣1114
变体 B · 免运费718
均衡随机样本在每种客户类型内分别抽样,所以各变体一开始的构成就相同。普通随机样本平均来看是公平的,但任何一次抽样都可能出现偏差。

每位联系人只在一个变体中,没有人会同时收到两种奖励。排除已在其他实验中的联系人可以防止之前某次测试的优惠渗入这次实验。

每个变体 2,000 位够吗?对于团队期望的提升,样本量规划给出的答案是不够。要把购买率从 3.7% 提高到 5.0%,即提高 1.3 个百分点,每个变体需要 3,943 位联系人。

总共 4,000 位时,测试能可靠地发现约 1.9 个百分点的提升。团队明知更小的真实差异可能被漏掉,仍然决定继续。规划工具的用法见了解你的 A/B 测试需要多少联系人。

奖励与启动

在奖励与归因这一步,变体 A 设为 10% 的按比例折扣,变体 B 设为免运费。两个变体的优惠码都有效 7 天,所以哪种优惠都不会多出起效的时间。每位收件人都会获得与其本人绑定的一次性优惠码。优惠码在发送时,由连接到实验联系人列表的 Shopify 或 WooCommerce 商店生成。

刮刮卡的奖品链接是 {{discount_url}} 合并标签,它会带着每位收件人自己的优惠码把他们送到商店。本页的预览直接链接到商店,因为预览无法生成优惠码。

对于免运费,团队把每笔订单的平均运费填为 $5.50。每笔免运费订单都会把这笔钱计为促销成本。在 WooCommerce 上,免运费优惠码还需要一个接受优惠券的 Free Shipping 配送方式,没有时这一步会提示。

同一步还要设置订单归因:把商店订单匹配到变体的规则,在锁定时固定。团队保留了三条默认规则:优惠码、跟踪链接和邮件内结账。**邮箱地址(可能)**保持关闭,所以计入的每笔订单都是确定的匹配。

启动会按实际发送的样子生成每个变体的邮件。只要某个变体的邮件在任何位置(包括回退版本)显示了另一个变体的奖励,就会拒绝启动。之后,两个变体在同一时间发出,在相同的几分钟内交替发送。每个变体有 40 封邮件退信,所以每个变体送达 1,960 封。下面的所有比率都是相对这些已送达邮件计算的。

刮开之后会发生什么

刮开卡片发生在收件人的邮件应用里。MailInApp 目前还不记录收件箱中的揭晓,所以本指南无法显示有多少人刮开了卡片,也无法显示谁刮开后没有点击。MailInApp 能收到的,是对奖品链接的点击。

邮件应用

免运费
立即选购
MailInApp
刮开卡片
只发生在邮件应用内。收件箱中的揭晓不会被记录。
点击奖品链接
传到 MailInApp 并被记录。
MailInApp 从刮刮卡记录的内容
动作是否记录
刮开卡片否
点击奖品链接是
按钮位置带来的可能
按钮位置不揭晓也能点击
揭晓的奖品内否
卡片下方是
目前 MailInApp 能从收件箱记录的,是奖品链接的点击。按钮的位置决定了这次点击能说明什么。

因为按钮放在揭晓的奖品内,在刮刮卡能运行的邮件应用中,点击发生在揭晓之后。在显示回退版本的应用中,奖品和链接从一开始就能看到。

唯一点击人数方面,免运费是 294 人,10% 折扣是 265 人:分别占已送达邮件的 15.0% 和 13.5%。相差 1.5 个百分点,但 p = 0.185。点击上的差异只是一个方向,并不显著:可能只是偶然。

独立点击者

  • 变体 A · 10% 折扣13.5%
  • 变体 B · 免运费15.0%

共送达 1,960 封

购买者

  • 变体 A · 10% 折扣3.7%
  • 变体 B · 免运费5.0%

共送达 1,960 封

各变体的互动阶段
阶段变体 A · 10% 折扣变体 B · 免运费基数
独立点击者265 (13.5%)294 (15.0%)共送达 1,960 封
购买者72 (3.7%)98 (5.0%)共送达 1,960 封
每组柱状条都是一项独立的衡量,有各自的基数。它们不是转化漏斗的步骤:有人可以不经跟踪点击就购买,因为优惠码也能把订单关联到它的变体。

点击的人和购买的人是两个独立的指标,都以 1,960 封已送达邮件为基数。它们不是漏斗的各个阶段。有人可以不经过跟踪点击就购买,因为优惠码也能把订单匹配到它的变体。

由购买来决定

观察期结束后,结果页面会读取主要指标。免运费组有 98 位收件人购买,10% 折扣组有 72 位:分别是 5.0% 和 3.7%。

变体 B 减去变体 A+1.33 个百分点95% · +0.05 至 +2.62显著
  1. 第 1 天
  2. 第 2 天
  3. 第 3 天
  4. 第 4 天
  5. 第 5 天
  6. 第 6 天
  7. 第 7 天
0+1+2+3

无差异

购买转化率,变体 B 减去变体 A,按天
日期差异区间
第 1 天+0.46 个百分点-0.28 至 +1.22
第 2 天+0.77 个百分点-0.20 至 +1.74
第 3 天+0.97 个百分点-0.11 至 +2.07
第 4 天+1.12 个百分点-0.04 至 +2.30
第 5 天+1.22 个百分点+0.01 至 +2.45
第 6 天+1.28 个百分点+0.02 至 +2.54
第 7 天+1.33 个百分点+0.05 至 +2.62
独立点击者,变体 B 减去变体 A,观察期结束时
指标差异区间
独立点击者+1.5 个百分点-0.7 至 +3.7
变体 B 减去变体 A,单位为百分点,每天结束时的数值及其 95% 区间。所有人都在第一天收到了邮件,所以区间不会收窄。它逐渐离开零,并在第 5 天第一次不再包含零。

结果句子说,免运费比 10% 折扣高 1.33 个百分点。真实的提升很可能在 0.05 到 2.62 个百分点之间,p = 0.041。这低于 5% 的显著性水平,所以这个差异是显著的。按相对值算,免运费多卖给了 36.1% 的收件人。

区间很宽,下限接近零。在这里免运费很可能卖得更多,但多多少并不确定。回想一下规划工具:这次测试只能可靠地看出约 1.9 个百分点的差异,所以 1.33 个百分点的结果算是运气好。

护栏指标退订率没有问题:免运费是 0.20%,10% 折扣是 0.26%,所以它不会阻止胜出的变体。

收入与促销按变体显示金额,以美元计:

10% 折扣(A,对照组)免运费(B)
购买人数7298
平均订单金额$78.00$72.00
收入$5,616$7,056
每位送达收件人收入$2.87$3.60
促销成本$624$539
优惠码核销3.6%4.9%

收入不含税费和运费,并且已扣除折扣。这不是利润计算。

收入

  • 变体 A · 10% 折扣US$5,616
  • 变体 B · 免运费US$7,056

促销成本

  • 变体 A · 10% 折扣US$624
  • 变体 B · 免运费US$539
不是利润计算不含税费和运费。折扣已扣除。
各变体的收入与促销成本(美元)
指标变体 A · 10% 折扣变体 B · 免运费
收入US$5,616US$7,056
促销成本US$624US$539
收入不含税费和运费,折扣已经扣除。促销成本是订单的折扣,加上每笔免运费订单的估算运费。这不是利润计算。

免运费的订单金额更小,但购买的人更多。每封送达邮件收入在免运费组更高,但 p = 0.13:单看这一项并不显著。它是次要指标,所以只解释结果,不决定结果。

促销成本是每种奖励送出去的部分。对 10% 折扣来说,是每笔订单的折扣。对免运费来说,是每笔免运费订单估算的 $5.50 运费。这两列都不是利润:已售商品的成本不在其中任何一列。

每笔订单通过归因规则匹配到它的变体,规则按固定顺序检查。第一条匹配的规则做决定,其余的不再检查。只有在 7 天观察期内下的订单才计入。

带变体优惠码的订单

  1. 1优惠码订单使用了该实验组的优惠码。即使在数天后也是最可靠的匹配。匹配
  2. 2跟踪链接买家通过邮件中带标记的链接进入。未检查
  3. 3邮件内结账通过商品区块的结账完成购买。未检查
  4. 4邮箱地址(可能)买家的地址与观察期内点击过的收件人一致。报告为可能匹配。未检查
带变体优惠码订单的归因检查
顺序规则结果
1优惠码匹配
2跟踪链接未检查
3邮件内结账未检查
4邮箱地址(可能)未检查
没有优惠码订单的归因检查
顺序规则结果
1优惠码不匹配
2跟踪链接不匹配
3邮件内结账不匹配
4邮箱地址(可能)匹配
每笔订单都按此顺序检查,遇到第一项匹配即停止。只检查锁定前选定的规则,也只计入观察期内下的订单。

Retro Revival 的每位买家都使用了自己的优惠码,所以优惠码核销与购买人数一致:每个变体 2,000 个优惠码中分别有 72 个和 98 个被使用。也就是说,所有订单都由第一条规则决定。结果页面的订单卡片会显示每条规则匹配到多少笔订单。退款和其他货币的处理见收入指标。

记录决定并结束

实验以团队自己记录的决定结束。点击记录决定会打开一个对话框:选择胜出,变体 B,免运费。理由中写明购买差异显著、点击和收入不显著、区间很宽。与决定一起保存的证据来自分析:显著。

接着,结束实验会让记录成为最终版本。导出可以把报告下载为 PDF、CSV 表格或 JSON。报告包含预注册、各变体的数字、各项检查和决定,不含姓名或地址。

  1. 草稿
  2. 已锁定
  3. 已计划
  4. 发送中
  5. 观察中
  6. 分析中
  7. 已决定或无定论
  8. 已关闭

部署胜出组

做出决定后的一次单独发送,不是一个状态。

实验的各个状态,按顺序排列
步骤状态
1草稿
2已锁定
3已计划
4发送中
5观察中
6分析中
7已决定
7无定论
8已关闭
不在这条线上部署胜出组
锁定会在发送任何邮件之前冻结计划。记录决定就回答了实验的问题。把胜出组发给更多人是另一个步骤。

实验到这里就结束了。把免运费记录为胜出,回答了实验的问题。这不会发送任何内容。把免运费提供给其余受众,是另一项操作,有自己的受众和时间安排:把胜出的版本发给其余受众。

三点启示

  1. 只改一处。 两个变体收到的是同一封邮件,所以购买上的差距来自奖励。用一封邮件、每个变体做一处覆盖,就能保持这一点。
  2. 点击指方向,购买做决定。 免运费带来了更多点击,但并不显著。只有发送前确定的主要指标选出了胜出的变体。
  3. 做出决定不等于发送。 团队把免运费记录为胜出,并附上证据。考虑到运费成本后再把它发给更多人,是之后的事。

如果结果无定论呢?

假设免运费组购买的收件人是 85 位而不是 98 位。那就是 4.3% 对 3.7%,p = 0.29。结果页面会显示无定论:没有足够的证据做出选择。

这是正常且有用的结果。它说明即使存在差异,也小于这次测试能看出的程度。团队会附上理由记录无定论,并继续把 10% 折扣作为常规优惠。想了解更多,可以用规划工具安排更大的样本或更长的观察期,再做一次新实验。团队不会因为免运费的比率更高,就把它称为胜出。

开始使用

在工作室中打开邮件,添加一张刮刮卡,并把它的奖品链接设为 {{discount_url}}。然后用作为实验运行开始一个实验,为每个变体设置奖励,并在发送前锁定计划。每一步的说明见实验(A/B 测试),如何解读返回的结果见解读实验结果。

典型的构建与发送流程

  1. 1

    预注册测试

    写下假设,选择购买转化率作为主要指标,添加次要指标和退订率护栏指标,并设置 7 天的观察期。

  2. 2

    定位受众

    选择联系人列表并添加筛选,例如用“且”组合两个兴趣。受众人数卡片会显示哪些人符合条件、哪些人被定位。

  3. 3

    抽取均衡样本

    按客户类型等字段选择均衡随机样本,让每个变体的构成相同,并查看规划工具给出的可检测的最小差异。

  4. 4

    为每个变体设置奖励

    在奖励与归因中,为每个变体设置各自的优惠,优惠码有效天数相同,并把刮刮卡的奖品链接设为 {{discount_url}}。

  5. 5

    锁定并启动

    锁定预注册会固定计划并抽取样本。启动时会检查没有哪个变体的邮件显示了另一个变体的奖励,然后同时发出两个变体。

  6. 6

    解读结果

    观察期结束后,查看购买转化率的差异、区间和 p 值。点击和收入用来解释结果,但不决定结果。

  7. 7

    记录决定

    用记录决定登记胜出者或无定论,并写下理由。结束实验;如果需要,再把胜出者作为另一项操作发出。

常见问题

为什么按购买而不是按点击来决定?

奖励要改变的是购买,所以购买转化率是主要指标。点击是次要指标:它有助于解释结果,但一个只带来点击、不带来销售的奖励并不是更好的优惠。

为什么不按刮卡次数来决定测试?

MailInApp 目前还不记录收件箱中的揭晓,所以无法统计刮卡次数。而且对卡片的好奇并不等于购买:两种奖励都在同一张卡片下,所以起决定作用的是人们看到自己的奖励之后做了什么。

如果结果无定论怎么办?

附上理由记录无定论。这是正常的结果:即使存在差异,也小于这次测试能看出的程度。继续使用常规优惠,并在新实验中安排更大的样本或更长的观察期。

胜出的奖励会自动发给所有人吗?

不会。记录决定只是把证据显示的内容记下来。把胜出的邮件发给其余受众是另一项操作,即部署胜出组,由你自己选择并发送。

在工作室中构建它

从免费套餐开始——每个套餐都包含全部互动模块和完整的降级引擎。