关于 19-ab-test-setup
用于设计和评估广告、落地页、邮件及产品元素 A/B 测试的营销技能。重点是每次只测试一个变量,并设定样本量与周期要求、记录结果后再判定胜出版本。
主要功能
- 01单变量测试设计
- 02假设与指标选择
- 03样本量和测试周期指引
- 04测试变量优先级
- 05胜出标准与测试记录
适用场景
- 01测试广告开场或形式
- 02比较落地页标题或表单
- 03为流量有限的场景规划实验
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ minhnv0807/ ai-business-skills --skill 19-ab-test-setup安装后在 Claude Code 中输入/19-ab-test-setup确认已加载。
附带文件references/sample-size-va-y-tuong-test.md
详细介绍
A/B 测试设置
收集信息
步骤 0:检查上下文
如果存在,请阅读 .agents/product-marketing-context.md。
步骤 1:询问用户
- 测试什么?(广告标题 / 落地页 / 邮件主题 / 价格 / CTA 按钮 / 视频创意)
- 主要指标是什么?(CTR / 转化率 / CPMess / 收入 / 打开率)
- 页面/广告的日流量是多少?(用于计算所需的样本量)
- 测试目标是什么?(将主要指标提高 X% / 找出最佳版本)
A/B 测试的 7 项原则
1. 一次只测试一个变量
核心规则。 如果同时测试 2 个变量 → 就不知道是哪个变量产生了影响。
- 差:更改标题 + 更改 CTA + 更换图片 → 无法得出结论
- 好:只更改标题(A vs B),其他一切保持不变
唯一的例外——测试视频开场钩子。 钩子和紧接其后的 3-15s 起步段是一组不可拆分的内容:只换钩子,却保留旧视频的其余部分,会造成衔接断裂、留存率骤降,使结果失去意义。测试钩子时,要为每个钩子重写相匹配的起步段,并将测试变量记录为“钩子 + 起步段”。详情:references/hook-formulas-vn.md。
2. 可检验的假设
格式:“如果实施 [X],指标 [Y] 将提高 [Z%]”
- 好:“如果将 CTA 从‘注册’改为‘免费获取咨询’,转化率将提高 15%”
- 差:“新文案更好”(不具体、无法衡量)
3. 样本量充足
不要过早停止测试。
- 最低要求:每个版本 100 次转化(不是 100 名访客)
- 最好:提前计算(见下方公式)
4. 测试时间充足
按完整周测试(不要测 3 天,也不要测 10 天)——客户在不同日期的购买行为各不相同。
- 最少:7 天
- 建议:14 天
5. 不要过早查看结果
不要每小时查看一次结果。 在测试期限结束且样本充足之前,不要查看结果。
- 过早查看 + 过早停止 = 假阳性。
6. 显著性 > 95%
只有在 p-value < 0.05 时才可信。 否则就是随机结果,而不是你的变量造成的影响。
7. 记录文档
记录以下内容:
- 假设
- 开始日期 / 结束日期
- 样本量
- 结果
- 结论
→ 这样以后就不会重复测试已经测试过的内容。
样本量计算公式
如果不想手动计算,或者不知道接下来该测试什么,请阅读
references/sample-size-va-y-tuong-test.md——其中包含预先计算好的样本量查询表、流量过低时的解决方法,以及按不同层面整理的 70+ 个测试创意及其假设。
简单公式
Sample size/variant =
16 × p × (1-p) / MDE²
Trong do:
p = Baseline conversion rate hien tai (vi du 0.02 = 2%)
MDE = Minimum Detectable Effect (muc do thay doi toi thieu ban muon phat hien, vi du 0.2 = 20% tang)
示例
当前落地页转化率为 3%,希望检测出 20% 以上的变化:
- p = 0.03
- MDE = 0.2 × 0.03 = 0.006(即从 3% 提高到 3.6%)
- 样本量 = 16 × 0.03 × 0.97 / 0.006² = 每个版本 12,933 次访问
=> 总共需要 25,866 次访问;如果每天有 500 次访问 → 需要 52 天。
当前落地页转化率为 10%,希望检测出 20% 以上的变化:
- p = 0.10
- MDE = 0.02(从 10% 提高到 12%)
- 样本量 = 16 × 0.10 × 0.90 / 0.02² = 每个版本 3,600 次访问
=> 总共需要 7,200 次访问;每天 500 次 → 需要 14 天(可行)。
快速规则
| 日流量 | 转化率 | 所需时间 | 建议测试吗? |
|---|---|---|---|
| < 100 次访问 | 任意 | 2+ 个月 | 不建议——流量太低 |
| 100-500 | 2-5% | 3-6 周 | 可以,但要有耐心 |
| 500-2K | 2-5% | 2-3 周 | 可以——理想情况 |
| 2K+ | 任意 | 1-2 周 | 可以——速度快 |
如果流量较低(< 100 次/天)→ 不要测试,先专注于增加流量。
建议测试的 8 个要素(按优先级排序)
1. 标题
影响最大。 80% 的人会读标题,20% 会读正文 → 优化标题是最小的改动。
创意:
- 问句 vs 陈述句
- 具体数字 vs 泛泛而谈
- 聚焦结果 vs 聚焦功能
- 短(5-7 个词)vs 长(12-15 个词)
2. CTA 按钮
容易进行对比测试的改动。 通常可提升 5-25%。
测试:
- 文案:“注册” vs “免费获取咨询” vs “立即开始”
- 颜色:主色蓝 vs 红色 vs 橙色
- 尺寸:标准 vs 大号
- 位置:页面顶部 vs 页面底部
3. 主视觉图片 / 视频
测试:
- 产品图片 vs 用户图片
- 视频 vs 静态图片
- 用户证言视频 vs 演示视频
4. 价格展示
测试:
- 299K vs 299,000 vs 299.000đ
- 是否将折扣价加删除线
- 按月 vs 按年突出显示
5. 社会认同
测试:
- 简短数据 vs 详细评价
- 媒体 Logo vs 客户数量
- 视频评价 vs 文字评价
6. 表单字段
测试:
- 3 个字段 vs 5 个字段 vs 7 个字段
- 标签置顶 vs 置于左侧
- 使用示例占位符 vs 不使用
7. 邮件主题行
测试:
- 提问式 vs 强调收益
- 个性化([Ten])vs 不个性化
- 使用表情符号 vs 不使用(越南语:不使用表情符号效果更好)
8. 广告创意
测试:
- 开头 3 秒的不同 Hook
- UGC vs 品牌内容
- 格式:单图 vs 轮播图 vs 视频
测试变量优先级矩阵
不要凭感觉测试。先按影响、再按易操作性选择变量。
| 变量 | 对结果的影响 | 实施难度 | 优先级 | 主要指标 |
|---|---|---|---|---|
| 创意 — 0-3 秒 Hook | 非常高(决定 CTR 和 CPM) | 简单 — 只需更换开头 3 秒 | 1 | Hook rate、CTR |
| 受众 / 人群 | 高(决定谁能看到广告) | 简单 — 更改设置 | 2 | CPM、CPL |
| Offer / CTA | 非常高(决定用户能获得什么) | 中等 — 需要业务决策 | 3 | CVR、CPL |
| 落地页 | 高(点击后的体验) | 困难 — 需要开发 / 设计 | 4 | CVR、跳出率 |
| 广告文案(正文) | 中等 | 简单 | 5 | CTR、CVR |
| 颜色 / 字体 / 小细节 | 低 | 简单 | 6 | — |
**规则:**完成优先级 1 的变量测试后,再进入优先级 2。Hook 还没测试过,就不要直接跳去测试按钮颜色。
平台广告测试流程
创意测试顺序(依次进行,不要并行)
| 轮次 | 测试内容 | 做法 | 查看指标 |
|---|---|---|---|
| 1 | 0-3 秒 Hook | 使用 3-5 个不同的 Hook,正文和 CTA 保持不变 — 痛点 vs 好奇心 vs 社会认同 | Hook rate |
| 2 | 格式 | 竖屏视频 vs 静态图片 vs 轮播图 | CTR、CPM、CPL |
| 3 | 切入角度 | 好处 vs 问题 vs 转变(before-after) | CTR、CVR |
| 4 | 时长 | 15s vs 30s vs 60s | 观看率、CTR、CPL |
人群测试框架
| 测试 | 方案 A | 方案 B |
|---|---|---|
| Broad vs Interest | 广泛人群(让系统自行寻找) | 具体兴趣 |
| 兴趣 A vs B | [兴趣群组 1] | [兴趣群组 2] |
| 年龄 | 25-34 | 35-44 |
| Lookalike | 1% LAL | 3% LAL |
| 展示位置 | 自动 | 仅 Feed |
测试预算与时长
| 项目 | 实用门槛 |
|---|---|
| 用于测试的预算比例 | 总预算的 30%(测试 30% · 扩量 50% · 再营销 15% · Lookalike 5%) |
| 最低预算 | 足以让每个变体每天至少获得 1 次转化 — 低于此水平,测试永远无法得出结论 |
| 最短时长 | 完整的 7 天(不是 3 天,也不是跨 10 天的零散时间) |
| 最低样本量 — 平台广告测试 | 每个变体 50 次转化(或在测试 CTR 时达到 1,000 次点击) |
| 理想样本量 — 落地页测试 | 每个变体 100 次转化,或按照上面的公式计算 |
| 提前停止 | 仅当某个变体的 CPL 在 3 天后仍 > 目标的 2 倍时,才提前停止该变体,不要停止整个测试 |
两个不同的样本量门槛是有意为之:50 是广告测试的实用门槛(平台持续投放,后续还会有多轮测试),100 是落地页测试的理想门槛(通常只测试 1 次,修改后很难重测)。
胜出标准与决策流程
只有同时满足全部 4 项,才具备得出结论的条件
- 已投放 >= 7 天
- 每个变体 >= 50 次转化(或在测试 CTR 时 >= 1,000 次点击)
- 置信度 >= 95%(p-value < 0.05)
- 胜出变体的主要指标提升 >= 15%
决策表
| 结果 | 决策 | 下一步 |
|---|---|---|
| 明确胜者(>= 15%,数据充足,p < 0.05) | 扩大胜者的投放,将失败版本归档 | 55-scaling-ads |
| 差距 < 15% | 平局 — 保留对照组,转而测试其他变量 | 返回优先级矩阵 |
| 指标相互矛盾(例如,B 的 CTR 更高,但 A 的 CPL 更好) | 按照一开始确定的主要指标判断,不要中途更换指标 | — |
| 截止时仍未达到足够样本量 | 延长 3-7 天,或得出“数据不足”的结论并记录到日志中 | — |
| 两个变体都不如基准版本 | 问题不在当前测试的变量上 | 21-audit-ads-performance |
今天的胜者 = 下一轮测试的基准版本。 测试没有终点 — 每一轮都将上一轮的胜者作为新的对照组。
测试日志 — 累积测试记录
此表的重要性不亚于每次测试的结果。6-12 个月后,日志中的模式会告诉你哪些类型的变量真正能在你的行业中带来差异。
| # | 开始日期 | 结束日期 | 测试变量 | 对照组(A) | 变体(B) | 主要指标 | 结果 | p-value | 提升幅度 | 操作 | 经验 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 胜者 A / 胜者 B / 平局 | 扩大投放 / 归档 / 重新测试 | |||||||||
| 2 |
日志记录纪律
- 记录失败测试和平局测试。 测试失败也是信息 — 它能避免你重复测试已知无效的方法。
- “经验”一栏不得留空。 如果没有任何收获,说明该测试的设计有问题。
- 每季度审查一次日志。 统计哪些类型的变量经常胜出 → 下个季度优先测试这些类型。
- 如果流量充足,每月至少进行 1 次测试。不测试 = 不改进,只是在重复。
跟踪设置
推荐工具
| 工具 | 适用场景 | 费用 |
|---|---|---|
| Meta Ads A/B test built-in | 测试广告(创意/受众/版位) | 免费 |
| TikTok Ads Split test | 测试 TikTok 广告 | 免费 |
| Google Optimize(已弃用) | 已停止服务 — 替代工具:VWO、Convert.com | $199/月起 |
| PostHog | 测试产品功能、落地页 | 免费套餐可用 |
| Unbounce / Instapage | 内置落地页 A/B 测试 | $90/月起 |
| 手动(拆分 URL) | 简单方式,50/50 URL 重定向 | 免费 |
简单设置(无工具)
1. Tao 2 phien ban landing page: /page-a va /page-b
2. Split traffic 50/50:
- Qua Meta Ads: 2 ad set cung audience, khac link dich
- Qua Google Ads: 2 ad cung traffic, khac link
- Qua organic: dung URL rewrite (rare)
3. Tracking conversion rieng tung page:
- Meta Pixel: event "Lead" voi custom parameter "page_version" = A/B
- GA4: UTM campaign=test-header, utm_content=a/b
4. Sau 14 ngay + du sample, export data
分析结果
计算显著性(p-value)
使用在线计算器: https://www.evanmiller.org/ab-testing/chi-squared.html
输入:
- 变体 A:访客数量 + 转化数量
- 变体 B:访客数量 + 转化数量
输出:
- p-value:如果 < 0.05 → 显著(95% 置信度)
- 提升幅度:增长百分比
结论
| p-value | 提升幅度 | 结论 |
|---|---|---|
| < 0.05 | > 5% | B 获胜 — 实施 B |
| < 0.05 | < 5% | 具有显著性但提升较小 — 评估成本 |
| 0.05-0.10 | > 10% | 结果处于临界范围 — 延长测试 |
| > 0.10 | 任意 | 不显著 — 保留 A 或继续测试 |
常见陷阱
- 过早查看结果并停止测试。 测试时间太短 → 结果可能只是随机的。
- 样本分配不均。 如果拆分比例是 30/70,而不是 50/50 → 检查投放渠道是否存在问题。
- 季节性。 周日(T6)的测试与周二至周三(T2-T3)不同 → 始终测试完整一周。
- 新鲜感效应。 新版本在前 2-3 天会吸引注意力 → 之后效果就会趋于平稳。
输出模板
# A/B Test: [Ten test]
Ngay tao: [YYYY-MM-DD]
Chu so huu: [Ten nguoi]
## 1. Gia thuyet
"Neu [thay doi X], [metric Y] se tang [Z%]"
## 2. Bien test
- Variant A (Control): [Mo ta hien tai]
- Variant B (Challenger): [Mo ta thay doi]
- Chi thay doi: [1 thing]
## 3. Metric
- Primary: [VD: Conversion rate]
- Secondary: [VD: Bounce rate, Time on page]
## 4. Sample size & Duration
- Baseline: [p = %]
- MDE: [% change muon phat hien]
- Sample/variant: [so]
- Traffic/ngay: [so]
- Thoi gian can: [so ngay]
## 5. Setup
- Tool: [Ten]
- URL A: [...]
- URL B: [...]
- Tracking: [Meta Pixel / GA4 / PostHog events]
- Split: 50/50 (hoac khac ghi ro)
## 6. Timeline
- Start: [ngay]
- End: [ngay]
- Review: [ngay]
## 7. Ket qua (dien sau khi ket thuc)
| Variant | Visitors | Conversions | Rate | Uplift vs A |
|---------|----------|-------------|------|-------------|
| A | | | | — |
| B | | | | +X% |
p-value: [x]
Significant (p<0.05): [Yes/No]
## 8. Ket luan
[B thang / A thang / Khong significant]
## 9. Hanh dong
[Implement / Test tiep / Rollback]
## 10. Bai hoc
[Dieu hoc duoc → ap dung cho test sau]
质量检查清单
- 每次只测试 1 个变量
- 有明确的假设,并注明具体百分比
- 样本量充足(每个变体至少 100 次转化)
- 测试时间充足(至少完整 1 周,理想情况下为 2 周)
- 不提前查看结果
- 得出结论前,p-value < 0.05
- 无论胜败,都记录测试结果
- 流量充足时,每月至少进行 1 次测试
- 根据优先级矩阵选择要测试的变量——还没测试 hook 时,不要测试细节
- 按正确顺序测试创意:hook → 格式 → 角度 → 长度
- 测试预算占总预算的 30%,且足以让每个变体每天至少获得 1 次转化
- 运行测试前已确定主要指标——测试过程中不要更改指标
- 只有提升幅度达到至少 15%,才能称为胜出方案
- 已填写 Test log,“经验教训”一栏不得留空