老客户为什么会进新对话?
访客重复变成新会话怎么办?
如果老用户重新打开客服窗口后,被系统识别为“新访客”,可能会出现:
- 同一用户每次进入都生成新对话;
- 原本由客服 A 接待,重新进入后被分配给客服 B;
- 客服端无法稳定识别该用户之前的会话记录。
出现这种情况,可以按以下方式排查。
一、只有部分用户出现
如果只是个别用户出现,通常是因为用户更换了访问环境,例如:
- 更换了登录设备;
- 更换了浏览器;
- 清除了浏览器缓存;
- 使用无痕模式;
- 浏览器隐私设置较严格。
这种情况下,浏览器里原本保存的访客识别信息可能丢失,系统会将该用户识别为新的访客。
处理建议:
建议用户尽量使用同一设备、同一浏览器访问。如果网站有会员登录系统,建议接入 identifier 参数,让系统通过会员 ID 稳定识别同一用户。
二、大部分或所有用户都出现
如果大部分或所有用户都会变成新访客,通常和网站接入环境有关。
常见原因包括:
1.您的平台网址是HTTP开头,客户是通过 HTTP的平台链接访问的客服链接,例如:
http://122.xxx.xxx.xxx/而不是 HTTPS 地址:
https://您的域名2.客服窗口是通过 iframe 嵌入在网站中。
由于浏览器安全策略限制,在 HTTP 环境,尤其是 iframe 嵌入场景下,客服系统自动写入并长期保存访客 track_id 的能力会受到限制。
简单理解就是:
系统原本会尝试在浏览器里保存一个访客识别标识,用来判断用户是不是之前来过。但在 HTTP 或 iframe 场景下,浏览器可能无法稳定保存或读取这个标识。用户重新进入页面时,系统就可能把他当成“新访客”,重新创建会话,并按规则重新分配客服。
三、解决方法
方法一:将网站或客服入口升级为 HTTPS,推荐
建议将当前承载客服的平台页面,从 HTTP 地址升级为带域名的 HTTPS 地址。
例如:
http://122.xxx.xxx.xxx/升级为:
https://您的域名可以使用:
- 自有域名 + SSL 证书;
- Cloudflare;
- Nginx HTTPS 反向代理。
升级为 HTTPS 后,浏览器可以更稳定地保存系统写入的访客识别信息,用户再次进入时更容易被识别为同一访客。
方法二:接入 identifier 参数
如果暂时无法升级 HTTPS,或网站使用 iframe 嵌入客服,建议由网站主动传入 identifier。
identifier 是网站传给客服系统的用户唯一标识。
简单理解就是:网站主动告诉客服系统“当前这个用户是谁”。
插件初始化示例:
window.ChatWidget.init({
baseUrl: "https://您的客服链接",
identifier: "当前用户ID"
});例如用户 ID 是 705:
window.ChatWidget.init({
baseUrl: "https://您的客服链接",
identifier: "705"
});如果是 iframe 链接接入,可以这样传:
https://您的客服链接?lang=en-US&identifier=当前用户ID例如:
https://您的客服链接?lang=en-US&identifier=705注意:
705 只是示例,实际接入时需要由网站动态替换成当前登录用户自己的固定 ID,不能所有用户都使用同一个值。
四、接入注意事项
identifier必须是每个用户固定不变的唯一值;- 不同用户不能使用同一个
identifier; - 不建议直接传手机号、邮箱、姓名等隐私信息;
- 推荐使用会员 ID、用户编号,或加密/哈希后的用户 ID;
- 不要每次随机生成新的
identifier,否则仍会被识别为新用户; - 对外接入建议使用
identifier字段,不建议只传普通的id参数。
五、简单总结
如果只是部分用户出现,一般是用户更换设备、浏览器或清除缓存导致。
如果所有用户都出现,通常是网站使用 HTTP 或 iframe 嵌入,导致浏览器无法稳定保存访客识别信息。
推荐优先升级 HTTPS;如果暂时无法升级,建议接入 identifier,由网站主动传入用户固定 ID。