1 Punkte von GN⁺ 13 시간 전 | Noch keine Kommentare. | Auf WhatsApp teilen
  • Im ChatGPT-Antwortstream werden zusammen mit der Modellausgabe auch Werbeeinheitsobjekte eingestreut; über das SSE-delta-Event wird ein single_advertiser_ad_unit übermittelt
  • Bild und Favicon der Werbekarte werden von bzrcdn.openai.com geladen, und Links mit target.open_externally: false werden 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, olref und ad_data_token werden für Klick-Integritätsprüfung und Identifikationsabläufe verwendet, wobei oppref 30 Tage lang im Cookie __oppref gespeichert wird
  • Die Merchant-Seite lädt das OAIQ SDK und sendet measure-Events an bzr.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_unit eingestreut
    • Bei einer Gesprächsanfrage wird unter chatgpt.com/backend-api/f/conversation eine SSE-Antwort geöffnet, über deren delta-Events in manchen Fällen Werbeeinheiten übermittelt werden
    • Das Werbeobjekt enthält unter anderem ads_request_id, ads_spam_integrity_payload, advertiser_brand, carousel_cards und ad_data_token
    • advertiser_brand.id wirkt wie eine Merchant-Account-Kennung im Format adacct_<32-hex>
  • Sowohl das Marken-Favicon als auch die Bilder der Werbekarten werden von bzrcdn.openai.com geladen
    • Das deutet auf eine Struktur hin, in der die Werbemittel nicht vom Merchant, sondern von OpenAI gehostet werden
  • Links mit target.open_externally: false werden 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=chatgptpilot auch oppref und olref angehängt

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_payload erscheint nur innerhalb des SSE und wird als Wert für serverseitige Integritätsprüfungen gegen gefälschte Klicks eingeordnet
    • oppref wird an die Klick-URL angehängt und vom OAIQ SDK in das 1st-Party-Cookie __oppref kopiert, gespeichert mit 720 Stunden bzw. 30 Tagen TTL
    • olref wird zusammen mit oppref an die Klick-URL angehängt, im beobachteten SDK aber nicht gespeichert
    • ad_data_token ist 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 0x80 und 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

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
  • Beim init liest OAIQ den ?oppref=-Wert aus der URL und schreibt ihn in das 1st-Party-Cookie __oppref
    • Zusätzlich wird auch das Cookie __oaiq_domain_probe gesetzt
  • Anschließend sendet jeder measure-Aufruf JSON per POST an https://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.

Noch keine Kommentare.