gtag('event', 'experiment_view', {
  experiment_id: 'checkout_cta',
  variant: bucket,
  user_id: uid
});

实验平台按登录 userId 做哈希分桶,前端埋点读的是匿名 cookie,同一批用户在报表里被拆进两组,转化率差异怎么看都不显著。先别急着动参数,把报错原文和时间点记下来,顺序反了容易白折腾。

原因不复杂,实验分组和埋点分组用了两套 ID,未登录、换设备、清缓存都会让两边对不上。报表按曝光事件里的分组字段聚合才准确,拿用户属性反推一定会漂。

「AB 实验分桶不一致」确认了原因之后,改动尽量只碰那一处,顺手改的东西后面最容易出问题。备份不是备了就行,恢复一次才算数,很多备份文件打开才发现是空的。

处理上按这个顺序:曝光时把 experiment_id 和 variant 直接写进事件参数,别在报表阶段再关联;分桶放在服务端做,前端只接收下发结果,保证同一 uid 稳定命中同一组;上线前抽样比对曝光分组与实验平台分组的一致率。

改完只确认一件事:报表里两组曝光量与实验平台一致,转化率按曝光分组计算后差异稳定可复现。

作者 9823189