
一名開發者對 OpenAI 廣告量度系統的逆向分析指出,OpenAI 在 bzr.openai.com 運行的廣告收集器會設定一個綁定 ChatGPT 帳戶的 cookie,並在用戶瀏覽其他網站時把該標識送回 OpenAI,令 OpenAI 可以把用戶在其他網站的活動連結到其 ChatGPT 帳戶。[1]
官方文件的描述
OpenAI 官方文件對廣告量度機制的描述,集中在轉換追蹤的運作方式。官方說明轉換量度用於了解用戶點擊 ChatGPT 廣告後的行動(例如購買、提交查詢或完成註冊),廣告主需在 Ads Manager 建立資料來源,並以 OpenAI Pixel、Conversions API 或兩者同時發送轉換事件。[2]
在 Pixel 的技術文件中,OpenAI 說明 Pixel 會從落地頁網址擷取名為 oppref 的點擊參考值,並把它存入第一方 cookie,以便在之後的轉換事件中重用;Pixel 亦會自動加入當前頁面來源、為事件加上時間戳,並在啟用自動進階配對時,於瀏覽器內偵測支援的客戶資料、以 SHA-256 雜湊後隨轉換事件送出,官方強調原始客戶資料不會經自動進階配對送往 OpenAI。Pixel 另提供同意設定,未取得同意時不會發送量度事件的 pings。[3]
OpenAI 的 cookie 政策把 __obi 列於分析類 cookie,有效期一年,適用於 chatgpt.com 與 openai.com;政策把分析 cookie 描述為協助 OpenAI 了解服務表現與使用情況。OpenAI 亦把分析與行銷設為兩個獨立的同意選項。[1]
獨立分析觀察到什麼
該獨立分析指出,在 ChatGPT 頁面上,客戶端會產生隨機識別碼並向後端取得一枚有效期約 60 秒的 JWT,內含帳戶主體與該識別碼;隨後瀏覽器以跨站請求把該 token 送往 bzr.openai.com,回應設定 __obi cookie,其屬性包括 Domain=.openai.com、Max-Age=31536000、SameSite=None、Secure。[1]
分析又指,任何在 ChatGPT 購買廣告的公司,只要在自己網站安裝同一段 OpenAI 代碼,訪客瀏覽該網站時,__obi 會隨相關請求(包括載入 SDK 的 script 請求)送往 OpenAI,並附帶頁面資料。分析稱其在自己手機上重現整個機制,以兩種獨立擷取方法核對,並比對涵蓋 936 個廣告主像素、1,029 個主機名的數月流量。[1]
該分析亦描述 SDK 從廣告主頁面收集資料的方式,包括由頁面表單、渲染文本及標籤管理總線(tag-manager bus)擷取值;並指電郵、電話與姓名以 SHA-256 雜湊後傳送,而國家、地區、城市與郵遞區號則以明文傳送。分析提到 OpenAI 在 Ads Manager 提供自動配對開關,並設有排除密碼、一次性驗證碼、卡號、社會安全號碼、出生日期、病史、診斷與法庭欄位的拒絕清單。[1]
限制與未經證實之處
該分析明確列出多項限制:觀察是在 Android 版 Chrome 上進行,Safari 的 Intelligent Tracking Prevention 會封鎖所有第三方 cookie,而 iOS 上的 Chrome 亦使用 WebKit,因此該機制不會在任何 iOS 瀏覽器上運作;桌面版 Chrome 未經測試。分析又指出,並非每次 ChatGPT session 都會產生同步 token(約五次中一次),ChatGPT 的流動網頁版更不會同步;收集器回應 202 只代表事件連同 cookie 被接受,OpenAI 伺服器端是否把事件解析到帳戶,是根據設計推論,分析者並未實際觀察到該連結過程。[1]
分析者表示,已於 9 月 14 日向 OpenAI 的 press 與 privacy 電郵查詢兩個問題——為何 __obi 被歸類為分析 cookie,以及只同意分析而拒絕行銷的用戶是否仍會收到該 cookie——OpenAI Support 回覆確認收到查詢並表示會轉交內部檢視,但未回答該兩項問題。[1]