同一个加购按钮,安卓端上报 add_to_cart,iOS 端上报 addToCart,事件报表里出现两行,每行数量都只有总量的一半。日志里能对上时间点,这种反而好排。
GA4 的事件名区分大小写,add_to_cart 和 addToCart 入库时算两个不同的事件,报表不会自动合并。自定义事件建好之后名字也改不了,只能靠重新上报统一。这一点先确认清楚,后面就不用反复试。
function track(name, params) {
const n = name.toLowerCase().replace(/[A-Z]/g, m => '_' + m.toLowerCase());
gtag('event', n, params);
}
track('addToCart', { value: 99 });
「事件命名大小写」确认了原因之后,改动尽量只碰那一处,顺手改的东西后面最容易出问题。偶发问题先统计频率,一小时几次和一天一次,查法完全不同。
改完顺手把文档补一句,省得下次自己重新推一遍。
处理上按这个顺序:先在前端封一层 track 函数,事件名统一转小写并用下划线连接;把历史代码里的驼峰调用逐个替换,搜 addToCart 这类字符串确认没有漏网;在 GA4 里把旧事件标记为不看,等数据自然过期。
结果对不对很好判断,报表里只剩 add_to_cart 一行,事件数与按钮点击次数对得上,不再出现两条各占一半。
