减少重复计算的关键不是把跨设备的所有触点都算一遍,而是先确定以哪一次可确认的咨询动作作为归因终点,再决定哪些中间触点只做观察、不参与计数。若咨询发生在会话中途或由人工补录,重复计算往往来自“同一动作被两次写入”;若咨询由用户主动提交且带唯一标识,重复计算通常来自“同一用户被两套设备标识各记一次”。两种条件的处理动作不同,选错会让报表越修越乱。
可核对的证据是时间戳与标识的组合。把咨询记录按发生时间排序,若两条记录时间差在几秒内、且来自同一设备标识,更可能是同一动作被写入两次,属于采集或回传环节的问题。若两条记录时间相差数小时甚至跨天、设备标识不同但账号或表单中的联系方式一致,更可能是同一用户跨设备完成,属于标识拼接问题。
这两种解释指向完全不同的动作。前者应当去查数据写入和回传链路,后者应当去查标识映射规则。把两者混在一起处理,常见结果是:为了消除跨设备重复而放宽去重窗口,反而把真实的两次咨询合并成一次。
当咨询由用户主动提交、且提交动作带有唯一编号时,最省事的做法是让这个编号成为计数依据,中间的所有设备触点只记录路径,不单独计入咨询数。实施动作是:在数据层为咨询编号建立唯一约束,重复写入直接拒绝;同时在报表层把设备触点标记为“路径节点”,不进入咨询计数。
这样做的直接结果是咨询总数会下降,因为此前被重复计入的部分被剔除。下一步要观察的是:下降的幅度是否集中在少数设备组合上。如果集中在同一账号的多设备序列,说明此前确实存在跨设备重复;如果下降分散且无明显规律,更可能是采集端本来就有重复写入,需要回到上一步排查。
例外是用户在同一会话内先提交一次后又修改重提。此时若两次提交都产生新编号,唯一约束不会拦截,仍会重复。处理办法是给同一次会话内的连续提交设置短时间合并窗口,窗口长度以用户实际填写耗时为参考,而不是固定套用某个数值。
当咨询并非在页面内完成,而是由销售或客服事后补录,设备标识往往缺失或不可靠。此时不能依赖设备去重,应改用可对齐的业务字段,例如同一联系方式、同一订单号或同一沟通记录编号。实施动作是:在补录环节强制填写至少一个可对齐字段,并在入库前做一次字段级比对,命中已有记录则合并而非新增。
假设一个场景:同一用户在手机端留下联系方式,又在电脑端通过另一入口留下相同联系方式,两次都被补录。若只按设备去重,两条都会保留;若按联系方式去重,后一条会合并到前一条,并在路径中追加一次设备触点。这个例子的数字仅用于说明比较方法,不代表实际业务量。
需要说明的适用条件:可对齐字段必须本身足够唯一。用“城市”或“产品意向”这类低区分度字段去重,会把不同用户合并,造成的错误比重复计数更难修复。因此字段选择应优先考虑唯一性,其次才考虑覆盖率。
减少重复计算最有效的结构动作,是让路径表和咨询表承担不同职责。路径表允许同一用户出现多条设备记录,用于观察跨设备行为;咨询表只保留去重后的咨询动作,用于对外汇报。两表通过咨询编号或可对齐字段关联,而不是让路径表直接汇总出咨询数。
这样做之后,报表口径的调整不再需要改动采集逻辑。若发现咨询数偏高,只需检查咨询表的去重规则;若发现路径缺失,只需检查路径表的写入。两类问题不再互相干扰,排查时间会明显缩短。
改动上线后,取一段时间的咨询记录,按设备标识和可对齐字段分别分组,统计每组内的记录条数。若按可对齐字段分组后,多数组的记录条数为一条,而按设备标识分组时出现多条,说明跨设备重复已被合并。若两者结果接近,说明重复主要不是跨设备造成的,应回到采集链路继续排查。
需要提醒的是,咨询数下降本身不能单独证明处理正确,它也可能是采集失败或回传中断造成的。合理解释至少包括:去重规则生效、采集端漏报、回传延迟导致部分记录尚未到达。区分办法是同时观察路径表的写入量是否稳定,以及咨询记录的时间分布是否出现异常空档。只有路径写入稳定而咨询数下降,才更支持去重生效这一解释。