标签导航:

document.referrer失效了,还有什么方法能准确追踪网站访问来源?

网站访问来源追踪:超越document.referrer的局限

准确追踪网站访问来源对于数据分析至关重要。document.referrer虽然常用,却存在局限性,尤其在用户通过应用(如微信)分享链接后,再由系统默认浏览器打开的情况下,往往无法获取准确的来源信息。本文探讨document.referrer的不足,并提供更可靠的替代方案。

document.referrer的缺陷:

document.referrer容易受到各种因素干扰,导致无法准确反映访问来源。例如,用户使用应用分享链接后,再选择用其他浏览器打开,document.referrer将丢失应用的来源信息。

替代方案一:利用User-Agent信息

User-Agent头信息包含访问设备和浏览器的详细信息。例如,微信内置浏览器会在User-Agent中包含"MicroMessenger"字样。然而,如果用户选择用默认浏览器打开链接,User-Agent将变为默认浏览器的标识,无法准确识别微信来源。

以下为示例:

微信内置浏览器User-Agent:

GET / HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 16_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.29 NetType/WIFI Language/zh_CN
...

默认浏览器User-Agent:

GET / HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 16_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.1 Mobile/15E148 Safari/604.1
...

替代方案二:基于唯一ID的追踪方法

更可靠的方法是在生成分享链接时,动态生成一个唯一的ID,并将其添加到URL中。服务器端存储该ID及其对应的来源信息(例如微信)。当用户访问网站时,服务器根据URL中的ID识别访问来源。此方法结合ID还能实现针对不同来源的访问控制。

通过采用更高级的追踪方法,可以有效克服document.referrer的局限性,获得更准确的网站访问来源数据,从而为网站运营和改进提供更可靠的依据。