更新时间:2024年12月6号
用GTM做AB测试的原理是,程序对流量做随机分组,然后将分组信息放到Cookie(也可以放到页面),然后在用GTM中变量里的第一维度去读取这个Cookie,再将其转成GA4里面的位置,然后就可以在GA4自定义报告里面使用该维度将不同的指标划分开来,看不同组别的数据情况。
流量分组
思路是:
- 第一步先获取Cookie里的分组变量ABtestgoup
- 第二步是判断分组变量ABtestgoup是否有值,如果有不做处理,如果没有就随机生成一个分组值写到Cookie里
先实现第一步,点击「变量」——「新建」——「选择一个变量类型以开始设置… 」——「第一方Cookie」,命名为“ABtestgoup”,然后做如下设置:
第二步,在GTM中点击「代码」——「新建」——「选择一个代码类型以开始设置… 」——「自定义HTML」,命名为“HTML-Gereral AB Test Group”,然后做如下设置:
这一步有两个需要注意的地方:
- 一是if(!{{ABtestgoup}})是用于判断ABtestgoup是否有值
- 二是触发条件要选择初始化,以为它比较快执行,需要再页面浏览之前就做好流量分组
网页版本
这一步要实现基于分组信息给用户展示不同的内容,而且要在页面浏览之前就要实现,可以通过代码触发优先级去控制:
自定义HTML里的代码需要基于Cookie里的ABtestgoup,改变或展示不同的内容。
代码触发优先级设置为99,数值越高,执行越快,默认是0,所以它会比GA4默认收集数据执行要快。
GA4配置分组维度
如果你有用“Google 代码:事件设置”变量,那么在里面的用户属性里增加ab_test_group:
ABtestgoup就是从Cookie里获取的分组变量。
如果你没有用“Google 代码:事件设置”变量,那么直接在GA4的配置做上述设置。
预览测试
在GTM里预览测试,可以看到里面准取到分组信息:
注册事件参数
在GA4中点击「管理」——「自定义设置」——「创建自定义维度」,然后做如下设置: