先做一件事:把重复触发按“同一用户同一动作”归并成一次有效转化,同时原样保留重复明细,不要直接删除或覆盖。修复前后都要留下可对照的两份记录——一份是修复前带重复数的原始导出,一份是修复后同样口径的导出。判断修复是否成立,靠的是两次导出在同一时间窗、同一归因口径下的差异,而不是后台总数变干净了。
两种原因的修复方向完全不同,先分清再动手。可核对的证据是事件参数:如果同一用户标识、同一时间戳或极短间隔内出现多条记录,且事件名、金额、页面参数一致,多半是同一动作被重复上报;如果事件名相同但来源页面、按钮位置、订单号不同,那可能是多个真实动作被错误地按同一事件归并。
这一步的结论决定下一步:重复上报要在采集或回调层去重,误并要在事件定义层拆分,两者的记录保留方式也不同。
动手改之前,先把当前状态固定下来,否则修复后没有对照物。导出时记录四件事:时间范围、归因口径、去重规则、导出时间点。把它们写在一份说明里,和导出文件放在一起。假设你的导出显示某时间窗内转化数为 120,其中带同一业务主键的重复记录 30 条,那么修复前的有效数应记为 90,重复数记为 30,两个数都留着。
不要用“修复后总数”去反推修复前,因为修复可能同时改变了归因窗口或事件定义,反推会把两种变化混在一起。冻结记录的意义就在于让变化可分离。
常见修复位置有三处,选哪处取决于第一步的判断:
优先选能保留原始明细的方案。报表层去重最安全,因为原始数据没动,随时可以换口径重算;采集层去重最彻底,但一旦去重键设计错了,会误删真实转化,且难以还原。
记录这次动作影响的范围:是只影响某个事件,还是影响所有转化;是只影响新数据,还是回溯了历史。这个范围直接决定修复后要对比多长时间窗。
修复上线后,取一段与修复前等长、且包含修复动作的时间窗,用完全相同的口径再导一次。对比三项:总数、去重后有效数、重复条数。如果重复条数降到接近零而有效数基本不变,说明去重生效且没有误伤;如果有效数明显下降,可能是去重键过严,把真实转化也合并了。
还有一种反常情况:重复数归零,但有效数也大幅下降。这不一定说明修复正确,也可能是采集本身失效、页面未触发、回调未到达。此时要另取一条独立证据,比如页面端触发日志或回调到达日志,确认数据是被去重了,还是根本没进来。请求量或记录数归零本身不能单独证明处理正确。
最后把修复前导出、修复后导出、口径说明、修复动作及影响范围、差异结论放在一起。下次再出现类似重复,可以直接比对这份说明,判断是新问题还是旧问题复发。对 SEM 外包而言,这份说明也是交接材料:接手方不需要重新猜口径,就能知道哪个数字可信、哪个数字只是原始明细。
需要提醒的是,广告投放与自然搜索是不同机制,转化记录的修复只影响你用于评估的统计口径,不构成对自然排名的任何保证。平台侧的审核规则、界面和计费展示可能变化,涉及具体平台时应以官方说明为准。