廣告反作弊
這是一份場景指南。核心接入不變——你照常載入 Web SDK、讀取 裁決,並從資料 API 拉取資料,和那幾頁裡描述的 完全一樣。本頁只補充廣告反作弊場景特有的那一點內容。
廣告反作弊把機器人與無效流量擋在付費投放之外,讓廣告主與廣告平台為真實的點擊和曝光 付費——而非虛假量。它與其他使用場景的不同之處在於:訪客由第三方送來,且雙方需要 就一份獨立的、逐點擊的真人/機器人結論達成一致。
源頭即時攔截
反作弊在入口處 inline 執行、即時給出裁決——它不是事後報表。訪客著陸在誰的頁面上,誰就能立刻依裁決處置:
- 廣告主在著陸頁跑 SDK:無效流量一到達就被識別——並可選觸發驗證碼——在它進入轉換漏斗、污染報表之前就攔住。
- 流量平台在自己的 pre-lander 或跳轉頁跑 SDK:點擊在被轉發之前就先驗一道,機器人在入口就被攔下,根本不會變成已投遞流量。
唯一前提是要有一張能跑 SDK 的頁:裁決需要瀏覽器訊號,純伺服器端 302 跳轉沒有採集訊號的地方——加一個極輕的中間頁,同樣能即時攔截。
簽名 click token 與資料 API 在此之上做兩端對帳;即時 inline 攔截是主要機制,事後 API 清洗是沒有中間頁時的兜底。
兩端角色
- 廣告主(Advertiser) —— 擁有訪客著陸的頁面。在該頁面上執行 Web SDK,為每次到達的 訪問拿一份裁決,並從資料 API 拉取裁決,以核對自己被計費的部分。
- 服務商(Provider,流量/廣告來源) —— 投遞點擊。它需要證明自己投遞的品質, 因此為每次點擊簽發一個點擊 token,之後用獨立裁決去比對自己的投遞報表。
雙方都用各自的應用程式憑證向資料 API 鑑權,並讀取同一份逐點擊裁決——正是 這一點讓他們無需互信對方的原始日誌即可對帳。
端到端流程
下面的時序圖展示了一次點擊如何從服務商的投遞,經訪客與廣告主著陸頁,最終落到同一份 裁決上——而兩個帳號之後各自從自己一側讀到這同一列。
關鍵特性在於:兩個 app_id 落在同一列上。 廣告主按 advertiser_app_id 匹配讀到它, 流量方按 provider_app_id 匹配讀到它——兩個不同帳號,各用各自的 App-Key 查詢,各自 落到同一份獨立裁決上。雙方無需暴露或互信對方的原始日誌,即可就某次點擊發生了什麼 達成一致。
點擊 token
**點擊 token(click token)**把服務商投遞的某次點擊,與該次訪問最終收到的裁決關聯 起來。它是雙方據以結算的逐點擊識別碼。反詐欺的其他使用場景無需點擊 token——不用它也能 對帳裁決。
流程:
簽發 —— 服務商在把訪客路由到廣告主著陸頁時,取得一個已簽名的點擊 token (每次點擊一個)。
拼接到目標 URL —— 把簽發的 token 作為查詢參數拼到著陸 URL 上:
https://advertiser.example/lp?click_token=ct_xxxxxxxx在頁面讀取 —— Web SDK 會自動從 URL 讀取該 token。若你使用不同的 參數名,設定
tokenParam:jsBotSignal.init({ appKey: 'YOUR_APP_KEY', tokenParam: 'click_token' });對帳 —— 之後透過資料 API 查回該點擊,並與服務商的投遞報表關聯。
INFO
該 token 在簽發給你時就已簽名——你只需把它透傳到著陸 URL 即可。你這邊無需做任何 簽名或計算。
tokenParam 選項
在這個場景下,Web SDK 多出一個選項:
| 選項 | 型別 | 預設值 | 說明 |
|---|---|---|---|
tokenParam | string | 自動辨識 | URL 查詢參數名,用於攜帶服務商的點擊 token(如 click_token)。SDK 會從頁面 URL 中讀取它,並把裁決與該次點擊關聯。若不使用點擊 token,保持預設即可。 |
對帳與結算
一旦訪問攜帶了點擊 token,雙方就基於同一份獨立裁決結算:
取得單次點擊的裁決 —— 例如用於申訴或確認某次點擊:
bashGET /v1/bot/verdict?click_token=ct_xxx X-App-Key: YOUR_APP_KEY X-App-Secret: YOUR_APP_SECRET匯出逐點擊列 —— 拉取一個時間範圍,把每列的
click_token與你自己的點擊日誌關聯:bashGET /v1/bot/export?from=2026-06-01&to=2026-06-30&format=csv X-App-Key: YOUR_APP_KEY X-App-Secret: YOUR_APP_SECRET每一列攜帶該次訪問的
click_token(若存在)、時間戳記,以及裁決欄位 (is_bot、score、level、action)。
廣告主把被標記和機器人點擊從付費中剔除;服務商用同一份結論比對自己的投遞報表。因為 雙方讀取的是同一份獨立裁決,結算不依賴任何一方的原始日誌。