减少重复计算的关键,是把“用户已进入咨询”作为一次可传递的状态,而不是让每台设备各自判断一次。具体做法是:在广告落地页生成一个与咨询会话绑定的标识,由服务端记录该标识的首次到达时间和当前状态;同一用户换设备或换浏览器时,凭同一标识续接,而不是重新计一次咨询。下面分两种情况说明选择依据、实施动作和例外。
这种情况下,重复计算通常来自“同一咨询被多次上报”:手机端提交一次,平板端打开页面又触发一次会话开始。判断依据是看两条记录是否共享同一个用户标识,而不是看时间是否接近。
实施动作:在落地页注入一段脚本,为每次访问生成或读取一个稳定的会话标识,写入表单隐藏字段和客服组件的初始化参数。服务端收到标识后先查状态表,若已存在“咨询已开始”,则只更新最后活跃时间,不再新增咨询计数。结果是咨询总数与真实人数趋于一致,后续按咨询量分配预算时不会把同一人算成多人,出价和素材取舍的判断依据也随之改变。
例外:如果用户清除了浏览器存储,或从隐私模式进入,标识会丢失,此时服务端只能按新会话处理。可以接受这种少量重复,但要在看数时把它和“同一标识多次触发”区分开,避免把两种情况混在一起下结论。
跳转场景下,重复计算往往发生在“跳转前记一次、跳转后回调又记一次”。判断依据是看回调参数里是否带有落地页生成的标识,而不是只看跳转按钮的点击次数。
实施动作:在跳转链接中拼接标识参数,要求客服侧在会话创建时回传该参数。服务端以标识为主键做去重写入,只保留最早一条咨询记录。结果是渠道报表里的咨询数不再随跳转次数放大,按渠道比较时更接近真实进入咨询的人数。若客服侧无法回传参数,退而求其次的做法是用服务端时间窗口加设备指纹做近似归并,但要注明这是近似,不是精确去重。
例外:跨设备跳转时,如果用户在手机上点击、在另一台设备上完成咨询,标识可能无法延续。此时应把“点击”和“进入咨询”分开统计,而不是强行合并成一个数字。
无论哪种入口,减少重复计算都依赖一张只记录必要字段的状态表。字段可以少到三项:标识、首次到达时间、当前状态。写入时用“存在则更新、不存在则插入”的方式,而不是每次追加一条新记录。
这样做的直接效果是:咨询计数由状态变化驱动,而不是由页面事件驱动。下一步调整投放时,看到的是进入咨询的人数变化,而不是页面触发次数的变化。
如果业务本身需要区分“同一人多次咨询不同问题”,强行合并会掩盖真实的服务需求。判断依据是咨询内容是否属于不同事项。属于不同事项时,应按“标识加事项类型”分别记录,而不是只按标识合并。
另一个例外是数据量很小的账户。样本太少时,去重带来的差异可能被正常波动掩盖,此时优先保证记录口径一致,而不是追求精细归并。等咨询量稳定上升后,再引入标识去重,效果更容易观察。
假设某账户一周内页面触发咨询事件 40 次,其中 12 次来自同一标识的重复触发。按事件计数是 40,按标识去重是 28。这个差值本身不能证明哪种口径正确,只能说明两种口径在回答不同问题:前者反映交互次数,后者反映进入咨询的人数。若下一步要按渠道分配预算,用 28 更贴近决策需要;若要评估客服组件的稳定性,40 仍有参考价值。把这个假设写进看数说明,团队就不会在同一个数字上反复争论。