活动页的提交转化显示 2800 次,服务端只收到 1400 条记录,比例正好两倍,两个统计后台的数字还不一样。乍看像缓存或者权限的锅,追下去往往不是。
if (form.dataset.tracked) return;
form.dataset.tracked = '1';
track('lead_submit');
追下去是这么回事:页面同时装了两套分析工具的自动埋点,两边都监听表单提交,同一次操作各发一次事件。手动埋点又补了一遍,三次叠加。
「重复埋点」这类改动最怕改一半,回滚脚本先准备好,再动生产。接口问题先分清是没发出去、发出去了没收到,还是收到了处理失败。
偶发问题先统计频率,一小时几次和一天一次,查法完全不同。改完顺手把文档补一句,省得下次自己重新推一遍。
具体做法是,只保留一套自动采集,另一套关掉表单自动追踪;手动埋点前加一个已上报标记,发过就不再发;用一条测试数据对比服务端记录数和两个后台的事件数。
验收就看一点,后台事件数和服务端记录数一一对应,两个统计工具的数字一致。
