SELECT LOWER(utm_source) AS src, COUNT(*) AS n
FROM analytics_events
GROUP BY src ORDER BY n DESC;

渠道报表里微信来源出现 WeChat、wechat、Weixin、weixin 等六条,每条数据都不多,合并后才发现是同一个渠道。先别急着动参数,把报错原文和时间点记下来,顺序反了容易白折腾。

原因不复杂,投放链接由不同人手工拼,大小写和写法都没统一。GA4 把 utm_source 当普通字符串,区分大小写,不做归一化。

围绕「UTM 大小写拆分」排查时,命令行跑一遍比在面板里点十次有用,面板会替你做掉不少隐式操作。改动写完就同步给同事,下一个人踩同一个坑,成本还是你的。

验证用真实数据走一遍,测试数据太干净,边界情况根本碰不到。能分两步做的操作就别合成一步,中间看一眼返回值,出问题好判断。

处理上按这个顺序:建一份渠道命名表,source 和 medium 全用小写;投放链接统一由短链平台生成,别手工拼;历史数据在 BigQuery 里做 lower 归并后再看;每周检查一次来源列表,出现新写法就补进表里。

改完只确认一件事:渠道报表里微信只剩一条,会话数和合并前六条之和一致。

作者 9823189