先给结论:不要只保留修复后的干净数据,也不要让重复记录继续污染报表。正确做法是把重复触发当成一次数据事故来处理——先冻结当前口径,把修复前的原始记录单独归档,再用可追溯的方式标记哪些记录被排除、为什么排除。修复动作本身要留下时间点和影响范围,这样后续做转化成本对比时,才能判断变化来自投放调整还是来自数据清洗。
重复触发通常有三种来源,处理方式并不相同。
判断依据是:两条记录能否对应到同一个可验证的业务事实。能对应上,才谈得上去重;对应不上,先查口径,不要急着删。
很多团队发现重复后,直接在原表里改数或删除,结果三天后有人问“上周转化为什么少了一截”,已经无法还原。更稳妥的动作是:
conversion_raw_20240610_freeze。dedup_status(保留/重复/待确认)和 dedup_reason。这个动作的直接结果是:报表用的是清洗后数据,但任何人质疑数字时都能回到冻结副本核对。下一步做投放复盘时,你才有条件把“修复前成本”和“修复后成本”放在同一张对比里,而不是拿两个口径不同的数字互相解释。
面对重复记录,常见的两种选择是“保留并改写”和“整段退出报表”。
适合保留并改写的情况:重复比例有限,且重复记录能通过业务主键明确识别。例如同一订单号出现两次,可以保留首次、标记第二次。这样修复后仍能保留大部分真实转化,报表连续性较好。
适合整段退出的情况:重复来源无法定位,或者重复和真实转化混在同一字段里无法区分。此时强行改写等于用猜测替代事实,不如把这段时间的转化数据整体标记为不可用,在复盘时单独说明。代价是这段时间的转化成本暂时无法精确计算,但避免了把错误结论带进下一轮预算决策。
取舍的关键不是哪种更干净,而是你能不能为每一条被改写的记录说出理由。说不出理由的改写,本质上和直接删数据没有区别。
假设某账户某天原始记录显示 40 条转化,排查后发现其中 12 条来自同一批订单号的重复回传。若按业务主键去重,保留 28 条,并把这 12 条标记为重复、保留在冻结副本里。此时修复后的转化成本会上升,因为分母变小了。如果直接拿修复后的成本去对比修复前的出价调整,就会误判成“出价调整导致成本变差”。正确做法是:先确认这 12 条确实是重复,再用同一口径重算修复前后两段时间的数据,最后才判断出价调整是否有效。这个例子里的数字仅用于说明比较方法,不代表任何实际账户表现。
转化数下降、重复标记数量归零,都不足以证明修复正确。转化数下降也可能来自投放缩减、落地页故障或统计代码本身失效;重复标记归零也可能只是因为去重规则变严,把真实转化一起排除了。要交叉验证,至少同时看:业务侧实际收到的线索量、订单号或表单提交的去重前后数量、以及统计代码的触发日志。只有这几项能互相印证时,才能确认修复没有误伤真实转化。
另外要明确:百度竞价属于付费广告机制,投放广告不构成自然排名保证;平台当前的审核规则、后台界面和价格请以官方信息为准,本文不代作判断。修复转化记录这件事,影响的是你自己的数据口径和后续预算判断,不会改变平台侧的计费逻辑。