先给结论:不要急着清空或覆盖旧记录。正确做法是先冻结一份原始日志,再用带版本号的修复规则重新回放,最后把“修复前口径”和“修复后口径”并列留存。这样做的原因是,重复触发往往不是单一原因,可能是页面脚本重复加载、表单重复提交、跳转回退后再次上报,或统计工具与广告平台各自计数。只有保留修复前后两套记录,才能判断差异来自真实增量还是计数口径变化。
重复触发大致分三种。第一种是同一用户同一动作被上报两次,例如提交后刷新页面又触发一次;第二种是同一转化被两个来源各记一次,例如落地页脚本和广告平台回传各算一次;第三种是测试或爬虫造成的噪声。三类问题对应的处理方式不同。
如果属于第一类,通常应保留原始日志,另建一份去重后的记录,而不是直接修改原始数据。如果属于第二类,需要先确认两边各自的定义和归因窗口,再决定以哪一边为准。如果属于第三类,可以单独标记为测试数据,但不要删除,以免日后无法解释总量波动。
这里有一个容易忽略的边界:个别样本成立不等于规模化后成立。比如手动测试时只提交一次,看起来正常;但真实用户在网络慢、按钮可重复点击的情况下,可能连续触发。因此修复方案必须经过一段时间的对照观察,不能只凭一次测试就全面替换。
可以按下面的顺序操作,每一步都会影响下一步的判断:
这个动作的关键结果是:你能明确说出“修复后减少了多少次重复计数”,而不是只看到总数下降。总数下降本身不能证明修复正确,因为流量减少、投放暂停、页面改版都可能造成同样现象。
改写记录适用于重复原因已经定位、且修复规则经过验证的情况。例如确认是前端重复提交,且服务端去重逻辑稳定运行了一段时间,这时可以把去重后的数据作为主口径。前提是原始日志仍然保留,可随时回溯。
退出旧口径适用于旧记录本身存在系统性错误、继续保留会干扰决策的情况。但退出不等于删除。更稳妥的做法是标记旧口径为“已弃用”,并注明弃用原因和替代口径,而不是让旧数据凭空消失。
如果重复触发的原因尚未定位,不建议改写或退出。此时保留双轨记录、继续收集样本,比急于统一口径更有价值。假设某账户在修复前后各观察一周,修复前记录转化一百次,修复后记录转化八十次,不能直接得出“真实转化是八十次”的结论,还需要检查这两周的点击量、落地页版本和投放时段是否可比。只有可比条件下,差异才有参考意义。
为了让修复前后记录可对照,至少应包含:转化发生时间、用户或会话标识、转化类型、来源渠道、上报方式、规则版本、是否被去重、备注。备注用于记录当时的页面版本、活动状态或已知异常。
同时要写清边界:这套记录只用于解释本账户内的计数差异,不能直接推断平台整体数据质量;付费广告的转化记录与自然搜索的表现是不同机制,广告投放也不构成自然排名保证。平台当前的审核规则、界面和价格应以官方说明为准,本文不对此作任何断言。
最后提醒一点:请求量、抓取量或某项统计归零,不能单独证明处理正确。它也可能是上报失败、脚本未加载或权限变化造成的。遇到归零,先查链路是否完整,再判断去重是否生效。