先给结论:如果重复触发来自同一用户在同一次转化路径中被多次计数,修复时应当保留“修复前原始流水”和“修复后重算流水”两套记录,并把差异写成可追溯的调整说明;如果重复触发来自不同系统对同一事件各自回传,则不应只改前端计数,而要先确认哪一套记录用于结算,再决定保留哪套作为主账。两种情况下,保留记录的目的都不是掩盖异常,而是让后续预算、出价和报表口径能回到可解释的起点。
转化事件被重复触发时,最容易犯的错是直接删除重复行。删除会让修复前后的变化消失,之后无法回答“为什么某天转化数突然下降”。更稳妥的做法是先按来源分两类。
区分这两类之后,动作完全不同。前者可以保留原始流水并加一列“是否计入去重后口径”;后者要保留各系统原始记录,再单独生成一份对账表,而不是把某一套直接删掉。
记录不需要复杂,但至少要能回答三个问题:这条记录什么时候产生、属于哪次转化、修复后是否仍被计入。建议保留以下字段,并注明假设:
event_id:转化事件唯一标识,修复前后保持不变。received_at:系统接收时间,用于判断重复是否发生在同一时间窗。source:记录来自哪套回传或哪段标签逻辑。pre_fix_count:修复前该事件被计入的次数。post_fix_count:修复后按新规则重算的次数。adjustment_reason:写清是去重、排除测试流量,还是口径切换。这里的关键不是字段多,而是修复前后两套计数必须同时存在。只留修复后的数字,等于把异常抹掉;只留修复前的数字,后续优化又会继续被重复值误导。
假设某账户修复前每天记录 40 次转化,修复后发现其中 12 次是同一路径重复触发,去重后为 28 次。此时不要立刻按 28 次去压低出价或收缩预算,因为转化数下降可能来自计数规则变化,而不是真实转化能力下降。下一步动作应当是:把修复前后按同一时间范围并列,观察去重后的转化率、每次转化成本和后端有效线索是否同步变化。如果只有计数下降、后端有效线索没变,说明修复的是记录口径;如果后端有效线索也下降,才需要进一步查流量或页面。
这个例子的数字只用于说明比较方法,不代表任何账户的真实表现。它的作用是提醒:修复记录之后,先对齐口径,再动用出价和预算杠杆。
反例是:重复触发已经影响到结算或对外报告,而业务方要求只保留一套最终数字。这时继续保留两套流水虽然技术上可行,但会让对账和结算无法收敛。适用条件变为:必须先确定主账口径,把另一套降级为审计附件,并写清切换时点。若缺少这个前提,修复前后记录越多,反而越容易在后续复盘时被误读为两次独立转化。
实际动作可以按这个顺序:第一步,冻结修复开始和结束的时间戳,避免修复过程中新数据混入;第二步,导出修复前原始流水并备份;第三步,按去重或口径切换规则生成修复后记录;第四步,用同一时间范围对比两套记录的转化数、成本和后端有效线索。这个动作的结果会直接影响下一步:如果差异只出现在计数层,后续优化继续用修复后口径;如果差异同时出现在后端有效线索,说明问题不只在重复触发,还要回到流量质量和承接页面继续排查。