ChatGPT विज्ञापन कैसे दिखाता है
(buchodi.com)- ChatGPT response stream में model output के साथ विज्ञापन unit object भी मिलकर आते हैं, और SSE के
deltaevent के जरिएsingle_advertiser_ad_unitफ़ॉर्म में भेजे जाते हैं - विज्ञापन card की image और favicon
bzrcdn.openai.comसे लोड होते हैं, औरtarget.open_externally: falseलिंक ChatGPT के internal webview में खुलते हैं, जिससे click के बाद merchant page तक जाने का पूरा flow उसी stream में जारी रहता है - एक ही account में भी conversation topic के हिसाब से अलग-अलग advertisers जुड़ते हैं; Beijing travel, flights, NBA playoffs, fashion, productivity जैसे context में क्रमशः Grubhub, GetYourGuide, Axel, Gametime, Aritzia, Canva देखे गए
- विज्ञापन और click URL में Fernet token आधारित identifiers साथ भेजे जाते हैं, और
ads_spam_integrity_payload,oppref,olref,ad_data_tokenclick integrity verification और identification flow में इस्तेमाल होते हैं;opprefको__opprefcookie में 30 दिन के लिए सेव किया जाता है - merchant page OAIQ SDK लोड करता है और
measureevent कोbzr.openai.comपर भेजता है, जिससे ChatGPT click के बाद merchant-side event फिर OpenAI तक लौट आता है और attribution loop पूरा होता है
विज्ञापन insertion और click flow
- ChatGPT response stream में model output के साथ
single_advertiser_ad_unitफ़ॉर्म का ad object भी मिलकर आता है- conversation request के समय
chatgpt.com/backend-api/f/conversationपर SSE response खुलता है, और कुछdeltaevents में ad unit भेजी जाती है - ad object में
ads_request_id,ads_spam_integrity_payload,advertiser_brand,carousel_cards,ad_data_tokenआदि शामिल होते हैं advertiser_brand.idका फ़ॉर्मadacct_<32-hex>है, जो merchant account identifier जैसा दिखता है
- conversation request के समय
- ad card का brand favicon और image दोनों
bzrcdn.openai.comसे लोड होते हैं- इससे पता चलता है कि ad creative merchant नहीं बल्कि OpenAI side पर host की जा रही है
target.open_externally: falseवाले लिंक ChatGPT के internal webview में खुलते हैं- इससे click के बाद merchant page पर जाने वाला flow भी OpenAI सीधे observe कर सकता है
- click URL में
utm_source=chatgptpilotजैसे parameters के साथoppref,olrefजुड़ते हैं- उदाहरण लिंक
https://grubhub.com/?utm_source=chatgptpilot...&oppref=...&olr…=...फ़ॉर्म में खुलता है
- उदाहरण लिंक
targeting और attribution chain
- एक ही account में भी conversation topic के हिसाब से अलग-अलग advertisers भेजे जाते हैं
- Beijing travel plan में Grubhub का "Get Chinese Food Delivered" जुड़ा दिखा
- Beijing tour booking में GetYourGuide का Great Wall tour और
ad_id=beijing003जुड़ा दिखा - Beijing flights में Axel और
utm_term=vflight_beijing_03जुड़ा दिखा - NBA playoffs में Gametime और
utm_campaign=nba&utm_content=playoffsजुड़ा दिखा - spring fashion और trends में Aritzia और
utm_campaign=chatgptpilot_trav3जुड़ा दिखा - productivity और slides से जुड़ी conversation में Canva और
utm_campaign=…link-clicks_productsजुड़ा दिखा
- इस observation में conversation context आधारित targeting साफ़ दिखती है
- क्या इसमें पिछले conversation history तक शामिल होती है, यह confirm नहीं हुआ
- हर ad के साथ चार Fernet tokens भेजे जाते हैं
ads_spam_integrity_payloadसिर्फ SSE के अंदर आता है, और इसे forged clicks के खिलाफ server-side integrity check के लिए इस्तेमाल होने वाला मान बताया गया हैopprefclick URL में जुड़ता है और OAIQ SDK इसे__opprefcookie में कॉपी करके 720 घंटे, 30 दिन TTL के साथ सेव करता हैolrefभीopprefके साथ click URL में जुड़ता है, लेकिन observed SDK में इसे सेव नहीं किया जाताad_data_tokenbase64 में लिपटे JSON के अंदर एक और Fernet token रखने वाली संरचना है
- Fernet token के पहले 9 bytes public format में होते हैं, इसलिए issue time को key के बिना restore किया जा सकता है
- इसमें version byte
0x80और 8-byte big-endian Unix timestamp शामिल होता है - capture किए गए Home Depot click URL को 2026-04-26 11:30:08 UTC पर issue किया गया था, और browser ने merchant page को 11:31:43 पर fetch किया, यानी 95 सेकंड की देरी निकली
- इसमें version byte
merchant-side tracking SDK
- merchant page OAIQ SDK
https://bzrcdn.openai.com/sdk/oaiq.min.jsलोड करता है- observed version
0.1.3है - initialization code
oaiq('init', { pid: '<merchant pixel ID>' });फ़ॉर्म में आता है - page measurement
oaiq('measure', 'contents_viewed', { ... });फ़ॉर्म में call किया जाता है
- observed version
initके समय OAIQ URL के?oppref=मान को पढ़कर__oppref1st-party cookie में लिखता है- साथ में
__oaiq_domain_probecookie भी सेट की जाती है
- साथ में
- इसके बाद हर
measurecall JSON कोhttps://bzr.openai.com/v1/sdk/…पर POST करता है- इससे click के बाद merchant-side event OpenAI तक वापस जाने वाला attribution loop पूरा हो जाता है
- block या inspection target के रूप में दो domains और दो cookies सीधे बताए गए हैं
-
bzrcdn.openai.com,bzr.openai.com__oppref,__oaiq_domain_probe
-
अभी कोई टिप्पणी नहीं है.