先给结论:不要急着把重复转化删掉。更稳妥的做法是保留原始触发记录,另建一份修复标记,把“修复前发生的重复”和“修复后是否恢复单次”分开存放。这样你既能向内部解释历史数据为什么偏高,也能用修复后的增量判断问题是否真的解决。下面以你手里的一份转化明细导出文件为例,说明具体怎么落地。
重复触发通常不是单一原因,常见有三类,处理方式不同:
区分它们的目的,是决定“去重键”用什么。若用时间窗口去重,可能误伤真实的多笔转化;若用订单号去重,则对无订单号的表单线索不适用。先确定键,再谈保留。
假设你导出的明细包含时间、转化类型、用户标识、订单号、来源广告系列等列。建议保留三份数据,而不是在原表上直接删行:
这样做的实际结果是:当有人问“上个月转化为什么比后台多”,你能拿出标记层说明多出来的部分来自哪类重复,而不是只能回答“我们删过了”。
修复前后对比最容易犯的错,是拿“修复前的全部转化”对“修复后的去重转化”。这两个口径不同,比较没有意义。正确做法是:
举一个假设例子:某广告系列修复前原始记录 100 条,按订单号去重后 80 条;修复后一周原始记录 60 条,去重后 58 条。那么重复量从 20 降到 2,说明修复动作大概率起作用;至于总转化从 80 降到 58,则要结合投放量、时段和竞争环境另找原因,不能直接归因于修复。
只写“已修复”没有价值,因为无法复查。建议在标记层至少保留这些字段:
event_id 或订单号:作为去重键的首选。occur_time:精确到秒,用于判断时间窗口。source:标明该条来自哪段代码或哪个回传路径。dup_flag:是否被判为重复。fix_batch:修复动作的批次标识,便于把记录和改动对应起来。其中 source 最关键。很多重复之所以反复出现,是因为只修了前端,没修服务端回传,或反之。留下来源字段,才能在下一次异常时快速定位是哪个环节又出问题。
不建议一修好就清空历史。较稳妥的条件是:连续一段观察期内,去重后与原始值的差值稳定在可解释范围内,且你能说明剩余差值来自真实的多笔转化而非重复。达到这个条件后,可以把标记层归档,原始层仍建议保留,因为付费广告的数据口径一旦被质疑,原始底稿是唯一能自证的材料。
需要提醒的是,付费广告的转化记录与自然搜索排名是两套不同机制,修复埋点不会影响自然排名,也不构成任何排名保证。平台侧的审核规则、界面和计费口径请以官方说明为准。把修复前后记录分开留存,真正的价值在于:下一次再出现转化数异常时,你能先判断是重复触发、口径变化还是投放本身波动,而不是从零开始排查。