反弹追踪会把你的点击悄悄绕道追踪者自己的域名,借机植入第一方标识符,从而彻底绕开第三方Cookie拦截。
第三方Cookie正在各大浏览器中被逐步淘汰,很多隐私建议因此把这当作跨站追踪终结的信号。事实并非如此。反弹追踪(bounce tracking,也叫重定向追踪)从一开始就不依赖第三方Cookie。它会把你的点击绕道到一个追踪者拥有的域名,停留短短一瞬——足够让该域名读写自己的第一方存储——然后再把你送到你本来要去的地方。整个过程中从未设置过任何第三方Cookie,所以拦截第三方Cookie对它毫无影响。
关键要点
- 反弹追踪会在点击跳转到目标网址之前,悄悄把它绕道追踪者自己的域名,这样追踪者就短暂地变成了"第一方",可以用自己的存储植入或读取一个标识符。
- 链接装饰负责把标识符带过这一跳:一个点击ID或类似参数会被附加到URL上,让追踪者即使没有Cookie,也能把这次访问和某个画像对上号。
- 它从设计上就绕开了第三方Cookie拦截——在反弹的那一瞬间,标识符存在于追踪者自己域名下的第一方存储里,而第三方限制规则根本管不到这一类存储。
- 浏览器是从结构层面而非单纯拦截Cookie来对抗它:Chrome的隐私沙盒推出了"反弹追踪缓解措施",会清除那些只作为反弹中转站出现过的域名的状态;Safari的智能防跟踪功能从一开始设计时针对的就是这一类重定向滥用。
- 它是完全独立的一类追踪手法,不同于浏览器指纹识别(无状态的设备信号)、基于缓存的超级Cookie(藏在HTTP缓存里的状态),也不同于指纹衍生的持久ID——具体对比见下文。
什么是反弹追踪
想象一个普通链接:你点击它,浏览器直接跳转到目的地。反弹追踪则在中间插入了一个看不见的额外站点。链接并不直接指向目的地——而是先指向追踪者的域名,该域名会立刻发出自己的重定向,把你继续送出去。这个绕道可以有几种形式:
- 服务器端重定向:追踪者的服务器返回一个指向真实目的地的HTTP 30x响应。
- 客户端重定向:页面先在追踪者的域名上短暂加载,随后由JavaScript(或meta刷新)在片刻之后把你送往下一站。
不管是哪一种,在那一瞬间,你的浏览器其实真的停留在追踪者的域名上——不是嵌在iframe里,也不是加载了一个第三方脚本,而是货真价实地导航到了那里。这一点正是整件事的关键:当你处在追踪者自己的域名上时,它存储的任何东西,从浏览器的角度看都是第一方存储,就跟你自己在地址栏里输入那个域名访问一样。
链接装饰:标识符如何在反弹中存活下来
光有重定向还认不出你——追踪者还需要知道究竟是哪一次点击刚刚落到了它的域名上,尤其是第一次见到你(这时它还没存下任何东西)的时候。这就要靠链接装饰:把一个标识符直接以查询参数的形式拼接到URL上,类似在一个原本普通的链接后面加上?click_id=a1b2c3d4。
这种模式在联盟营销和广告归因里随处可见,一个"点击ID"需要从广告曝光一路存活到购买页面,有时还要经过好几个中间域名。反弹追踪借用了同一套机制,只是目的不同:装饰过的URL让追踪者的域名可以直接从这次导航中读出一个标识符,写进该域名自己的第一方存储,再把你交出去。等你下次再经过同一个追踪者反弹时,它读回自己存下的东西,就能把两次访问重新对上——整个过程完全不需要和目的网站交换任何Cookie。
为什么这能绕开第三方Cookie拦截
第三方Cookie限制的原理是:当你停留在别人的页面上时,拒绝让地址栏之外的域名设置或读取Cookie——最典型的场景就是嵌入在出版商页面里的广告脚本,试图为自己的域名设一个Cookie。反弹追踪从来不会让浏览器落入这种情形。在反弹的那一刻,追踪者的域名短暂地就是你地址栏里的那个域名。它在那里存下的东西,不折不扣就是第一方存储,而任何第三方Cookie规则从来都没打算去限制一个域名在你真正导航到它自己时,对自己的第一方存储做什么。
这也是为什么"把Cookie拦截再扩大一点"这种修补思路行不通——整套机制本就绕开了Cookie拦截赖以建立的第三方/第一方界线。要真正拦下它,需要识别的是一种模式:一个域名始终只作为转瞬即逝的反弹点出现,从未成为你真正停留的目的地。
浏览器如何防御反弹追踪
因为反弹追踪利用的是导航本身,而不是某个具体的存储API,防御手段就必须持续观察浏览行为,而不能只拦截某一次调用。
Chrome的隐私沙盒反弹追踪缓解措施会追踪用户被重定向经过、却从未与之互动或停留过的域名,然后定期清除这些域名的存储和Cookie。一个永远只是匆匆中转、从不是目的地的域名,会被区别对待——这恰恰是把反弹追踪中转站和你真正主动访问的普通网站区分开来的那个模式。
Safari的智能防跟踪功能(ITP)走了一条相关但更早的路线。正如WebKit自己的《智能防跟踪 2.0》一文所述,ITP从一开始设计时考虑的就不只是嵌入式第三方请求,还包括跨站导航式追踪——也就是反弹追踪所依赖的"重定向+装饰"模式本身;其应对方式是对具有类追踪导航行为的域名分类并限制其存储,而不仅仅是过滤第三方Cookie请求头。
Firefox的增强型防跟踪保护通过自己的追踪分类清单和存储分区来追求同样的目标,不管交互是通过嵌入还是重定向发生的,都会限制被归类为追踪者的域名能持久保存的内容。
这些做法都没有被其各自的作者宣称为一劳永逸的最终方案——可参见MDN关于第三方Cookie的概述,了解底层隐私模型如何随着浏览器不断堵上一个又一个缺口而持续演进。反弹追踪缓解措施最好被理解为针对一个不断移动的目标所做的主动、持续的防御,而不是一个已经解决的定局。
反弹追踪与其他追踪手法有何不同
BrowserInsight涵盖了好几种截然不同的跨会话追踪机制,值得精确分辨你面对的到底是哪一种:
| 机制 | 持续存在的是什么 | 状态存在哪里 |
|---|---|---|
| 反弹/重定向追踪 | 装饰在URL里的标识符 | 反弹域名自己的第一方存储 |
| 浏览器指纹识别 | 什么都不存储 | 每次访问都从设备/渲染信号重新计算 |
| 持久访客ID | 一个指纹衍生的值 | 从稳定的硬件/浏览器信号重新计算,或在多处存储间复生 |
| 基于缓存的超级Cookie | 藏在缓存响应里的标识符 | 浏览器的HTTP缓存 |
指纹识别以及指纹衍生的持久ID完全不需要任何存储或导航技巧——同一个Canvas哈希或WebGL渲染器字符串每次都会原样出现,只是因为它是从你的设备上实时读出来的,这也正是为什么清除数据、开启隐私模式或使用VPN都碰不到它。反弹追踪则是完全相反的一类技术:它整个都建立在存储与导航机制之上,利用的是第一方/第三方边界,而不是设备特征。一个网站也可能通过另一套独立的存储配额技巧,识破你一开始就处于隐私窗口——那是另一套不相关的机制,参见网站如何检测隐身与无痕浏览模式。搞清楚一项追踪手法到底属于哪个家族很重要,因为能挡住其中一种的防御(拦截第三方Cookie、随机化指纹),对另一种往往毫无作用。
看看你自己的浏览器暴露了什么
反弹追踪在地址栏里是看不见的——重定向链条发生得太快,根本来不及察觉,而它所依赖的大部分机制也不是单次页面加载就能直接检查出来的。你能检查的,是一个网站可能与它结合使用的更广泛的信号面:BrowserInsight的指纹检测会展示你的浏览器当前暴露出的存储、Canvas等各类客户端信号,全程都在客户端完成,绝不会发送到任何地方用于分析。
常见问题
拦截第三方Cookie能阻止反弹追踪吗?
不能。反弹追踪的原理是让追踪者的域名在重定向期间短暂变成第一方,因此它从一开始就不会触发第三方Cookie规则。要拦下它,需要浏览器识别出重定向本身的模式——这正是Chrome的反弹追踪缓解措施和Safari的ITP所要做的事。
反弹追踪和联盟链接或短链接是一回事吗?
机制上有重叠——两者都用了重定向,往往也都用了装饰过的URL——但意图不同。短链接服务或公开披露的联盟重定向,存在的目的是把你带到某处,重定向本身是可见的重点。反弹追踪用的是完全相同的技术手法,但专门用来在一次用户从未察觉发生过的重定向中,悄悄植入一个第一方标识符。
清除Cookie能阻止反弹追踪吗?
只能起到部分作用,而且只管到下一次反弹之前。清除Cookie会抹掉追踪者域名此前已经存下的东西,但下次你再点击经过同一个域名的装饰链接时,它照样可以在反弹过程中重新写入一个全新的标识符。真正针对这套模式的缓解措施,靠的是识别并定期清除那些只作为反弹中转站出现的域名——而不是指望你自己动手清数据。
反弹追踪在2026年还有效吗?
它的效果正在减弱,但还没有消失。浏览器层面的缓解措施越来越能识别并清除那些表现得像纯粹反弹中转站的域名的存储,但这些防御在不同浏览器和不同配置之间的落地进度并不一致,而底层的"重定向+装饰"机制也并未消失——这是一场仍在持续的军备竞赛,形态上和隐身模式检测的猫鼠游戏颇为相似。
总结
反弹追踪提醒我们:第三方Cookie的终结,并不等于跨站追踪的终结——它只是终结了其中一种机制。通过在重定向期间短暂让追踪者的域名变成第一方,并借助链接装饰把标识符带过去,它绕开了第三方Cookie拦截原本要守住的那条边界。浏览器正在用观察导航模式、而不只是过滤Cookie请求头的防御手段来回应,但和本站介绍的每一项技术一样,诚实的结论是:没有哪一个单一修复——清Cookie、拦截第三方存储,或任何一项浏览器缓解措施——能一次性堵上所有缺口。
推荐阅读:


