fbclid、gclid、msclkid是附在連結上的點擊ID。本文說明它們記錄什麼、為何封鎖Cookie擋不住,以及Safari和Brave會剝掉哪些。
你點開動態消息裡的一個連結,開啟的頁面網址尾端多了一長串:?fbclid=IwAR…或?gclid=Cj0K…。這不是你輸入的,拿掉它頁面看起來也沒有變化。那它是什麼,是在追蹤你嗎?簡短的回答:是,這正是它的用途。本文說明這些點擊ID是什麼、為什麼Cookie被封鎖時依然有效、瀏覽器如何因應,以及什麼時候可以放心刪掉。
重點速覽
fbclid、gclid和msclkid是點擊識別碼。 它們分別由Meta(Facebook)、Google Ads和Microsoft Ads加到連結上,讓平台能把你在另一個網站上的造訪,對應回引發這次造訪的那次點擊。- 它們不同於
utm_標籤。utm_campaign=spring對點擊同一檔行銷活動的所有人都一樣,而點擊ID只對應某一次點擊,所以Brave的過濾器這類隱私功能會區別對待兩者。 - 它們存在於網址裡,而不是儲存空間裡。 第三方Cookie封鎖和儲存分區都碰不到隨網址一起傳遞的識別碼。
- 部分瀏覽器已開始剝離它們。 Brave會從跨站請求中移除清單上的點擊ID;Safari在隱私瀏覽模式下封鎖已知的追蹤查詢參數,並限制已知指紋腳本從網址讀取內容。
- 分享連結前刪掉它通常無害,但不敢保證:有些網站確實把頁面狀態放在查詢字串裡。
什麼是點擊ID
當你點擊廣告,或點擊平台內分享的連結時,平台可以改寫目的地網址,讓它帶上一串看似隨機的權杖:
| 參數 | 加入者 | 全名 |
|---|---|---|
fbclid | Meta(Facebook) | Facebook點擊識別碼(Facebook Click Identifier) |
gclid | Google Ads | Google點擊識別碼(Google Click Identifier) |
msclkid | Microsoft Advertising | 微軟版的gclid |
這個權杖會同時透過兩條路到達目的地網站:伺服器在收到頁面請求時就能看到它,頁面上的分析或廣告腳本也能從網址中讀出它,再回傳給平台。於是平台就能把這次造訪與最初的點擊對應起來;如果你有登入該平台,還可能對應到你的帳號。廣告主就是這樣得知「這次點擊帶來了那筆訂單」。Brave隱私團隊在關於查詢參數剝離的文章中描述了同樣的鏈條:這些值被加到你點擊的網址上,好讓廣告主更了解你和你在網路上的行為。
這類手法統稱連結裝飾(link decoration):追蹤者在你離開一個網站時替連結加上帶識別資訊的查詢參數,等你到達另一個網站時再讀出來,從而把你在兩個互不相干的網站上的行為串起來。重新導向式的追蹤也靠它攜帶識別碼,詳見彈跳追蹤解析,這裡不再重複那套機制。
點擊ID與活動標籤
並不是所有參數都針對個人,而這個差別決定了哪些參數會被剝離:
- 活動標籤(
utm_source、utm_medium、utm_campaign)描述訪客從哪裡來。點擊同一封電子報裡同一個連結的人,值都相同。它們回答「哪個行銷活動有效」,並不會把某個人單獨挑出來。 - 點擊ID描述某一次點擊。如果取值唯一,就可以與平台已經掌握的點擊者資訊關聯起來。
Brave的查詢字串過濾器直接說明了這項設計:針對已知專屬於某個使用者、某個電子郵件地址或某一次點擊的參數,同時不干擾粗粒度的活動層級追蹤。
為什麼封鎖Cookie擋不住它們
第三方Cookie封鎖和儲存分區限制的,都是內嵌於頁面的第三方能跨站儲存並讀回什麼。而點擊ID根本不需要第三方儲存:它隨導覽一起過來,目的地網站的伺服器和頁面自己的腳本(第一方環境)都看得到,再由頁面轉送給平台。在瀏覽器看來,這只是一段普通的第一方腳本發出的普通請求。
事後清除Cookie同樣無濟於事。ID在點擊時就附上了,也已經送達;換一個乾淨的瀏覽器設定檔點擊同一則廣告,只會拿到一個新的ID。所以瀏覽器只能把網址本身當作清理對象。
瀏覽器的因應
下面每一項的範圍都比「封鎖所有追蹤」窄,請留意適用範圍。
Brave。 查詢字串過濾器會在非同站GET請求發出之前,移除清單中的參數(名稱和值),涵蓋導覽、子資源和重新導向。因此該參數不會到達伺服器、網址列或Referer標頭,頁面上的腳本也無法復原。文件寫明了一個例外:如果電子郵件的退訂連結需要某個可識別使用者的參數才能運作,Brave會保留它。Brave在上文連結的2020年文章中點名fbclid、gclid和msclkid,作為其剝離對象的例子。
Safari。 WebKit的Safari 17.0說明把封鎖連結中已知的追蹤查詢參數列為隱私瀏覽新增的保護之一。另外,WebKit的Safari 26.0說明指出,Safari會阻止已知的指紋腳本讀取可用於導覽追蹤的狀態,例如查詢參數和document.referrer。在一般瀏覽模式下,智慧型防追蹤(ITP)還會把腳本在被辨識為連結裝飾的到達頁上建立的Cookie的有效期限制在24小時內,詳見Safari智慧型防追蹤逐個機制詳解。
Firefox。 Mozilla的反追蹤政策把網址裝飾歸為導覽式跨站追蹤,並表示Firefox「會設法識別網站用於追蹤的查詢參數」,將其從跨站的頂層導覽中移除;不針對特定使用者的歸因用途屬於例外。這是一份政策聲明,既不是參數清單,也不代表你目前設定下的實際行為,因此不能解讀為對這三個參數中任何一個的保證。
Chrome及其他Chromium系瀏覽器。 我們沒有查證到可引用的一手說明,所以這裡不下結論。任何瀏覽器都可以用一個簡單方法自行確認:點擊帶這類參數的連結,看頁面開啟後網址列裡它是否還在。
Referer標頭有類似的風險
你剛離開的頁面網址,也會透過Referer標頭傳送給下一個網站。如果這個網址裡帶著點擊ID,ID就可能再多傳一站。瀏覽器現在預設傳送裁剪後的值:MDN記載,未設定政策時預設值為strict-origin-when-cross-origin,跨來源的HTTPS請求只傳送來源(origin),從HTTPS到HTTP則完全不傳送該標頭。完整政策列表見MDN的Referrer-Policy參考。Safari更進一步,把所有第三方Referrer都降級為來源,見上文連結的ITP文章。
該不該刪掉這個參數?
分享連結時,通常可以刪。如果問號前面是普通的文章或商品網址,把?及其後面的內容全部刪掉,頁面一般照常開啟。如果網址裡還有別的參數,更穩妥的做法是只刪掉fbclid=…(或gclid=…、msclkid=…)這一段,其餘保留。這樣對方開啟時就不會帶上你那次點擊的ID,連結也更短。
有兩點要注意。有些應用程式把真正的狀態放在查詢字串裡(搜尋詞、頁碼、工作階段或邀請權杖),刪掉會改變甚至破壞頁面,所以傳送前先開啟一次清理後的連結。另外,刪除參數改變不了已經發生的點擊:你點擊的那一刻,平台就已經看到了。我們不推薦特定的擴充功能或工具;如果瀏覽器內建保護,用內建的就好。
剝離後的網址還留下什麼
去掉點擊ID,只是去掉了一個明確的識別碼。即使沒人把識別碼遞給網站,它也能憑瀏覽器暴露的各項屬性組合認出你。這就是瀏覽器指紋。持久訪客ID能在清除Cookie後繼續存活,靠的正是它;也正因如此,瀏覽器指紋識別指南和清理網址同樣值得關注。
需要說清楚BrowserInsight做的是什麼:我們的工具不會檢查你點擊的連結或造訪的網址。我們的指紋檢測完全在你的瀏覽器中執行,顯示網站能讀到哪些瀏覽器資訊——這一層,是剝離網址的功能刪不掉的。
常見問題
fbclid是病毒嗎?出現它是不是帳號被盜了?
都不是。它只是網址裡的一段普通文字,不會在你的裝置上執行任何東西。看到它只代表這個連結經過了會加入點擊ID的平台。需要留意的是隱私,不是惡意軟體。
gclid是什麼意思?
它是Google Click Identifier(Google點擊識別碼)的縮寫。它在Google Ads裡的作用,和fbclid之於Meta、msclkid之於Microsoft Advertising相同。
VPN或無痕視窗能去掉點擊ID嗎?
VPN改變的是你的IP位址,不是連結,所以ID照樣會送達。無痕視窗本身也不會改動連結。上文提到的Safari隱私瀏覽屬於一項具體的保護,並不是所有瀏覽器的隱私模式都有文件說明會這樣做。
總結
fbclid、gclid和msclkid是寫進連結本身的單次點擊識別碼,因此能繞開Cookie和儲存層面的防禦。部分瀏覽器正在透過清理網址來補上缺口,但涵蓋程度因瀏覽器和模式而異。從你分享的連結裡刪掉它們是個合理的習慣;只是別忘了,網址只是識別碼的來源之一。
延伸閱讀:


