先把重复触发当成两条并行事实来处理:一条是用户真实完成的转化,另一条是同一行为被多次上报。修复动作可以只针对上报链路,但修复前后的记录必须能对齐到同一条原始行为,否则你无法判断重复是消失了,还是被掩盖了。可行的做法是保留一份带时间戳的原始回传日志,再单独维护一份去重后的统计视图,修复时只改视图规则,不动原始日志。
常见情况是,页面上的转化按钮或表单提交被重复监听,用户点一次,回传接口收到两到三次请求。更麻烦的是,修复代码上线后,后台看到的转化数可能先下降再回升,甚至比修复前更不稳定。直觉会认为“重复被去掉了,数字应该变少且更干净”,但实际观察到的波动往往来自另一个方向。
这里有两个都能解释现象的原因,不能只凭一次数字变化就下结论。
手机端页面常出现同一段脚本被引入两次,或表单提交按钮同时绑定了点击事件和提交事件。用户的一次操作触发了两个入口,两个入口各自调用一次回传。这种重复的特征是:同一设备、同一时间窗内,回传请求的参数几乎完全一致,间隔通常在毫秒级。
另一种解释是前端只发了一次,但回传接口因网络抖动没有及时返回成功,调用方按重试策略又发了一次。这种重复的特征是:请求间隔更长,可能跨越数秒,且第一次请求往往没有正常响应记录。它和监听重复的表现相似,但成因不同,修复方式也不同。
如果只看到“转化数偏高”就删掉一个监听,可能把真实转化也一起删掉;如果只加去重规则而不查重试,重复仍会在网络差的时候出现。
不要只看汇总数字,要下钻到单条记录。以下三组证据可以同时收集,再交叉判断。
假设有一组记录:同一用户在 10:00:01.120 和 10:00:01.135 各回传一次,参数完全相同。这更支持监听重复。若另一组记录是 10:00:01.120 无响应、10:00:04.300 再次回传,则更支持重试。两组证据指向不同修复动作,不能混为一谈。
关键动作是不要把原始回传日志覆盖掉。修复时按以下顺序操作,每一步的结果都会影响下一步的判断。
这个动作的结果直接决定下一步:如果修复前后差异只落在重复记录,说明修复有效;如果真实转化也被去掉,需要缩窄去重窗口或改为按事件唯一标识去重,而不是按时间窗。
去重规则本身会引入新的偏差。按用户标识加时间窗去重,在用户短时间内真实完成两次不同转化时,可能把第二次当成重复。因此需要保留一个可核对的事件标识,例如表单提交生成的唯一编号,用它来判断是不是同一次行为。
另外,付费广告的回传记录和自然搜索的转化记录是不同机制,修复广告回传不应改变自然流量的统计口径。如果两套记录混在同一张表里,修复前后对比会失真。建议在导出时按流量来源分开,广告侧单独保留一份带来源标记的日志。
平台侧的审核规则、界面和价格会变化,涉及具体投放设置的判断应以官方当前说明为准,本文不假定任何固定入口或阈值。修复动作本身只解决重复上报,不构成对广告展示或自然排名的保证。
最后,重复触发被修复后,转化数下降是预期内的结果,但下降幅度不能单独证明修复正确。需要同时核对原始日志中真实行为的数量是否稳定,以及去重视图是否只过滤了重复记录。只有这两项都对齐,修复前后的记录才真正可比较。