Wie ChatGPT Werbung ausliefert
(buchodi.com)- Im ChatGPT-Antwortstream werden zusammen mit der Modellausgabe auch Werbeeinheitsobjekte eingestreut; über das SSE-
delta-Event wird einsingle_advertiser_ad_unitübermittelt - Bild und Favicon der Werbekarte werden von
bzrcdn.openai.comgeladen, und Links mittarget.open_externally: falsewerden in der internen Webview von ChatGPT geöffnet, sodass auch der Wechsel zur Merchant-Seite nach dem Klick im selben Ablauf bleibt - Selbst im selben Account werden je nach Gesprächsthema unterschiedliche Werbetreibende zugeordnet; im Kontext von Peking-Reisen, Flügen, NBA-Playoffs, Fashion und Produktivität wurden jeweils Grubhub, GetYourGuide, Axel, Gametime, Aritzia und Canva beobachtet
- Mit Werbung und Klick-URLs werden außerdem Fernet-tokenbasierte Kennungen übertragen;
ads_spam_integrity_payload,oppref,olrefundad_data_tokenwerden für Klick-Integritätsprüfung und Identifikationsabläufe verwendet, wobeioppref30 Tage lang im Cookie__opprefgespeichert wird - Die Merchant-Seite lädt das OAIQ SDK und sendet
measure-Events anbzr.openai.com, womit sich eine Attribution-Schleife schließt, bei der nach dem ChatGPT-Klick Events von der Merchant-Seite wieder an OpenAI zurückgehen
Einblendung von Werbung und Klick-Ablauf
- Im ChatGPT-Antwortstream werden neben der Modellausgabe Werbeobjekte in Form von
single_advertiser_ad_uniteingestreut- Bei einer Gesprächsanfrage wird unter
chatgpt.com/backend-api/f/conversationeine SSE-Antwort geöffnet, über derendelta-Events in manchen Fällen Werbeeinheiten übermittelt werden - Das Werbeobjekt enthält unter anderem
ads_request_id,ads_spam_integrity_payload,advertiser_brand,carousel_cardsundad_data_token advertiser_brand.idwirkt wie eine Merchant-Account-Kennung im Formatadacct_<32-hex>
- Bei einer Gesprächsanfrage wird unter
- Sowohl das Marken-Favicon als auch die Bilder der Werbekarten werden von
bzrcdn.openai.comgeladen- Das deutet auf eine Struktur hin, in der die Werbemittel nicht vom Merchant, sondern von OpenAI gehostet werden
- Links mit
target.open_externally: falsewerden in der internen Webview von ChatGPT geöffnet- Dadurch kann OpenAI auch den Ablauf nach dem Klick bis zur Merchant-Seite direkt beobachten
- Den Klick-URLs werden zusammen mit Parametern wie
utm_source=chatgptpilotauchopprefundolrefangehängt- Ein Beispiel-Link wird in der Form
https://grubhub.com/?utm_source=chatgptpilot...&oppref=...&olr…=...geöffnet
- Ein Beispiel-Link wird in der Form
Targeting- und Attribution-Kette
- Selbst im selben Account werden je nach Gesprächsthema unterschiedliche Werbetreibende ausgeliefert
- Bei der Planung einer Peking-Reise erschien Grubhub mit „Get Chinese Food Delivered“
- Bei der Buchung einer Peking-Tour erschien GetYourGuide mit einer Great-Wall-Tour und
ad_id=beijing003 - Bei Flügen nach Peking erschien Axel mit
utm_term=vflight_beijing_03 - Bei den NBA-Playoffs erschien Gametime mit
utm_campaign=nba&utm_content=playoffs - Bei Frühlingsmode und Trends erschien Aritzia mit
utm_campaign=chatgptpilot_trav3 - Bei Unterhaltungen zu Produktivität und Slides erschien Canva mit
utm_campaign=…link-clicks_products
- Diese Beobachtung zeigt Targeting auf Basis des Gesprächskontexts
- Ob auch frühere Gesprächsverläufe einbezogen werden, konnte nicht bestätigt werden
- Pro Anzeige werden vier Fernet-Tokens mitgeliefert
ads_spam_integrity_payloaderscheint nur innerhalb des SSE und wird als Wert für serverseitige Integritätsprüfungen gegen gefälschte Klicks eingeordnetopprefwird an die Klick-URL angehängt und vom OAIQ SDK in das 1st-Party-Cookie__opprefkopiert, gespeichert mit 720 Stunden bzw. 30 Tagen TTLolrefwird zusammen mitopprefan die Klick-URL angehängt, im beobachteten SDK aber nicht gespeichertad_data_tokenist so aufgebaut, dass in Base64-verpacktem JSON nochmals ein weiterer Fernet-Token enthalten ist
- Die ersten 9 Bytes eines Fernet-Tokens sind öffentlich definiert, sodass sich der Ausstellungszeitpunkt auch ohne Schlüssel rekonstruieren lässt
- Enthalten sind das Versions-Byte
0x80und ein 8-Byte-Big-Endian-Unix-Timestamp - Die erfasste Home-Depot-Klick-URL wurde am 2026-04-26 11:30:08 UTC ausgestellt; der Browser rief die Merchant-Seite um 11:31:43 ab, woraus sich eine Verzögerung von 95 Sekunden ergibt
- Enthalten sind das Versions-Byte
Tracking-SDK auf Merchant-Seite
- Die Merchant-Seite lädt das OAIQ SDK
https://bzrcdn.openai.com/sdk/oaiq.min.js- Die beobachtete Version ist
0.1.3 - Der Initialisierungscode erscheint in der Form
oaiq('init', { pid: '<merchant pixel ID>' }); - Die Seitenmessung wird in der Form
oaiq('measure', 'contents_viewed', { ... });aufgerufen
- Die beobachtete Version ist
- Beim
initliest OAIQ den?oppref=-Wert aus der URL und schreibt ihn in das 1st-Party-Cookie__oppref- Zusätzlich wird auch das Cookie
__oaiq_domain_probegesetzt
- Zusätzlich wird auch das Cookie
- Anschließend sendet jeder
measure-Aufruf JSON per POST anhttps://bzr.openai.com/v1/sdk/…- Damit schließt sich die Attribution-Schleife, bei der Ereignisse auf Merchant-Seite nach dem Klick wieder an OpenAI zurückgesendet werden
- Als direkte Ziele zum Blockieren oder Prüfen werden zwei Domains und zwei Cookies genannt
-
bzrcdn.openai.com,bzr.openai.com__oppref,__oaiq_domain_probe
-
Noch keine Kommentare.