ChatGPT Ads Pixel und Conversions API: das Conversion-Tracking einrichten
Letzte Aktualisierung: 24. August 2026, geprüft anhand der offiziellen OpenAI-Dokumentation. Die hier genannten Event- und Parameternamen stammen aus der Entwicklerdokumentation von OpenAI, sie können sich während der Beta noch ändern.
Ohne Conversion-Messung bleibt eine ChatGPT-Ads-Kampagne blind: Sie wissen, was Sie ausgeben, aber nicht, was Sie dafür bekommen. Und vor allem können Sie die Conversion-Optimierung nicht aktivieren. Diese Seite behandelt die beiden offiziellen Methoden, das Browser-Pixel und die serverseitige Conversions API, sowie ihr Zusammenspiel. Den Gesamtrahmen finden Sie in unserem Leitfaden ChatGPT Ads.
Auf dieser Seite behandelte KI-Suchmaschinen
- ChatGPT
Warum die Messung eine Voraussetzung ist und keine Option
Drei Gründe, einer davon blockierend:
- Blockierend: Die Conversion-Optimierung (oCPC) setzt voraus, dass das Tracking bereits eingerichtet ist, mit dem JavaScript-Pixel, der Conversions API oder beidem. Ohne Signal hat das System nichts zu optimieren.
- Das Reporting des Ads Manager enthält eine Spalte Conversions, die leer bleibt, wenn nichts angebunden ist.
- Die Berechnung Ihrer Kosten pro Akquisition hängt vollständig von diesen Daten ab: Ohne sie steuern Sie über den CPC, also über die Ausgaben und nicht über das Ergebnis.
Das von OpenAI gesetzte Grundprinzip ist einfach: Sie legen im Ads Manager eine Datenquelle (data source) an und senden ihr anschließend Conversion-Events über das Pixel, die API oder beides.
Pixel oder Conversions API: was wählen?
| JavaScript-Pixel | Conversions API | |
|---|---|---|
| Wo es ausgeführt wird | Im Browser des Besuchers | Ausschließlich auf Ihrem Server |
| Einrichtung | Ein Skript im head platzieren | Entwicklung im Back-end |
| Robustheit | Anfällig für Blocker und Browserbeschränkungen | OpenAI bezeichnet sie als zuverlässigere Quelle als das Pixel allein |
| Empfehlung von OpenAI | Ausgangspunkt | Nutzen, wo immer möglich, für präzisere Daten |
Die pragmatische Antwort lautet nicht „das eine oder das andere“, sondern „beides, mit Deduplizierung“. Das Pixel ist in einer Stunde gesetzt und bringt die Kampagnen sofort zum Leben; die API wird danach angebunden und sichert die Messung dauerhaft ab.
Das Messpixel installieren
Das Messpixel von ChatGPT Ads ist ein Browser-SDK, das Events auf Ihrer Website misst, die Werbung in ChatGPT zugerechnet werden können. Das Skript lädt asynchron von https://bzrcdn.openai.com/sdk/oaiq.min.js und gehört in den Bereich <head>, anschließend wird es mit Ihrer Pixel-ID initialisiert:
oaiq("init", { pixelId: "IHRE-PIXEL-ID" });
Der Parameter pixelId ist verpflichtend, er wird im Ads Manager erzeugt. Ein optionaler Parameter debug schreibt die Aktivität des SDK in die Browserkonsole, was in der Abnahmephase nützlich ist.
Die gesamte Messung läuft danach über einen einzigen Befehl: oaiq("measure", eventName, eventData, options).
Die Standard-Events, die benutzerdefinierten Events und ihre Einschränkungen
Jedes Standard-Event erwartet ein Datenobjekt, dessen Feld type passen muss. Die Entwicklerdokumentation von OpenAI gruppiert sie so:
| Familie | Events | Erwartetes Feld type |
|---|---|---|
| Commerce | order_created, items_added, checkout_started | contents |
| Content | page_viewed, contents_viewed | contents |
| Lead und Registrierung | lead_created, registration_completed, appointment_scheduled | customer_action |
| Abonnement | subscription_created, trial_started | plan_enrollment |
Für Events vom Typ contents umfassen die dokumentierten Felder amount, currency und ein Array contents aus Einträgen mit id, name, content_type und quantity. Events vom Typ plan_enrollment erwarten eine plan_id. Die Dokumentation weist darauf hin, für amount und quantity ganzzahlige Werte zu verwenden.
Wenn kein Standard-Event passt, wird ein benutzerdefiniertes Event mit einem dritten Argument und einem Optionsobjekt deklariert:
oaiq("measure", "custom", { type: "custom" }, { custom_event_name: "quote_requested" })
Die Namen benutzerdefinierter Events müssen genaue Regeln einhalten: 1 bis 64 Zeichen, ausschließlich Buchstaben, Ziffern, Unterstriche und Bindestriche, und sie müssen mit einem alphanumerischen Zeichen beginnen und enden.
Achten Sie auf eine strukturbestimmende Grenze: Ein benutzerdefiniertes Event kann nicht als oCPC-Optimierungsziel dienen. Wenn Ihre geschäftliche Conversion die Optimierung steuern soll, muss sie als Standard-Event gemeldet werden.
Die Conversions API serverseitig anbinden
Die API wird ausschließlich von Ihrem Server aus genutzt. Die dokumentierten Umsetzungspunkte:
- Sie legen eine Web-Conversion-Quelle und ihre Pixel-ID über den Endpunkt
POST /conversions/pixelsan. - Sie erzeugen einen Schlüssel, der serverseitig Events für das aktuelle Werbekonto senden darf.
- Dieser Schlüssel muss in einem serverseitigen Secret-Manager abgelegt werden. Die Dokumentation ist kategorisch: niemals in Browser-Code, niemals in clientseitig sichtbaren Umgebungsvariablen, niemals in Logdateien, niemals in einem Code-Repository.
- Die API akzeptiert Stapel von bis zu 1.000 Events. Kritischer Punkt für Ihre Fehlerbehandlung: Scheitert ein einziges Event des Stapels, scheitert der gesamte Stapel.
Diese letzte Regel gehört bereits in den Entwurf: Ein wegen eines falsch formatierten Felds bei einer Bestellung komplett abgewiesener Stapel kann 999 gültige Conversions aus Ihrem Reporting verschwinden lassen.
Pixel und API deduplizieren: die Regel, die man nicht verfehlen darf
Wenn Sie dieselbe Conversion über das Pixel und über die Conversions API senden, müssen Sie es dem System mitteilen, sonst zählen Sie sie doppelt. Die dokumentierte Methode:
- Denselben Wert wiederverwenden, als id auf API-Seite und als event_id auf Pixel-Seite.
- Beide Events mit derselben Pixel-ID senden.
- Für benutzerdefinierte Events auf beiden Seiten denselben custom_event_name verwenden.
Auf Pixel-Seite sieht das so aus: oaiq("measure", "order_created", {...}, { event_id: "order_12345" }). Die Zuordnung stützt sich auf die Pixel-ID, den Event-Namen und die event_id; bei einem benutzerdefinierten Event tritt der custom_event_name in dieser Logik an die Stelle des Event-Namens.
In der Praxis: Nehmen Sie Ihre Bestell- oder Lead-Nummer als Deduplizierungsschlüssel, das ist der einzige Wert, der auf beiden Seiten natürlich vorliegt.
oppref: bis zur Conversion bewahren, nicht nur erfassen
Das Pixel erfasst oppref, die Klick-Referenz von OpenAI, und speichert sie in einem First-Party-Cookie (__oppref). Es reicht nicht, die Erfassung zu dokumentieren: Die offizielle Dokumentation betont einen Punkt, den viele Implementierungen verfehlen, oppref muss über Weiterleitungen und Navigation hinweg bewahrt werden, bis zur Seite, auf der die Conversion tatsächlich gemessen wird. Eine Kaufstrecke, die über eine Zahlungs-Subdomain läuft, eine Weiterleitung nach einem Formular oder ein Warenkorb, der die Domain wechselt, verlieren das Cookie unterwegs, wenn nichts vorgesehen ist, um es mitzuführen.
Zweiter, oft übersehener Punkt: Die Conversions API erfasst oppref nicht für Sie, anders als das Pixel. Rufen Sie die API serverseitig auf, ist es Aufgabe Ihres Codes, den Wert von oppref zu holen (typischerweise vom Pixel in einem Cookie hinterlegt oder als URL-Parameter übergeben) und ihn, wenn verfügbar, ausdrücklich in den Aufruf aufzunehmen. Ohne diesen Schritt verliert ein ausschließlich über die API gesendetes Event die Verbindung zum vorausgegangenen Anzeigenklick.
Die von OpenAI empfohlene Architektur besteht aus drei Teilen: dem Pixel auf jeder Seite, um oppref und die leichtgewichtigen Events zu erfassen, der Conversions API für werthaltige Events, die von Ihrem Back-end aus gesendet werden (dort, wo Sie die Bestellung vorliegen haben und nichts den Aufruf blockieren kann), und beiden Kanälen, die dieselbe Conversion mit derselben event_id senden.
Das automatische Advanced Matching
Das automatische Advanced Matching (AAM) dient dazu, Conversions Ihren Anzeigen zuzuordnen, wenn keine Klick-Kennung verfügbar ist. Das Pixel erkennt automatisch identifizierbare Kundeninformationen in Formularen und anderen Quellen Ihrer Website, normalisiert sie und hasht sie direkt im Browser mit SHA-256. Die Dokumentation stellt klar, dass keine Rohdaten übertragen werden.
Sie können gehashte Kennungen auch selbst im Objekt user bei der Initialisierung übergeben: email_sha256, phone_number_sha256, external_id_sha256, first_name_sha256, last_name_sha256, sowie die ungehashten Felder country, city, region und postal_code.
Diese Funktion berührt personenbezogene Daten: Ihre Aktivierung sollte mit Ihrem Datenschutzbeauftragten abgestimmt werden, besonders in Europa.
Einwilligung, DSGVO und Steuerung des Pixels
Das SDK stellt einen Einwilligungsbefehl bereit, der vor der Initialisierung aufzurufen ist, um die Messung zu blockieren, solange der Nutzer nicht zugestimmt hat:
oaiq("consent", false); dann oaiq("init", { pixelId: "..." }); dann oaiq("consent", true);, sobald die Einwilligung vorliegt.
Zwei Punkte zum Merken. Erstens: Die Einwilligung gilt standardmäßig als true, sofern sie nicht ausdrücklich auf false gesetzt wurde oder eine Ablehnung erfasst ist. Auf einer europäischen Website muss man also vorab ausdrücklich oaiq("consent", false) aufrufen, statt sich auf das Standardverhalten zu verlassen. Zweitens: Steht der Wert auf false, werden keine Mess-Events gesendet.
Ein Parameter opt_out erlaubt zudem, ein Event auf Nutzerebene von der Personalisierung auszunehmen; sein Standardwert ist false. Das SDK verwaltet außerdem eine datenschutzfreundliche Kennung, oppref, die aus der URL erfasst und in einem Cookie __oppref gespeichert wird.
Zur Einordnung: Personalisierte Werbung steht zum Start im Europäischen Wirtschaftsraum und in der Schweiz nicht zur Verfügung. Das entbindet keineswegs davon, die Einwilligung für die Messung selbst zu verwalten.
Content Security Policy: die freizugebenden Domains
Die häufigste Ursache stiller Ausfälle auf Websites mit strenger CSP: Das SDK wird blockiert, noch bevor es sich initialisieren kann. Die dokumentierten Direktiven:
| Direktive | Freizugebende Quelle | Zweck |
|---|---|---|
| script-src | https://bzrcdn.openai.com | Laden des SDK |
| connect-src | https://bzr.openai.com und https://bzrcdn.openai.com | Senden und Abrufen der Events |
| img-src | https://bzr.openai.com | Rückfallweg über Bildanfrage |
Wenn das Pixel nichts meldet, obwohl der Code korrekt eingebunden ist, öffnen Sie die Konsole mit aktiviertem Parameter debug: Ein CSP-Fehler erscheint dort sofort.
Was das Pixel nicht kann
Eine ausdrückliche Grenze, die man vor dem Entwurf des Tracking-Plans kennen sollte: Das Messpixel unterstützt die Events app_installed und app_opened nicht. Diese Events müssen serverseitig über die Conversions API gesendet werden.
OpenAI dokumentiert darüber hinaus Integrationen mit Messpartnern, einschließlich Mobile Measurement Partner (MMP), für Werbetreibende, deren Conversion in einer App stattfindet.
Ein weiterer Punkt: Der Einsatz mehrerer Pixel-IDs auf derselben Website erfordert eine besondere Konfiguration, die OpenAI gesondert dokumentiert.
Attribution: was gezählt wird und wie
OpenAI bewertet die Conversion-Events anhand der für Ihre Kampagne konfigurierten Events und des geltenden Attributionsfensters. Zwei Regeln, die man kennen muss:
- Die Post-Click-Attribution nutzt das konfigurierte Klickfenster.
- Die Post-View-Conversions (view-through) nutzen ein festes Fenster von einem Tag nach einer zulässigen Impression, unabhängig von Ihrem Klickfenster.
Und die Leseregel, die Rechenfehler verhindert: Die Hauptspalte Conversions enthält ausschließlich Post-Click-Conversions. Die Post-View-Conversions sind ein eigenes, zusätzliches Reporting, das laut OpenAI weder zu den Conversions addiert noch für grundlegende Performance-Kennzahlen wie den CPA verwendet werden darf.
Abnahme-Checkliste vor dem Start
- Datenquelle im Ads Manager angelegt, Pixel-ID abgerufen.
- Skript im head geladen, Initialisierung mit der richtigen Pixel-ID aufgerufen.
- Einwilligung vor der Initialisierung verdrahtet, auf europäischen Websites.
- Standard-Events an den richtigen Stellen ausgelöst, mit dem passenden Feld type.
- Deduplizierung eingerichtet, wenn Sie parallel die API nutzen: derselbe Wert in id und event_id, dieselbe Pixel-ID.
- CSP für die drei Direktiven aktualisiert.
- Debug-Modus für die Dauer der Abnahme aktiviert, danach deaktiviert.
- Landingpage für OAI-AdsBot erreichbar: Eine blockierte Seite kann zur Ablehnung der Anzeige führen, unabhängig von der Qualität des Trackings. Unser Landingpage-Checker für ChatGPT Ads prüft diesen Punkt.
- Genau ein aktives Standard-Event als Ziel gewählt, wenn Sie oCPC anstreben, wohl wissend, dass es nach der Erstellung der Kampagne nicht mehr änderbar ist.
Häufige Fragen
Ist das Conversion-Tracking bei ChatGPT Ads verpflichtend?
Erfasst die Conversions API oppref von allein?
Muss man sich zwischen Pixel und Conversions API entscheiden?
Wie vermeidet man, eine Conversion doppelt zu zählen?
Kann ein benutzerdefiniertes Event als oCPC-Ziel dienen?
Berücksichtigt das Pixel die Einwilligung des Nutzers?
Mein Pixel meldet nichts, was prüfe ich zuerst?
Wie misst man eine App-Installation?
Wie lang ist das Attributionsfenster?
SEO-Score, GEO-Score, Performance und Responsive: 49 geprüfte Punkte, sofortiges AI-Overviews-Urteil.
Verwandte Leitfäden
ChatGPT Ads: der komplette Leitfaden 2026 für Werbung in ChatGPT
Wie ChatGPT Ads funktioniert, wo es verfügbar ist, wie Sie ein Konto anlegen, eine Kampagne strukturieren, über Context Hints targeten und Ihr Budget kalkulieren.
Leitfaden lesenChatGPT Ads Preise: Auktion, Budgets und die realen Kosten einer Kampagne
Was eine ChatGPT-Ads-Kampagne wirklich kostet: die drei Gebotsmodelle, das von OpenAI empfohlene Startgebot, das tägliche Mindestbudget und die Abrechnung über Zahlungsschwellen.
Leitfaden lesenChatGPT Ads für E-Commerce: Kampagnen auf Basis eines Produktfeeds
Den Katalog an ChatGPT Ads anbinden: die drei Methoden der Feed-Übermittlung, der Ablauf von Artikeln, das Feld is_ads_eligible und der Unterschied zu organischen Produktergebnissen.
Leitfaden lesen