先给结论:重复触发本身不该被“清理掉”,而应被拆成两套记录——原始事件流水保留每一次触发,归因口径记录修复后只计一次的结果。修复动作、生效时间和影响范围单独留档。这样既能向平台申诉或对账,也能在内部复盘时区分“真实多转化”和“重复上报”。
重复触发通常出现在三个位置:页面上的转化代码被多次加载、后端回传接口被重试或并发调用、平台侧同一事件被不同来源重复接收。三者的留痕方式不同,处理动作也不同。
判断依据不是“数量变多”这一个现象。请求量翻倍也可能是投放放量、落地页改版后加载链路变长,或统计口径调整。要确认是重复,至少要有可对齐的业务标识(订单号、表单号、用户标识)能在多条记录中指向同一笔真实转化。
如果你们的转化数据落在自己可控的库或日志里,且修复逻辑能对历史数据重跑,那么选择“保留全量原始记录 + 增加去重标记”通常更稳妥。
具体动作:
raw_keep=1,对去重后计入的记录打上dedup_keep=1。dedup_keep=1的记录,但把触发次数作为附加参数保留。这样做的结果是:平台侧看到的是修复后的干净数据,内部仍能回答“这笔转化当初被上报了几次、什么时候开始重复”。下一步无论是排查代码还是和平台对账,都有原始依据可查。
适用条件:你有历史数据的读写权限,且去重规则(按业务标识取首次)已经和业务方确认过。例外是——如果业务标识本身不唯一,比如同一手机号一天内合法提交多次,就不能简单按标识去重,需要加上时间窗口或表单来源字段。
如果转化数据直接打到平台、本地不留原始流水,或者平台侧已接收的记录无法撤回,那么选择“分段记录 + 明确生效时间”更现实。
具体动作:
这种做法的结果是:前后两段数据不可直接相加,但各自的含义清楚。下一步做同比或环比时,必须用同口径区间对比,否则会把口径变化误读成投放效果变化。
例外:如果重复只发生在很小的比例上,且不影响结算和主要决策,可以只做归档不做分段,避免报表体系被迫重构。判断标准是重复是否改变了预算分配结论,而不是重复数量本身大小。
无论选哪种条件,修复留档至少要包含:
一个假设的例子:某表单转化在三天内被上报两次,原因是提交成功后页面未跳转、用户再次点击。修复前记录显示同一表单号出现两条;修复后按表单号去重,只回传首次。此时修复前区间不能直接和修复后区间比转化数,但可以比“去重后的表单数”,因为该口径在两段都成立。这个动作决定了下一步该用哪个指标做趋势判断。
平台侧的转化数和你内部的去重结果不一致,通常不是谁算错了,而是口径不同:平台可能按点击标识去重,你可能按业务单号去重。对账前先把两边的去重键和统计窗口写出来,再逐条比对差异样本。付费广告的转化回传与自然搜索的统计是两套机制,投放广告也不会因此影响自然排名,对账时不要混用两边的数字做因果推断。
修复记录的价值不在于证明某次处理绝对正确,而在于让后来的人能分清:哪些数字是修复前的原始状态,哪些是修复后的口径,以及两者之间发生了什么。保留这段差异,比抹平它更有用。