谷歌是如何偷偷記錄你的每次點擊的?
在當今的互聯(lián)網(wǎng)時代,用戶行為數(shù)據(jù)已成為各大科技公司的重要資產(chǎn)。本文將揭示谷歌是如何通過多種技術手段來追蹤用戶的搜索點擊行為。
第一代追蹤:URL 重定向方案
最初的追蹤方案相對簡單直接。當用戶從搜索結果頁面復制鏈接時,會得到類似這樣的 URL:
這個 URL 會在后臺記錄用戶的點擊行為,然后快速重定向到目標頁面。實現(xiàn)原理如下:
只要點擊,JavaScript 函數(shù)就會將href更改為包含多個參數(shù)(包括原始 URL)的新 URL。
所以盡管瀏覽器會在懸停時在左下方顯示實際的 URL,但一旦你點擊它進行復制,href 就會立即改變。
值得注意的是,谷歌選擇監(jiān)聽 mousedown 而不是 click 事件,這是因為用戶經(jīng)常會通過右鍵在新標簽頁打開鏈接,這種情況下 click 事件不會觸發(fā)。
新的www.google.com/url頁面會記錄訪問情況,并以極快的速度消失,你幾乎不會注意到它的存在,除非你網(wǎng)速過慢。
谷歌將這些數(shù)據(jù)用于谷歌分析(Google Analytics)和搜索控制臺(Search Console)等工具,這樣網(wǎng)站所有者就可以通過分析點擊率來提高搜索結果和頁面的質(zhì)量,這可能也是搜索排名的一個因素。更不用說記錄搜索廣告的點擊率,以獲取每年數(shù)十億美元的廣告收入了。
但谷歌變得更聰明了。
他們意識到這種 URL 跟蹤方法對某些群體來說存在嚴重問題。對于網(wǎng)速較慢的用戶來說,這種惱人的重定向技術會給請求增加不小的延遲,并增加跳出率。
于是,他們做了一些新的嘗試?,F(xiàn)在,得到的不再是神秘的www.google.com/url,而是一模一樣的 URL:
第二代追蹤:Ping 屬性方案
為了解決重定向造成的延遲問題,谷歌采用了更現(xiàn)代的解決方案 - HTML5 的 ping 屬性:
<a
ping="https://www.google.com/url?tracking_params">
網(wǎng)站標題
</a>
這種方式的優(yōu)勢在于:
- 用戶直接訪問目標網(wǎng)站,無重定向延遲
- 瀏覽器異步發(fā)送追蹤請求,不影響頁面加載
- 對用戶完全透明,提供更好的體驗
示例:追蹤請求的格式
POST /url?tracking_params HTTP/1.1
Host: www.google.com
Ping-From: https://www.google.com/search?q=...
Ping-To: https://example.com
Content-Type: text/ping
當 存在ping 屬性時 ,用戶代理應清楚地向用戶表明,跟蹤超鏈接也會導致在后臺發(fā)送二次請求,可能包括列出實際目標 URL。
更不用說隱私問題了,這也是火狐等瀏覽器拒絕默認啟用該功能的原因。
在火狐瀏覽器中,谷歌堅持使用mousedown 事件的方法:
但即使禁用了,谷歌還準備了完整的降級方案:
- 對于禁用 JavaScript 的用戶:
<!-- 直接使用重定向鏈接 -->
<a >
- 對于不支持 ping 屬性的瀏覽器(如 Firefox):
// 回退到mousedown事件處理
document.querySelectorAll('a').forEach(link => {
link.addEventListener('mousedown', handleClick);
});
因此,確實沒有內(nèi)置的方法來避免這種基本不可見的跟蹤。
技術影響與思考
這套追蹤系統(tǒng)為谷歌提供了重要數(shù)據(jù):
- 點擊率分析
- 搜索排名優(yōu)化
- 廣告效果統(tǒng)計
- 用戶行為研究
從技術角度看,這是一個精心設計的分層架構:
- 現(xiàn)代瀏覽器優(yōu)先使用 ping 屬性
- 不支持時降級到 JavaScript 事件
- JavaScript 不可用時使用服務端重定向
這種追蹤雖然幫助提升了搜索質(zhì)量,但也引發(fā)了隱私問題。作為開發(fā)者,在實現(xiàn)類似功能時需要在用戶體驗、性能和隱私之間找到平衡點。