Dokumentationsmenü

OpenAI Ads (ChatGPT)

Einwilligungssteuerung für das OpenAI-Pixel (Anzeigen in ChatGPT): Aktivierung, die oaiq-Warteschlange, Laden des SDK erst nach Einwilligung und Verifizierung.

OpenAI Measurement Pixel (Anzeigen in ChatGPT)

CookieHug kann die Einwilligung des OpenAI Measurement Pixels (oaiq) steuern — des Conversion-Pixels für Anzeigen in ChatGPT. Zwei Eigenschaften dieses Pixels machen eine reine Kopie des offiziellen Snippets im EWR rechtswidrig:

  • das Pixel startet mit aktivierter Einwilligung — ohne oaiq("consent", false) vor init sendet es sofort Daten,
  • Ereignisse, die bei deaktivierter Einwilligung gesendet werden, werden verworfen, nicht eingereiht — OpenAI spielt sie nach einer späteren Einwilligung nicht nach.

Die Funktion ist standardmäßig deaktiviert und wird je Domain eingeschaltet. CookieHug braucht die Pixel-ID nicht — es legt die Befehlswarteschlange oaiq an, übernimmt den Einwilligungsbefehl und entscheidet, *wann* das Pixel-SDK (oaiq.min.js) geladen wird.

Aktivierung

  • Öffnen Sie die Domain im Dashboard → Erweitert → Bereich Einwilligungsrichtlinie.
  • Suchen Sie die Karte OpenAI Measurement Pixel (Anzeigen in ChatGPT) und legen Sie den Schalter um — gespeichert wird automatisch.
  • Die Änderung landet beim nächsten Abruf im Banner-Skript (Skript-Cache: bis zu 5 Minuten).
  • Das CookieHug-Snippet muss auf der Seite vor dem OpenAI-Pixel-Snippet stehen.

So funktioniert das Signal

Beim Start legt das CookieHug-SDK einen Warteschlangen-Stub window.oaiq an und setzt einen zur Entscheidung des Besuchers passenden Einwilligungseintrag an dessen Anfang. Das offizielle Pixel-Snippet beginnt mit if (w.oaiq) return;; sieht es unsere Warteschlange, hängt es nur seine init- und measure-Aufrufe an — und CookieHug lädt das OpenAI-SDK erst, wenn eine Einwilligung in die Kategorie Marketing vorliegt:

// Start ohne gespeicherte Entscheidung — nichts von OpenAI wird geladen:
window.oaiq.q  // → [['consent', false]]

// das Snippet der Seite (nach CookieHug) hängt an:
oaiq('init', { pixelId: '…' });
oaiq('measure', 'page_viewed');

// „Alle akzeptieren“ → CookieHugOnConsentReady:
window.oaiq.q  // → [['consent', true], ['init', …], ['measure', 'page_viewed']]
// und erst jetzt kommt https://bzrcdn.openai.com/sdk/oaiq.min.js auf die Seite

Dadurch gehen vor der Entscheidung eingereihte Ereignisse (meist page_viewed) nach der Einwilligung raus, statt verloren zu gehen. Bei Ablehnung wird gar nichts von OpenAI geladen. Bei einem Wiederbesuch mit gespeicherter Einwilligung lädt das SDK direkt beim Seitenstart. Läuft das SDK, erreicht es jede weitere Entscheidung als oaiq('consent', true | false) — eine Ablehnung im Editor stoppt die Messung, ein Widerruf lädt die Seite neu. Quelle des Signals ist die Kategorie Marketing, dieselbe, die ad_storage in Google Consent Mode steuert.

Wenn Sie die Einwilligung selbst steuern

Bei eingeschaltetem Schalter rufen Sie oaiq("consent", …) nicht aus dem Seitencode auf — dieser Befehl gehört CookieHug. Haben Sie bereits eine eigene Behandlung (z. B. das Muster: consent false → init → in einem CookieHugOnConsentReady-Listener consent true und erneutes Senden der Ereignisse der aktuellen Seite), lassen Sie den Schalter aus — Ihr Code funktioniert, weil CookieHugOnConsentReady nach jeder Entscheidung und bei Wiederbesuchen mit gespeicherter Einwilligung feuert.

Steht das Pixel-Snippet vor CookieHug, lädt das Snippet der Seite das OpenAI-SDK. CookieHug setzt den Einwilligungseintrag weiterhin an den Anfang der noch nicht verarbeiteten Warteschlange, kann den SDK-Download aber nicht mehr verzögern. Wird das Pixel über den Google Tag Manager ausgelöst, verwenden Sie einen an die Marketing-Einwilligung gebundenen Trigger — der Schalter bleibt sicher, aber GTM bestimmt den Ladezeitpunkt.

Verifizierung

In den DevTools auf einer Seite mit aktivierter Funktion:

// direkt nach dem Aufruf (vor einer Entscheidung):
window.oaiq.q
// → [['consent', false], ['init', {…}], ['measure', 'page_viewed']]
// Tab Network: keine Anfragen an bzrcdn.openai.com / bzr.openai.com

// nach „Alle akzeptieren“:
// → ['consent', true] am Anfang der Warteschlange, <script src="…/oaiq.min.js"> erscheint im DOM
window.oaiq.loaded   // → true, sobald das SDK den Stub ersetzt hat

Existiert window.oaiq nicht, ist der Schalter im Skript noch nicht aktiv (auf die Cache-Aktualisierung warten) oder die Seite lädt ein älteres Skript.