In diesem Leitfaden wird Entwicklern, die die Spezifikation der Event and Conversion API (ECAPI) des IAB Tech Lab verwenden, erläutert, wie sie ihre Ereignis- und Conversion-Daten dem Schema für die Ereignisaufnahme der Data Manager API zuordnen.
Übersicht
ECAPI ist ein plattformunabhängiger Open-Source-Datenstandard, der die Struktur von marketingbezogenen Ereignissen und Conversions definiert.
Die folgende Tabelle bietet einen allgemeinen Überblick über die wichtigsten Attribute und Designprinzipien der ECAPI im Vergleich zur Data Manager API:
| ECAPI | Data Manager API | |
|---|---|---|
| Deduplizierung | Basiert auf id (Ereignis-ID) |
Basiert auf transaction_id |
| Ereignisrouting | Das Feld data_set_id in der Ereignisnutzlast gibt das Ziel der Daten an. |
Im Feld destinations der Anfrage werden die Ziele für die Ereignisse definiert.
Die Data Manager API unterstützt auch das Weiterleiten von Ereignissen an mehrere Ziele in einer einzelnen Anfrage. Weitere Informationen finden Sie unter Ziele und Header konfigurieren. |
| Felder für Datenschutz und Einwilligung | Einwilligungsstrings der Global Privacy Platform (GPP) |
Die Data Manager API akzeptiert oder parst keine Einwilligungs-Strings der Global Privacy Platform (GPP). Legen Sie die Einwilligungsfelder im Consent-Objekt fest.
Sie können die Einwilligung entweder auf Anfrageebene (gilt für alle Ereignisse in der Anfrage) oder auf Ereignisebene festlegen (ermöglicht die Angabe unterschiedlicher Einwilligungseinstellungen für einzelne Ereignisse). |
Strukturelle Feldzuordnung
In den folgenden Zuordnungstabellen wird definiert, wie einzelne Felder aus der ECAPI-Spezifikation in Felder übersetzt werden, die von der Data Manager API akzeptiert werden:
Zuordnung von Ereignisobjekten
ECAPI (event) |
Data Manager API (Event) |
Hinweise |
|---|---|---|
data_set_id |
|
Sie können Ziele auf den folgenden Ebenen definieren:
Weitere Informationen zum Definieren einer Destination und zum Bestimmen der Produktziel-ID findest du unter Ziele und Header konfigurieren.
|
id |
transaction_id |
Conversion-Ereignisse werden dedupliziert. Weitere Informationen finden Sie im Abschnitt Wie Google mit Daten aus mehreren Quellen umgeht in den Leitfäden zum Senden von Ereignissen für Google Ads, Google Analytics und Floodlight. |
timestamp |
event_timestamp |
Erforderlich. ECAPI verwendet das Unix-Epochenformat (Ganzzahl) für Zeitstempel.
Wenn Sie die Zuordnung zur Data Manager API vornehmen, konvertieren Sie das Feld event_timestamp in eines der folgenden Formate:
Weitere Informationen finden Sie unter Zeitstempelformat. |
event_type/custom_event |
event_name |
Das kann ein empfohlener Ereignisname (z. B. purchase) oder ein benutzerdefinierter Ereignisname sein. Weitere Informationen finden Sie unter Standardereignisnamen. |
user_data |
user_data |
Wird dem UserData-Objekt zugeordnet, das eine Liste von UserIdentifier-Objekten akzeptiert. |
value |
conversion_value |
Wird direkt als Double oder Float zugeordnet, das den Geldwert der Conversion darstellt. |
currency_code |
currency |
Ordnen Sie den Wert einem dreistelligen Währungscode in Großbuchstaben zu (z. B. USD). |
source |
event_source |
Auf einen Wert aus der Aufzählung EventSource festgelegt. |
properties |
|
Ordnen Sie Artikel auf Transaktionsebene dem Array cart_data.items im Objekt CartData zu. Die Data Manager API unterstützt mehrere optionale Merchant Center-Felder für Produkte, die in Merchant Center-Konten vorhanden sind.
Wenn Ihr Ziel eine Google Ads-Conversion-Aktion ist, können Sie im Feld custom_variables auch zusätzliche benutzerdefinierte Parameter als Liste von CustomVariable-Objekten angeben.
Wenn Ihr Ziel ein Google Analytics-Datenstream ist, können Sie im Feld additional_event_parameters zusätzliche Ereignisparameter als Liste von AdditionalEventParameter-Objekten angeben.
|
ext |
Kein Äquivalent |
Zuordnung von Nutzerdatenobjekten
In der Data Manager API akzeptiert das Feld user_data im Objekt Event ein UserData-Objekt. Hier wird eine Liste von UserIdentifier-Objekten erwartet, die einzelne Nutzer-IDs wie E-Mail-Adressen, Telefonnummern oder Adresskomponenten enthalten können:
ECAPI (user_data) |
Data Manager API (Event) |
Hinweise |
|---|---|---|
customer_identifier |
user_id (Google Analytics) |
Bei Google Analytics-Ereignissen steht das Feld user_id für eine User-ID. Die Data Manager API unterstützt keine generischen Kunden-ID-Felder für andere Ziele. |
uids |
Kein Äquivalent | Die Data Manager API unterstützt kein strukturiertes uids-Array mit Agententypen und Domains. |
customer_segments |
user_properties |
Ordnen Sie UserProperties dem Event zu. |
email_address |
user_data.user_identifiers[].email_address |
Auf die formatierte und gehashte E‑Mail-Adresse festgelegt. Sie können die gehashte E-Mail-Adresse auch verschlüsseln. |
phone_numbers |
user_data.user_identifiers[].phone_number |
Legen Sie die formatierte und gehashte Telefonnummer fest. Sie können die gehashte Telefonnummer auch verschlüsseln. |
utcoffset |
Kein Äquivalent |
Wenn Sie das JSON-Format verwenden, können Sie die Zeitzonenverschiebung direkt im RFC 3339-event_timestamp-String angeben.
Wenn Sie Protocol Buffers verwenden, können Sie Hilfsfunktionen wie Timestamps.parse(String) verwenden, um die Zeitzonenkonvertierung in Sekunden und Nanosekunden zu verarbeiten.
Weitere Informationen finden Sie unter Zeitstempelformat. |
address |
user_data.user_identifiers[].address |
Wird einem AddressInfo-Objekt zugeordnet. Weitere Informationen finden Sie unter Zuordnung von Adressobjekten. |
gpp_string |
Kein Äquivalent | Ordnen Sie die Einwilligung dem Objekt Consent auf Anfrage- oder Ereignisebene zu. Übersicht zu Datenschutz und Einwilligung |
gpp_sid |
Kein Äquivalent | Ordnen Sie die Einwilligung dem Objekt Consent auf Anfrage- oder Ereignisebene zu. Übersicht zu Datenschutz und Einwilligung |
mmt_only |
Kein Äquivalent | |
click_id |
ad_identifiers.gclid |
Ordnen Sie die Google-Klick-ID (gclid) zu. Weitere Informationen finden Sie unter AdIdentifiers. |
impression_id |
ad_identifiers.impression_id |
Weitere Informationen finden Sie unter AdIdentifiers. |
event_ip_address |
event_device_info.ip_address |
Verfügbare Felder finden Sie unter DeviceInfo. |
event_user_agent |
event_device_info.user_agent |
Verfügbare Felder finden Sie unter DeviceInfo. |
ifa |
ad_identifiers.mobile_device_id |
Zuordnung zur mobilen Kennung für Werbetreibende (IDFA unter iOS, AdID unter Android) Weitere Informationen finden Sie unter AdIdentifiers. |
landing_ip_address |
ad_identifiers.landing_page_device_info.ip_address |
Verfügbare Felder finden Sie unter DeviceInfo. |
landing_user_agent |
ad_identifiers.landing_page_device_info.user_agent |
Verfügbare Felder finden Sie unter DeviceInfo. |
age_range |
Kein Äquivalent | |
gender |
Kein Äquivalent | |
ext |
Kein Äquivalent |
Zuordnung von Adressobjekten
ECAPI (address) |
Data Manager API (AddressInfo) |
Hinweise |
|---|---|---|
first_name |
given_name |
Wird dem Feld given_name in AddressInfo zugeordnet. Folgen Sie den Formatierungs- und Hash-Richtlinien. Sie können auch die gehashten Attribute einer Adresse verschlüsseln. |
last_name |
family_name |
Wird dem Feld family_name in AddressInfo zugeordnet. Folgen Sie den Formatierungs- und Hash-Richtlinien. Sie können auch die gehashten Attribute einer Adresse verschlüsseln. |
street |
Kein Äquivalent | Wird in der Data Manager API nicht unterstützt. |
city |
Kein Äquivalent | Wird in der Data Manager API nicht unterstützt. |
state |
Kein Äquivalent | Wird in der Data Manager API nicht unterstützt. |
country_code |
region_code |
Nicht hashen: Wird dem Feld region_code in AddressInfo zugeordnet. Halten Sie sich an die Formatierungsrichtlinien. |
postal_code |
postal_code |
Nicht hashen: Entspricht dem Feld postal_code in AddressInfo. Beachten Sie die Formatierungsrichtlinien. |
address_type |
Kein Äquivalent | Wird in der Data Manager API nicht unterstützt. |
ext |
Kein Äquivalent |
Zuordnung von Elementobjekten
verfügbar sind.ECAPI (item) |
Data Manager API (Item) |
Hinweise |
|---|---|---|
id |
item_id |
Erforderlich für Google Analytics-Ereignisse. Wird auf eine standardmäßige, eindeutige Kennung für den Artikel festgelegt. |
| Kein Äquivalent | merchant_product_id |
Erforderlich für Floodlight-Conversions und Google Ads-Anzeigen-Conversions mit Warenkorbdaten. Wird auf die Produkt-ID im Merchant Center-Konto festgelegt. |
name |
additional_item_parameters |
Ordnen Sie es in der Liste additional_item_parameters als item_name zu. |
price |
unit_price |
|
discount |
additional_item_parameters oder custom_variables |
Ordnen Sie sie als discount in additional_item_parameters (für Google Analytics) oder als benutzerdefinierte Variable in custom_variables (für Google Ads) zu. |
quantity |
quantity |
Konvertieren Sie den float-Wert in eine Ganzzahl (int64). |
brand |
additional_item_parameters |
Ordnen Sie es in der Liste additional_item_parameters als item_brand zu. |
affiliation |
additional_item_parameters |
Ordnen Sie es in der Liste additional_item_parameters als affiliation zu. |
category |
additional_item_parameters |
Ordnen Sie es in der Liste additional_item_parameters als item_category zu. |
cattax |
Kein Äquivalent | |
item_coupon |
additional_item_parameters |
Karte als coupon in der Liste additional_item_parameters. |
item_list_id |
additional_item_parameters |
Ordnen Sie es in der Liste additional_item_parameters als item_list_id zu. |
item_list_name |
additional_item_parameters |
Ordnen Sie es in der Liste additional_item_parameters als item_list_name zu. |
item_item_variant |
additional_item_parameters |
Ordnen Sie es in der Liste additional_item_parameters als item_variant zu. |
item_location_id |
additional_item_parameters |
Karte als location_id in additional_item_parameters. |
ext |
Kein Äquivalent |
Standardereignisnamen
ECAPI-Standardereignisse entsprechen weitgehend den Google Analytics-Namenskonventionen.
Wenn Sie Ereignisse an einen Google Analytics-Datenstream senden, ist das Feld
event_nameerforderlich.In der Referenz zu empfohlenen Ereignissen in Google Analytics finden Sie die zugehörigen Felder, Parameter und Beispielanfragen für die Datenaufnahme über die Data Manager API für jedes Ereignis.
Sie können auch benutzerdefinierte Ereignisse senden, sofern sie den Regeln für Ereignisnamen entsprechen.
Die meisten ECAPI-Standardereignisse (z. B. purchase, add_to_cart, begin_checkout, search und refund) haben denselben Ereignisnamen wie die von Google Analytics empfohlenen Ereignisse. Es gibt jedoch einige Ausnahmen, in denen in Google Analytics das Präsens anstelle des Perfekts verwendet wird:
viewed_itemwirdview_itemzugeordnet.viewed_item_listwirdview_item_listzugeordnet.viewed_cartwirdview_cartzugeordnet.
Beispielanfragen
Auf den folgenden Tabs sehen Sie einen Vergleich zwischen der Nutzlast eines ECAPI-Conversion-Ereignisses und seiner Darstellung als gültiges IngestEventsRequest der Data Manager API:
ECAPI
Hier ist eine JSON-Beispielnutzlast, die der ECAPI-Spezifikation entspricht:
{
"data_set_id": "123456789",
"id": "ABC798654321",
"timestamp": 1781035621,
"event_type": "purchase",
"value": 30.03,
"currency_code": "USD",
"source": "website",
"user_data": {
"customer_identifier": "123456789123456789",
"customer_segments": ["gold_member"],
"email_addresses": [
"3E693CF7E5B67880BFF33B2D2626DADB7BF1D4BC737192E47CF8BAA89ACF2250"
],
"address": {
"first_name": "96d9632f363564cc3032521409cf22a852f2032eec099ed5967c0d000cec607a",
"last_name": "db98d2607efffa28aff66975868bf54c075eca7157e35064dce08e20b85b1081",
"country_code": "US",
"postal_code": "94045"
},
"event_ip_address": "192.0.2.1",
"event_user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
},
"properties": {
"items": [
{
"id": "SKU_12345",
"quantity": 3,
"item_price": 10.01
}
]
}
}
Data Manager API
Hier sehen Sie ein Beispiel für IngestEventsRequest für die formatierten, gehashten und codierten Ereignisdaten. Der Kontotyp GOOGLE_ADS im Ziel gibt an, dass die Anfrage auf ein Google Ads-Ziel verweist:
{
"destinations": [
{
"operating_account": {
"account_type": "GOOGLE_ADS",
"account_id": "1234567890"
},
"login_account": {
"account_type": "GOOGLE_ADS",
"account_id": "1234567890"
},
"product_destination_id": "123456789"
}
],
"encoding": "HEX",
"events": [
{
"event_name": "purchase",
"transaction_id": "ABC798654321",
"event_timestamp": "2026-06-10T20:07:01Z",
"event_source": "WEB",
"user_properties": {
"additional_user_properties":[
{
"property_name": "customer_segment",
"value": "gold_member"
}
]
},
"user_data": {
"user_identifiers": [
{
"email_address": "3E693CF7E5B67880BFF33B2D2626DADB7BF1D4BC737192E47CF8BAA89ACF2250"
},
{
"address": {
"given_name": "96D9632F363564CC3032521409CF22A852F2032EEC099ED5967C0D000CEC607A",
"family_name": "DB98D2607EFFFA28AFF66975868BF54C075ECA7157E35064DCE08E20B85B1081",
"region_code": "US",
"postal_code": "94045"
}
}
]
},
"event_device_info": {
"ip_address": "192.0.2.1",
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
},
"conversion_value": 30.03,
"currency": "USD",
"cart_data": {
"items": [
{
"item_id": "SKU_12345",
"quantity": 3,
"unit_price": 10.01
}
]
}
}
]
}