核心做法是把“用户身份识别”和“咨询状态同步”拆开:PC端只负责生成一次可携带的匿名标识,移动端只负责在提交咨询时校验这个标识并复用已有会话,而不是两端各自重新计算一遍用户是否已咨询、咨询到哪一步。这样能把重复计算从每次页面跳转降为一次标识生成加一次状态查询,但代价是必须接受短时间内的状态不一致,并用服务端合并规则兜底。
投放百度广告时,常见路径是PC点击广告进入落地页,留下表单或发起咨询,随后用户改用手机继续沟通。如果两端各自维护一套“是否已咨询”的判断逻辑,就会出现同一人在PC已提交、手机又被当成新咨询处理。表面看是数据没打通,实际是计算入口太多:PC端算一次、移动端算一次、客服系统再算一次,三次结果不一致时,系统只能按最后一次覆盖。
第一种解释是标识没传递。用户在PC端生成的匿名ID只存在浏览器本地,换设备后自然丢失,移动端只能新建标识。第二种解释是状态被重复判定。即使标识传过去了,移动端仍会重新跑一遍“是否已咨询”的规则,而这条规则可能依赖设备维度而非账号维度,于是重复计算把已有状态覆盖掉。
区分这两种解释的证据不同。若换设备后新咨询的创建时间与PC端提交时间间隔很短,且移动端携带了同一匿名ID,却仍生成新咨询,问题更可能在状态判定规则;若移动端根本没有携带任何ID,问题更可能在标识传递环节。前者要改判定逻辑,后者要改跳转或扫码时的参数拼接。
把合并计算放在前端,响应快、实现简单,适合咨询量不大、对实时性要求不高的账户。代价是不同设备、不同浏览器对本地存储的清理策略不一致,用户手动清除数据后状态会丢。把合并计算放在服务端,一致性更好,适合多设备、多入口同时投放的账户。代价是需要额外的一次网络请求,且要处理并发写入,否则同一秒内PC和移动同时提交仍可能产生两条记录。
选择条件可以这样判断:如果广告主要投PC端且咨询路径短,前端合并足够;如果同时投移动端、且客服需要看到完整对话历史,服务端合并更稳。无论选哪种,都要明确一个实际动作——在咨询提交接口里增加“先查后写”步骤,即先根据匿名ID查询是否已有未关闭咨询,有则追加消息,无则新建。这个动作的结果会直接影响下一步:若查询命中率高,说明标识传递有效,可以继续优化客服分配;若命中率低,应先排查参数丢失,而不是急着加更多计算节点。
假设某账户设置匿名ID有效期为30分钟。用户在PC提交咨询后第5分钟用手机扫码进入同一落地页,移动端携带该ID,服务端查到未关闭咨询,于是把手机消息追加到原会话。若第40分钟再次进入,ID已过期,系统按新咨询处理。这里的数字只用于说明比较方法:窗口太短会把真实续聊误判为新咨询,窗口太长会把不同人的咨询合并。实际窗口应结合客服响应时长和用户换设备习惯调整,而不是照搬。
调整后要观察两个信号:一是同一匿名ID下会话数量是否下降,二是客服是否反馈“对话历史串了”。前者下降说明重复计算减少,后者出现说明窗口过长或ID生成规则把不同人算成了同一人。两个信号同时看,才能判断下一步是继续放宽窗口还是收紧。
付费广告与自然搜索是不同机制,投放广告不构成自然排名保证。上述调整只影响站内咨询路径的计算次数,不改变广告本身的审核与展示规则;平台当前审核规则、界面和价格应以百度官方信息为准。完成这些动作后,若重复咨询仍出现,优先检查匿名参数是否在跳转中被截断,而不是继续增加计算层。