OpenAI Ads misst Conversions über klar benannte Events. Wer von Anfang an das passende Standard-Event wählt, bekommt saubereres Reporting, bessere Conversion-Zuordnung und weniger Sonderfälle. Diese Seite ergänzt das Tutorial als Nachschlagewerk – sie ist auch ohne die vorherigen Schritte eigenständig lesbar.
Kurzfassung
- Erst Standard-Event wählen, nur dann Custom Event.
- Danke-Seiten sind gute Startpunkte für Pixel-Events.
- Käufe mit
order_createdund Betrag in Cent senden. - Webinar-Anmeldungen meist mit
registration_completedplus optionalem Custom Event präzisieren. - API und Pixel später über dieselbe
event_idzusammenführen.
Welches Event passt zu welchem Ziel?
OpenAI unterstützt aktuell diese Standard-Events: app_installed, app_opened, appointment_scheduled, checkout_started, contents_viewed, custom, items_added, lead_created, order_created, page_viewed, registration_completed, subscription_created und trial_started.
Jedes Event-Datenobjekt braucht ein type-Feld, passend zur Datenform: contents, customer_action, plan_enrollment oder custom.
| Ziel | Event | Datentyp | Beispiel | Hinweis |
|---|---|---|---|---|
| Seitenaufruf | page_viewed | contents | Danke-Seite, Landingpage | Basis-Signal für Seitenbesuche |
| Produkt-/Kursseite angesehen | contents_viewed | contents | Produktdetail, Artikel, Listing | Nur für konkrete Content-Elemente, nicht jede Seite |
| Formular abgeschickt / Lead | lead_created | customer_action | Kontaktformular, Demo-Anfrage | Auf der Danke-Seite auslösen, nicht beim Button-Klick |
| Meeting/Demo gebucht | appointment_scheduled | customer_action | Kalenderbuchung abgeschlossen | Erst nach bestätigter Buchung senden |
| Webinar-Anmeldung abgeschlossen | registration_completed | customer_action | Webinar-Danke-Seite | Webinar per contents-Objekt oder Custom Event unterscheiden |
| Checkout gestartet | checkout_started | contents | Zahlungsprozess begonnen | Noch kein Kauf – nicht mit order_created verwechseln |
| In Warenkorb gelegt | items_added | contents | Produkt im Warenkorb | Für E-Commerce-Trichter |
| Kauf abgeschlossen | order_created | contents | Bestellbestätigung | Mit amount (Cent) + currency |
| Abo gestartet | subscription_created | plan_enrollment | Monatsabo aktiviert | plan_id und Betrag mitgeben |
| Testphase gestartet | trial_started | plan_enrollment | 14-Tage-Trial | Kostenlos: kein amount nötig |
| Spezialfall | custom | custom | Interne Unterscheidung | Nur mit custom_event_name als Option |
app_installed und app_opened sind aktuell nur über die Conversions API verfügbar und nicht über das JavaScript Pixel.
Standard-Event oder Custom Event?
Die Entscheidungslogik ist einfach:
- Hat OpenAI ein passendes Standard-Event, nutze das Standard-Event.
- Custom Events sind nur für zusätzliche interne Unterscheidung oder echte Spezialfälle gedacht.
- Für ein Webinar mit mehreren Webinaren:
registration_completedals Standard-Event, plus entwedercontentsmit Webinar-ID/Name oder zusätzlich eincustom-Event mitcustom_event_name– je nach Reporting-Ziel.
Regeln für custom_event_name: Kleinbuchstaben, Zahlen, Unterstriche oder Bindestriche, 1 bis 64 Zeichen – und niemals denselben Namen wie ein eingebautes Event.
Beträge und EUR richtig senden
Monetäre Werte werden als Integer in der kleinsten ISO-4217-Währungseinheit gesendet – bei EUR also in Cent. Wenn amount gesendet wird, muss auch currency gesendet werden.
| Betrag | So senden |
|---|---|
| 0 EUR / kostenloses Webinar | kein amount nötig |
| 9,90 EUR | amount: 990, currency: "EUR" |
| 99,00 EUR | amount: 9900, currency: "EUR" |
| 129,99 EUR | amount: 12999, currency: "EUR" |
Codebeispiele
Alle Beispiele nutzen ausschließlich Platzhalter-IDs. Jedes Event sollte eine eigene, pro Abschluss eindeutige event_id erhalten – dieselbe ID nutzt später die Conversions API zur Deduplizierung.
Meeting gebucht
oaiq("measure", "appointment_scheduled", {
type: "customer_action"
}, {
event_id: "meeting_12345"
});Lead-Formular abgeschickt
oaiq("measure", "lead_created", {
type: "customer_action"
}, {
event_id: "lead_12345"
});Webinar-Anmeldung mit Webinarname
oaiq("measure", "registration_completed", {
type: "customer_action",
contents: [{
content_type: "webinar",
id: "webinar_youtube_ads_2026",
name: "YouTube AI Ads Webinar 2026",
quantity: 1
}]
}, {
event_id: "webinar_registration_12345"
});Optionales Custom Event für ein bestimmtes Webinar
Wichtig: custom_event_name gehört in die Optionen (4. Parameter), nicht ins Datenobjekt.
oaiq("measure", "custom", {
type: "custom",
contents: [{
content_type: "webinar",
id: "webinar_youtube_ads_2026",
name: "YouTube AI Ads Webinar 2026",
quantity: 1
}]
}, {
event_id: "webinar_registration_12345_custom",
custom_event_name: "webinar_registration_youtube_ads_2026"
});Produktkauf in EUR
oaiq("measure", "order_created", {
type: "contents",
amount: 9900,
currency: "EUR",
contents: [{
content_type: "product",
id: "kurs_youtube_ads_2026",
name: "YouTube AI Ads Kurs 2026",
quantity: 1
}]
}, {
event_id: "order_12345"
});Abo gestartet
oaiq("measure", "subscription_created", {
type: "plan_enrollment",
plan_id: "academy_monthly",
amount: 4900,
currency: "EUR"
}, {
event_id: "subscription_12345"
});Test im Ereignisstream
So prüfst du, ob deine Events technisch ankommen:
- Im Ads Manager unter Tools > Conversions > Ereignisstream die Abfrage starten.
- Die relevanten Danke-Seiten selbst aufrufen: Lead-Danke-Seite, Kauf-Danke-Seite, Webinar-Danke-Seite.
- Seite refreshen und kurz interagieren – danach sollten die Events im Ereignisstream erscheinen.
Der Ereignisstream zeigt den technischen Eingang. Das Kampagnenreporting hängt zusätzlich vom konfigurierten Conversion-Event, der Kampagnenverknüpfung, der Attribution und dem Zeitfenster ab.
Typische Fehler
custom_event_nameins Datenobjekt geschrieben statt als Option (4. Parameter).- Betrag als
99.00statt9900gesendet. currencyvergessen, obwohlamountvorhanden ist.- Event beim Button-Klick ausgelöst, obwohl der Abschluss später scheitern kann.
- Jeden Seitenaufruf als Lead oder Kauf gemessen.
- Webinarname nur im Eventnamen versteckt statt zusätzlich als Content-Objekt dokumentiert.
Weiterführende Kapitel
Hinweis: Ein zentraler Tool-Hub mit Event-Generator ist für später vorgemerkt und wird hier verlinkt, sobald er verfügbar ist.
Häufige Fragen
- Wann nutze ich ein Custom Event statt eines Standard-Events?
- Nur wenn kein Standard-Event passt oder du eine zusätzliche interne Unterscheidung brauchst. Custom Events nutzen den Eventnamen 'custom' plus custom_event_name als Option (nicht im Datenobjekt).
- Wie sende ich Beträge in EUR?
- Monetäre Werte werden als Integer in der kleinsten ISO-4217-Einheit gesendet – bei EUR also Cent. 99,00 EUR werden zu amount: 9900, currency: 'EUR'. Wird amount gesendet, muss currency immer mitgesendet werden.
- Kann ich app_installed und app_opened über das Pixel messen?
- Nein. app_installed und app_opened sind aktuell nur über die Conversions API verfügbar, nicht über das JavaScript Pixel.
- Welche Zeichen sind in custom_event_name erlaubt?
- Kleinbuchstaben, Zahlen, Unterstriche und Bindestriche, 1 bis 64 Zeichen. Der Name darf nicht identisch mit einem eingebauten Eventnamen sein.