现在虽然没有Google Optimize,但还是可以用GA4和GTM去做AB测试。
GA4上做AB测试的思路
需要开发去对流量做分组,显示不同版本的时候,带上版本的参数(如通过URL参数区分),如:
- 实验组带有参数A
- 对照组带有参数B
然后通过GTM将参数设为用户属性(User Property),就可以在GA4报告里使用该维度用于区分数据,看分组的表现情况。
这种方式虽然不如专业实验平台(如 Optimize、VWO、Optimizely)那样精细,但足以完成简单的文案或按钮测试。
AB测试案例
假设现在有个活动页面上有个按钮,我想测试不同文案的点击率
Step 1:开发添加参数
开发在分流逻辑(可由后端随机分配或前端脚本实现)中,为不同的访问者分配版本参数。例如:
- 实验组页面URL带上参数
?ab_version=A - 对照组页面URL带上参数
?ab_version=B
示例:
https://example.com/landing?ab_version=A https://example.com/landing?ab_version=B
Step 2:GTM设定为用户属性
把URL中的参数值传入GA4,作为用户属性保存。
首先,用变量获取参数,在GTM中点击「变量」—「新建」—「选择一个变量类型以开始设置」——「网页」,命名为“Version”,做如下设置:
然后将Version变量设置为用户属性(User Property)。
在GTM中点击「变量」—「新建」—「选择一个变量类型以开始设置」——「Google 代码:事件设置」,命名为“Common Event Parameter”,在Google Analytics User Properties里设置属性名称ab_version_cd(建议将属性名称命名为name_cd的结构,cd表示custom dimension),如下设置
Step 3:GA4自定义设置
这一步在GA4中启用自定义维度,使属性在报告中可见。
在GA4中点击「管理」——「自定义设置」——「创建自定义维度」,然后做如下配置:
保存后等待数据进入(通常24小时后生效)。
Step 4:AB测试数据报告
AB测试是,要监测不同版本的表现差异,由于GA4里不能直接生成所需的报告,我通常是分别将会话数、事件数下载下来,然后在Excel里计算点击率,去对比。
| 组别 | 会话数 | 事件数 | 点击率 |
|---|---|---|---|
| 实验组A | 4478 | 657 | 14.67% |
| 对照组B | 4534 | 540 | 11.91% |
实验组A的点击率更高,胜出。
若需更复杂的实验(如用户分层、实验流量控制、显著性分析),建议使用Optimizely、VWO、Convert,延伸阅读:能与GA4结合使用的几个A/B测试工具




