先把重复触发当作“数据事实”而不是“代码错误”来处理:在修复前冻结一份原始事件样本,修复后再冻结一份对照样本,两份记录都绑定同一时间窗、同一事件名和同一去重口径。这样做的直接结果是,投放、技术、客户三方即使对“到底重复了多少”有分歧,也能回到同一份可核对的项目上继续推进,而不是靠各自后台截图争论。
重复触发通常出现在两个位置:一是页面或应用端把同一次用户动作发了多次请求,二是服务端接收后按不同维度重复计数。这两层的修复动作和记录保留策略不同。
选择依据是:如果重复只出现在某个渠道的报表里,而原始请求日志没有重复,优先怀疑服务端回传和去重口径;如果原始日志本身就成倍出现,先查客户端触发条件。保留时长按“下一次对账窗口”倒推,而不是固定天数。
修复前不要只截图,要导出一份可复核的原始样本。具体动作:
结果影响:这份冻结样本会成为后续所有争论的基准。如果技术修复后发现重复量下降,但投放端仍看到旧数据,就能判断是缓存或回传延迟,而不是修复无效。注意,请求量或某项统计归零不能单独证明修复正确,它也可能是采集中断、标签未加载或时间窗选错造成的。
修复完成后,用与修复前完全相同的时间长度、事件名和去重键再导出一份对照样本。比较时只看三个量:重复请求条数、去重后事件数、两者比值。不要用“总量变少”当成功标准,因为总量变化可能来自投放调整、流量波动或统计口径改变。
假设一个短例子:修复前某时间窗内同一用户标识出现 3 条相同事件请求,去重后为 1 条;修复后同一长度窗口内请求变为 1 条,去重后仍为 1 条。这说明重复被拦截,而不是事件丢失。若修复后请求变为 0 条,需要先确认采集是否正常,再判断是否误伤。
例外情况:如果重复来自平台侧回传而非自有页面,修复动作可能不在自己手里。此时保留记录的重点转为“向平台提交的对照证据”,包括修复前后同一时间窗的导出文件和去重键说明,而不是自行修改回传逻辑。
多个角色对同一事实有不同理解时,不要开会争论“谁对”,而是把分歧拆成可核对的项目:
每个项目都附上对应的冻结文件或对照文件。下一步动作是:只有三方对同一时间窗的原始记录达成一致后,才讨论是否需要重新回传或修正历史数据。如果历史数据修正会影响已出的报告,先记录修正范围,再决定是否重算,而不是直接覆盖原文件。
两种条件下可以简化记录:一是重复事件不影响计费、结算或对外报告,且确认只发生在内部测试环境;二是重复窗口极短且已被上游平台自动去重,自有记录无法改变最终计数。即便简化,也要保留一条说明:何时发现、影响范围、为何不追溯。这样做的结果是,后续若有人质疑,仍能解释当时的取舍,而不是留下空白。
反过来,只要重复事件涉及付费广告的转化计数、线索归属或结算依据,就必须保留修复前后两份记录。付费广告与自然搜索是不同机制,投放广告不构成自然排名保证;同样,转化事件记录也不能替代平台侧的最终计数,它只是让各方在核对时有共同依据。