App-User-Agent
Im Rahmen unserer umfassenden Bemühungen zur Bekämpfung von Spam haben wir eine standardisierte Spezifikation für den User-Agent-Header entwickelt, der von einem Analyse- oder Werbeprodukt im Namen eines App-Nutzers gesendet wird. Der User-Agent der App kann aus nativem Code abgeleitet werden, um die folgende Spezifikation einzuhalten:
name version (os_and_version; locale; device; build; Proxy)
Die Definition dieser Felder ist wie folgt:
| User-Agent-Komponenten | |
|---|---|
| name | Der Name des Analytics-/Werbeprodukts. ( Wenn der User-Agent auf der Clientseite erstellt wird, sollte Android// Specified by API consumer. iOS// Specified by API consumer. |
| version | Die Version des Analyse-/Werbeprodukts.
( Android// Specified by API consumer. iOS// Specified by API consumer. |
| os_and_version | Das Betriebssystem und die Betriebssystemversion, auf der die App ausgeführt wird. ( AndroidString osAndVersion =
"Android " + Build.VERSION.RELEASE;iOSUIDevice *uid = [UIDevice currentDevice]; NSString *osAndVersion = [NSString stringWithFormat:@"%@ %@", [uid systemName], [uid systemVersion]]; |
| locale | Ein IETF-Gebietsschema-Tag für das Gerät mit einem aus zwei Buchstaben bestehenden Sprach- und Ländercode, die durch einen Unterstrich getrennt sind.
( AndroidString locale = Locale.getDefault(); iOSNSString *locale = [[NSLocale currentLocale] localeIdentifier] |
| device | Der Name des physischen Geräts, auf dem das Analytics-/Anzeigenprodukt ausgeführt wird.
( AndroidString device = Build.MODEL; iOS@import Darwin.sys.sysctl; NSString *device(void) { size_t bufferSize = 64; NSMutableData *buffer = [[NSMutableData alloc] initWithLength:bufferSize]; int status = sysctlbyname("hw.machine", buffer.mutableBytes, &bufferSize, NULL, 0); if (status != 0) { return nil; } return [[NSString alloc] initWithCString:buffer.mutableBytes encoding:NSUTF8StringEncoding]; } |
| build | „Build/“ gefolgt von der Build-Nummer des Betriebssystems.
( AndroidString build = "Build/" + Build.ID; iOS@import Darwin.sys.sysctl; NSString *build(void) { size_t bufferSize = 64; NSMutableData *buffer = [[NSMutableData alloc] initWithLength:bufferSize]; int status = sysctlbyname("kern.osversion", buffer.mutableBytes, &bufferSize, NULL, 0); if (status != 0) { return nil; } return [[NSString alloc] initWithCString:buffer.mutableBytes encoding:NSUTF8StringEncoding]; } |
Fügen Sie ; Proxy nur am Ende des App-User-Agents ein, wenn Sie den App-User-Agent serverseitig erstellen. Wenn der User-Agent der App vollständig auf der Clientseite erstellt wird, schließen Sie ; Proxy aus. Der User-Agent einer App könnte also so aussehen:
- Android:
AdMob/7.10.1 (Android 6.0; en_US; SM-G900F; Build/MMB29M; Proxy) - iOS:
AdMob/7.10.1 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy)
Leitfaden für Conversion-Tracking-Anfragen
Mit Anfragen zum Conversion-Tracking wird Google Ads über ein App-Ereignis informiert, das als Conversion erfasst und/oder zum Erstellen einer Remarketing-Liste verwendet werden soll. Außerdem werden Metadaten zu einem Klick abgerufen, der dem Ereignis vorausging.
Alle API-Aufrufe werden an die Domain www.googleadservices.com gesendet. Konversionsanfragen sind POST-Anfragen über HTTPS unter dem folgenden Pfad:
/pagead/conversion/app/version
Eine Standardanfrage für App-Conversions enthält die folgenden Parameter für die App Conversion API v1.1.
| Anfrage zum Conversion-Tracking | |
|---|---|
dev_token |
Erforderlich Standort: Abfrage Das eindeutige, statische Entwicklertoken, das dem API-Nutzer ausgestellt wurde. Z_eErE4DkvcKjDM1OVE4c4 |
link_id |
Erforderlich Standort: Abfrage Die Link-ID, die das Entwicklertoken des API-Nutzers an eine bestimmte App bindet. 31FF8D67E5BB5DD5029DCC2734C2F884 |
app_event_type |
Erforderlich Standort: Abfrage Der Name des App-Ereignisses, das aufgetreten ist. Dieses Feld ist eine Aufzählung und akzeptiert nur die folgenden Werte: • first_open • session_start • in_app_purchase • view_item_list • view_item • view_search_results • add_to_cart • ecommerce_purchase • custom Das |
app_event_name |
Unter bestimmten Bedingungen erforderlich Standort: Abfrage Der Name eines benutzerdefinierten App-Ereignisses, das im Feld level_achieved Level Achieved Dieses Feld darf keine der für |
app_event_data |
Optional Standort: Körper Leiten Sie alle zusätzlichen Rich-Ereignisdaten als einfaches JSON-Objekt weiter, in dem Stringschlüssel Werten zugeordnet werden. Zulässige Werte sind Strings und String-Arrays. {"level": 5, "attempts": 20} |
odm_info |
Erforderlich bei Verwendung von Integrated Conversion Measurement unter iOS Standort: Abfrage Der Wert des XYZr_AB8C-_zGtKjUhqtzPLeQ8lbJB5dADVR0tpZ9f-28sN5qN9GTZ_FztjL0OL FzgxUJDhZr8w6lwGxAwPcxSwR5orjWepZiVP7sRRoCiaHerR-1TP17eJKtazgeSg _CVEs13LllDTfrhVM8uWISqlg8dXobsLzmj8C7WrOlktHA5P_E23 |
id_type |
Erforderlich Der Typ der Kennung, die im Feld Androidadvertisingid appsetid iOSidfa idfv |
rdid |
Erforderlich Standort: Abfrage Ein gültiger UUID-String, der die Rohgeräte-ID darstellt. f10e1de2-e237-4f50-b6aa-843c45cc63d6 Wenn die Geräte-ID fehlt, z. B. die Geräte-ID eines Nutzers, der der ATT nicht zugestimmt hat, legen Sie sie auf „0“ fest. 00000000-0000-0000-0000-000000000000 |
ctry_c |
Erforderlich Standort: Abfrage Zweistelliger ISO-Ländercode für das Land, in dem die Conversion stattgefunden hat. Dieses Feld ist erforderlich, um die App-Conversion-Messung auf Nicht-Nutzerebene unter iOS und Android zu aktivieren. US, IN |
eea |
Unter bestimmten Bedingungen erforderlich Standort: Abfrage Der EWR-Geltungsbereich.
|
ad_personalization |
Unter bestimmten Bedingungen erforderlich Standort: Abfrage Die Flags für personalisierte Werbung
|
ad_user_data |
Unter bestimmten Bedingungen erforderlich Standort: Abfrage Das Einwilligungs-Flag für die Verwendung von Nutzerdaten zu Werbezwecken
|
lat |
Erforderlich Standort: Abfrage Status der Einschränkung des Anzeigen-Trackings für das Gerät.
|
app_version |
Erforderlich Standort: Abfrage Die aktuelle Version der App. Diese sollte so standardisiert werden: AndroidpackageManager.getPackageInfo(packageName(), PackageManager.GET_META_DATA).versionName iOS[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"] 1.2.4 |
os_version |
Erforderlich Standort: Abfrage Die aktuelle Version des Hostbetriebssystems der App. Das sollte so standardisiert werden: Androidandroid.os.Build.VERSION.RELEASE iOS[[UIDevice currentDevice] systemVersion] |
sdk_version |
Erforderlich Standort: Abfrage Die Version des SDK, mit dem das Ereignis erfasst wurde. Da dies hauptsächlich zum Debuggen verwendet wird, sollte es die Release-Version genau so widerspiegeln, wie sie mit Ihren SDK-Releases veröffentlicht wird. Wenn die App kein SDK verwendet, geben Sie bitte denselben Wert wie 1.9.5r6 |
timestamp |
Erforderlich Standort: Abfrage Der UNIX-Zeitstempel des Conversion-Ereignisses in Sekunden mit Mikrosekunden-Präzision. 1432681913.123456 |
fot |
Erforderlich Standort: Abfrage Der UNIX-Zeitstempel aus dem entsprechenden 1432681913.123456 |
value |
Optional Standort: Abfrage Der Geldwert des Ereignisses, falls vorhanden. Dieser Wert sollte immer als maschinenlesbarer Gleitkommawert formatiert werden. Verwenden Sie einen Dezimalpunkt, um den ganzzahligen und den gebrochenen Teil des Werts zu trennen. 1.99 |
currency_code |
Unter bestimmten Bedingungen erforderlich Standort: Abfrage Der ISO 4217-Währungscode für den Parameter USD |
gclid |
Unter bestimmten Bedingungen erforderlich Standort: Abfrage Der Wert des Abfrageparameters Cj0KEQjw0dy4BRCuuL_e5M |
market_referrer_gclid |
Unter bestimmten Bedingungen erforderlich Standort: Abfrage Der Wert des Suchparameters BX3QojHp4mY5MrJtFM_d1u |
gclid_only_request |
Unter bestimmten Bedingungen erforderlich Standort: Abfrage Kennung für die 1 |
gbraid |
Unter bestimmten Bedingungen erforderlich Standort: Abfrage Der zuletzt gesehene ChEI8IixhgYQrufHkIjz3YWRARIzALev_G_O |
app_open_source |
Unter bestimmten Bedingungen erforderlich Standort: Abfrage Wert zur Identifizierung von Deeplinks für Anzeigenklicks oder organischen App-Sitzungen. ad_click or organic |
User-Agent |
Erforderlich Position: Header Der App-User-Agent, wie im vorherigen Abschnitt definiert. AdMob/7.10.1 (Android 6.0; en_US; SM-G900F; Build/MMB29M) |
X-Forwarded-For |
Erforderlich Position: Header Die öffentliche IPv4- oder IPv6-Adresse des Geräts, auf dem das Ereignis gemessen wurde. 216.58.194.174 |
Alle Anfragen müssen über HTTPS gesendet werden. Über HTTP empfangene Pings werden abgelehnt.
Wenn der Anfragetext leer ist (in Fällen, in denen keine Rich-Event-Daten im app_event_data-Payload übergeben werden), muss der Content-Length: 0-Header in der Anfrage explizit festgelegt werden.
Codierung von Ereignisdaten
Verwenden Sie für den app_event_data-Body-Parameter die folgenden Konventionen für primitive Datentypen:
Float
- Punkt als Dezimaltrennzeichen verwenden, unabhängig von der App-Lokalisierung
- Verwenden Sie für Geldwerte eine Dezimalgenauigkeit von zwei Stellen, z. B. 2,99.
- Verwenden Sie keine Exponentialschreibweise, z. B. 2E+9.
- Verwenden Sie kein Komma, um Zifferngruppen zu trennen, z. B. 1.000.000.
- Gültige Beispiele:
-0.52.991000000.123
Ganzzahl
- Senden Sie nur ganzzahlige Werte ohne Dezimalstellen.
- Verwenden Sie kein Komma, um Zifferngruppen zu trennen, z. B. 1.000.000.
- Gültige Beispiele:
1000-110
Datum
- Datumsformat: JJJJ-MM-TT
yyyy= vierstellige Jahreszahl, z.B. 2016mm= zweistelliger Monat, z.B. 09 für Septemberdd= zweistelliger Tag, z. B. 23 für den 23. Tag des Monats
- Senden Sie immer die oben angegebene Anzahl von Ziffern.Wenn Sie beispielsweise den Wert für „dd“ für den 5. Tag des Monats senden, senden Sie
05. - Gültige Beispiele:
"2016-09-23""1990-12-31"
- Datumsformat: JJJJ-MM-TT
Timestamp
- Zeitformat: Unix-/Epoch-Zeitstempel in Sekunden, definiert in der UTC-Zeitzone mit Mikrosekunden-Präzision
- Gültige Beispiele:
1478713087für Mittwoch, 09. November 2016, 17:38:07 Uhr GMT1073513982.123000für Mittwoch, 07. Januar 2004, 22:19:42.123 GMT
Arrays
- Senden Sie nur Arrays mit einfachen Werten (Strings, Zahlen und boolesche Werte).
- Gültige Beispiele:
[123, 456, 789]["abc"]
Beispielanfragen
Ein Beispiel für eine Anfrage zum ersten Öffnen mit dem SDK für die On-Device-Messung: Ereignisdaten für die integrierte Conversion-Messung:
POST /pagead/conversion/app/1.1
?dev_token=Z_eErE4DkvcKjDM1OVE4c4
&link_id=31FF8D67E5BB5DD5029DCC2734C2F884
&app_event_type=first_open
&odm_info=abcdEfadGdaf
&rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D
&id_type=idfv
&eea=0
&ad_personalization=1
&ad_user_data=1
&lat=0
&app_version=1.2.4
&os_version=9.3.2
&sdk_version=1.9.5r6
×tamp=1432681913.123456
Host: www.googleadservices.com
User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy)
X-Forwarded-For: 216.58.194.174
Content-Type: application/json; charset=utf-8Ein Beispiel für eine Anfrage zum ersten Öffnen ohne das On Device Measurement: Event Data SDK for Integrated Conversion Measurement:
POST /pagead/conversion/app/1.1
?dev_token=Z_eErE4DkvcKjDM1OVE4c4
&link_id=31FF8D67E5BB5DD5029DCC2734C2F884
&app_event_type=first_open
&rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D
&id_type=idfv
&eea=0
&ad_personalization=1
&ad_user_data=1
&lat=0
&app_version=1.2.4
&os_version=9.3.2
&sdk_version=1.9.5r6
×tamp=1432681913.123456
Host: www.googleadservices.com
User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy)
X-Forwarded-For: 216.58.194.174
Content-Type: application/json; charset=utf-8Ein Beispiel für eine Anfrage nach der Installation mit dem On-Device-Messung: Event Data SDK für die Integrated Conversion Measurement:
POST /pagead/conversion/app/1.1
?dev_token=Z_eErE4DkvcKjDM1OVE4c4
&link_id=31FF8D67E5BB5DD5029DCC2734C2F884
&app_event_type=first_open
&odm_info=abcdEfadGdaf
&rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D
&id_type=idfv
&eea=0
&ad_personalization=1
&ad_user_data=1
&lat=0
&app_version=1.2.4
&os_version=9.3.2
&sdk_version=1.9.5r6
×tamp=1432681913.123456
&&fot=1432681913.123456
Host: www.googleadservices.com
User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy)
X-Forwarded-For: 216.58.194.174
Content-Type: application/json; charset=utf-8Ein Beispiel für eine Anfrage zum ersten Öffnen ohne das On-Device-Measurement-SDK für Ereignisdaten ist:
POST /pagead/conversion/app/1.1
?dev_token=Z_eErE4DkvcKjDM1OVE4c4
&link_id=31FF8D67E5BB5DD5029DCC2734C2F884
&app_event_type=first_open
&rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D
&id_type=idfv
&eea=0
&ad_personalization=1
&ad_user_data=1
&lat=0
&app_version=1.2.4
&os_version=9.3.2
&sdk_version=1.9.5r6
×tamp=1432681913.123456
Host: www.googleadservices.com
User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy)
X-Forwarded-For: 216.58.194.174
Content-Type: application/json; charset=utf-8Ein Beispiel für eine Anfrage zum ersten Öffnen für eine nicht deterministische Android-Conversion für ACAPI v1.1:
POST /pagead/conversion/app/1.1
?dev_token=Z_eErE4DkvcKjDM1OVE4c4
&link_id=31FF8D67E5BB5DD5029DCC2734C2F884
&app_event_type=first_open
&rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D
&id_type=appsetid
&eea=0
&ad_personalization=1
&ad_user_data=1
&lat=0
&app_version=1.2.4
&os_version=9.3.2
&sdk_version=1.9.5r6
×tamp=1432681913.123456
&ctry_c=IN
Host: www.googleadservices.com
User-Agent: MyAnalyticsCompany/1.0.0 (android 11; en-GB; RMX2040; Build/_; Proxy)
X-Forwarded-For: 216.58.194.174
Content-Type: application/json; charset=utf-8Ein Beispiel für eine gültige Conversion-Tracking-Anfrage mit einem nicht benutzerdefinierten Ereignistyp und Umsatzinformationen:
POST /pagead/conversion/app/1.1
?dev_token=Z_eErE4DkvcKjDM1OVE4c4
&link_id=31FF8D67E5BB5DD5029DCC2734C2F884
&app_event_type=in_app_purchase
&rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D
&id_type=idfa
&eea=0
&ad_personalization=1
&ad_user_data=1
&lat=0
&app_version=1.2.4
&os_version=9.3.2
&sdk_version=1.9.5r6
×tamp=1432681913.123456
&value=1.99
¤cy_code=USD
&market_referrer_gclid=BX3QojHp4mY5MrJtFM_d1u
&gclid=Cj0KEQjw0dy4BRCuuL_e5M
&gclid_only_request=0
&gbraid=ChEI8IixhgYQrufHkIjz3YWRARIzALev_G_O
Host: www.googleadservices.com
User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy)
X-Forwarded-For: 216.58.194.174
Content-Type: application/json; charset=utf-8{"app_event_data":{"item_id":["Crayons","Markers"]}}Ein Beispiel für eine gültige Conversion-Tracking-Anfrage mit einem nicht benutzerdefinierten Ereignistyp und Umsatzinformationen, bei der rdid (advertisingid) nicht verfügbar ist:
POST /pagead/conversion/app/1.1
?dev_token=Z_eErE4DkvcKjDM1OVE4c4
&link_id=31FF8D67E5BB5DD5029DCC2734C2F884
&app_event_type=in_app_purchase
&rdid=00000000-0000-0000-0000-000000000000
&id_type=advertisingid
&eea=0
&ad_personalization=1
&ad_user_data=1
&lat=1
&app_version=1.2.4
&os_version=9.3.2
&sdk_version=1.9.5r6
×tamp=1432681913.123456
&value=1.99
¤cy_code=USD
&market_referrer_gclid=BX3QojHp4mY5MrJtFM_d1u
&gclid=Cj0KEQjw0dy4BRCuuL_e5M
&gclid_only_request=1
&gbraid=ChEI8IixhgYQrufHkIjz3YWRARIzALev_G_O
Host: www.googleadservices.com
User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; Android,1; Build/13D15; Proxy)
X-Forwarded-For: 216.58.194.174
Content-Type: application/json; charset=utf-8{"app_event_data":{"item_id":["Crayons","Markers"]}}Ein Beispiel für eine gültige Sitzungsstart-Anfrage:
POST /pagead/conversion/app/1.1
?dev_token=Z_eErE4DkvcKjDM1OVE4c4
&link_id=31FF8D67E5BB5DD5029DCC2734C2F884
&app_event_type=session_start
&rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D
&id_type=idfa
&eea=0
&ad_personalization=1
&ad_user_data=1
&lat=0
&app_version=1.2.4
&os_version=9.3.2
&sdk_version=1.9.5r6
×tamp=1432681913.123456
&gclid=Cj0KEQjw0dy4BRCuuL_e5M
&gbraid=ChEI8IixhgYQrufHkIjz3YWRARIzALev_G_O
Host: www.googleadservices.com
User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy)
X-Forwarded-For: 216.58.194.174
Content-Type: application/json; charset=utf-8Ein Beispiel für eine gültige Sitzungsstart-Anfrage für die Neuattribution einer Sitzung, die über den Deeplink example://product/123?gclid=Cj0KEQjw0dy4BRCuuL_e5M gestartet wurde, sieht so aus:
POST /pagead/conversion/app/1.1
?dev_token=Z_eErE4DkvcKjDM1OVE4c4
&link_id=31FF8D67E5BB5DD5029DCC2734C2F884
&app_event_type=session_start
&rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D
&id_type=idfa
&eea=0
&ad_personalization=1
&ad_user_data=1
&lat=0
&app_version=1.2.4
&os_version=9.3.2
&sdk_version=1.9.5r6
×tamp=1432681913.123456
&gclid=Cj0KEQjw0dy4BRCuuL_e5M
&gbraid=ChEI8IixhgYQrufHkIjz3YWRARIzALev_G_O
Host: www.googleadservices.com
User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy)
X-Forwarded-For: 216.58.194.174
Content-Type: application/json; charset=utf-8Ein Beispiel für eine gültige Conversion-Tracking-Anfrage für einen EWR-Nutzer, bei dem die Einwilligung zur Verwendung von Nutzerdaten für Werbung erteilt und die Personalisierung von Anzeigen abgelehnt wurde:
POST /pagead/conversion/app/1.1
?dev_token=Z_eErE4DkvcKjDM1OVE4c4
&link_id=31FF8D67E5BB5DD5029DCC2734C2F884
&app_event_type=in_app_purchase
&rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D
&id_type=idfa
&eea=1
&ad_personalization=0
&ad_user_data=1
&lat=0
&app_version=1.2.4
&os_version=9.3.2
&sdk_version=1.9.5r6
×tamp=1432681913.123456
&value=1.99
¤cy_code=USD
Host: www.googleadservices.com
User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy)
X-Forwarded-For: 216.58.194.174
Content-Type: application/json; charset=utf-8Leitfaden für Antworten zum Conversion-Tracking
Die Antwort für das Conversion-Tracking hat das folgende Format:
{
"ad_events": [<ad event objects>],
"errors": [<error strings>],
"attributed": true|false
}
Sowohl das Array ad_events als auch das Array errors können leer sein.
Wir gehen davon aus, dass Fehler maschinenlesbare Fehlercodes wie invalid_timestamp sein werden.
Fehlercodes
invalid_timestamp: Die Anfrage enthielt keinen gültigen Zeitstempel.
eea_missing_or_invalid: Entweder wurde das Feld „eea“ in der Anfrage nicht festgelegt oder es war ungültig.
ad_user_data_missing: Das Anfragedatenfeld „ad_user_data“ wurde nicht festgelegt. Das Feld „ad_user_data“ ist für alle Anfragen im Rahmen des DMA erforderlich.
ad_user_data_invalid: Der Anfragewert „ad_user_data“ war ungültig. Das Feld „ad_user_data“ ist für alle Anfragen im Rahmen des DMA erforderlich.
ad_personalization_missing_or_invalid: Entweder wurde das Feld „ad_personalization“ in der Anfrage nicht festgelegt oder es war ungültig. Das Feld „ad_personalization“ ist für alle Anfragen im Geltungsbereich des DMA erforderlich.
Anzeigenereignisse sind die Kernobjekte der App-Attribution und enthalten die folgenden Attribute.
Wichtige Hinweise zum Antwortverhalten in Abhängigkeit von der Nutzereinwilligung:
Wenn für die Conversion die Einwilligung zur Verwendung von Nutzerdaten für Werbung vorliegt und der Nutzer in seinen Google-Nutzereinstellungen die Einwilligung zur übergreifenden Verwendung erteilt hat, antwortet Google Ads mit einem einzelnen letzten Klick für alle seine CPSes. Wenn der Nutzer in seinen Google-Nutzereinstellungen nicht der Einwilligung zur übergreifenden Nutzung zugestimmt hat, werden in Google Ads mehrere letzte Klicks pro CPS zurückgegeben.
Wenn die Conversion bestimmte CPSes in der vom Nutzer ausgewählten Einwilligung zur dienstübergreifenden Nutzung umfasst, aber nicht andere, antwortet Google Ads mit einem einzigen letzten Klick für die CPSes, für die die Einwilligung zur dienstübergreifenden Nutzung erteilt wurde, aber mit mehreren letzten Klicks für die CPSes, für die die Einwilligung zur dienstübergreifenden Nutzung nicht erteilt wurde.
| Antwort zum Conversion-Tracking | |
|---|---|
ad_event_id |
Immer vorhanden String
Q2owS0VRancwZHk0QlJDdXVMX2U1TQ |
conversion_metric |
Immer vorhanden String Der Conversion-Messwert, der für die Attribution verwendet wird. Anfangs wird nur eine Conversion-Messwert unterstützt. conversion |
timestamp |
Immer vorhanden Zahl Der UNIX-Zeitstempel des Anzeigenereignisses in Sekunden mit Mikrosekunden-Präzision. Dieser Wert sollte für das Attributionsmodell „Letzter Klick“ verwendet werden. 1432681913.123456 |
campaign_type |
Immer vorhanden String In diesem Feld wird der Kampagnentyp angegeben, der das Anzeigenereignis ausgelöst hat. Folgende Werte sind möglich. ACI ACE ACPRE Search Display Video Shopping Hotel Performance_Max Other ACI ist die Abkürzung für App-Installationskampagne. ACE ist die Abkürzung für App-Interaktionskampagnen. |
campaign_id |
Immer vorhanden Zahl Die numerische Kampagnen-ID der Kampagne, die das Anzeigenereignis ausgelöst hat. Dieser Wert ist garantiert eindeutig. 123456789 |
campaign_name |
Immer vorhanden String Der vom Werbetreibenden definierte Kampagnenname der Kampagne, mit der das Anzeigenereignis ausgelöst wurde. Dieser Wert ist nicht zwangsläufig eindeutig. Occasional Gamers (Video) |
ad_type |
Immer vorhanden String Der Typ der Anzeige, die zum Anzeigenereignis geführt hat. Mit diesem Wert können verschiedene Inventartypen unterschieden werden. App-WerbungClickToDownload AppDeepLink AppDeepLinkContinue Unknown |
external_customer_id |
Immer vorhanden Zahl Die Werbetreibenden-ID des Werbetreibenden, dem die Kampagne gehört, die das Anzeigenereignis ausgelöst hat. Mit diesem Wert lassen sich Google Ads-Konten unterscheiden. 123456789 |
location |
Immer vorhanden Zahl Der Standort-ID-Code für den geografischen Standort des Anzeigenereignisses. Informationen zum Interpretieren von Standortcodes finden Sie in der Google Ads API-Referenz. |
network_type |
Immer vorhanden String In diesem Feld wird das Google Ads-Werbenetzwerk angegeben, in dem das Anzeigenereignis stattgefunden hat. Folgende Werte sind möglich: Search Display YouTube GoogleTv cross-network |
network_subtype |
Ist String In diesem Feld wird der „Untertyp“ des Google Ads-Werbenetzwerks angegeben, in dem das Anzeigenereignis aufgetreten ist. Die möglichen Werte variieren je nach primärem Netzwerktyp. SuchenNormale Google SucheGoogleSearch SearchPartners DisplayPublisher im mobilen WebmGDN Google AdMob YouTubeYouTube-VideonetzwerkYouTubeVideos YouTubeSearch VideoPartners GoogleTvGoogle TV-Netzwerk für VideosGoogleTvVideos netzwerkübergreifendPerformance Max-Kampagnen – netzwerkübergreifendcross-network |
video_id |
Wird nur bereitgestellt, wenn String Die YouTube-Video-ID, die mit dem Anzeigenereignis verknüpft ist. dQw4w9WgXcQ |
keyword |
Wird nur bereitgestellt, wenn String Das Such-Keyword, das mit dem Anzeigenereignis verknüpft ist. +food +delivery |
match_type |
Wird nur bereitgestellt, wenn String Die Keyword-Option für Such-Keywords. Genau passende p b |
placement |
Wird nur bereitgestellt, wenn String Das Placement, das mit dem Anzeigenereignis verknüpft ist. mobileapp::1-343200656 |
ad_group_id |
Wird nur angegeben, wenn Zahl Die numerische ID der Anzeigengruppe, die das Anzeigenereignis ausgelöst hat. Dieser Wert ist garantiert eindeutig. Dieses Feld wird nicht für Werbeereignisse mit gbraid-Attributen bereitgestellt, die deterministisch zugeordnet werden ( 123456789 |
ad_group_name |
Wird nur angegeben, wenn String Der vom Werbetreibenden definierte Name der Anzeigengruppe, in der das Anzeigenereignis ausgelöst wurde. Dieser Wert ist nicht zwangsläufig eindeutig. Dieses Feld wird nicht für Anzeigenereignisse mit gbraid-Attributen bereitgestellt, die deterministisch zugeordnet werden ( My App AdGroup |
asset_group_id |
Wird nur bereitgestellt, wenn Zahl Die numerische ID der Asset-Gruppe, die das Anzeigenereignis ausgelöst hat. Dieser Wert ist eindeutig. 123456789 |
creative_id |
Wird nur angegeben, wenn Zahl Die numerische ID des Creative-Anzeigenblocks, der das Anzeigenereignis ausgelöst hat. Dieser Wert ist garantiert eindeutig. 123456789 |
interaction_type |
Dieses Feld ist immer „Engagement“. String |
is_deterministic |
Gibt an, ob die Attributionsmethode deterministisch ist. Boolesch true, false |
device_model |
Gerätemodell, das das Anzeigenereignis ausgelöst hat. String sm-s936w, sm-3936w |
os_version |
Die Hauptversion des Betriebssystems, die das Anzeigenereignis ausgelöst hat. String 14, 12 |
country |
Der zweistellige Ländercode, der das Anzeigenereignis ausgelöst hat. String CA, US |
city |
Die Stadt, in der das Anzeigenereignis stattgefunden hat. String san jose, london |
region |
Das Bundesland oder die Provinz, in der das Anzeigenereignis aufgetreten ist. String california, british columbia |
Beispielantworten
Beispiel für eine Antwort für eine deterministische Conversion:
{
"ad_events": [{
"ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ",
"conversion_metric": "conversion",
"interaction_type": "engagement",
"campaign_type": "ACI",
"campaign_id": 123456789,
"campaign_name": "My App Campaign",
"network_type": null,
"network_subtype": null,
"ad_group_id": 123456789,
"ad_group_name": "My App AdGroup",
"asset_group_id": null,
"is_deterministic": true,
"timestamp": 1234567.898765
}],
"errors": [],
"attributed": true
}Beispiel für eine Antwort für eine nicht deterministische Conversion unter iOS:
{
"ad_events": [{
"ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ",
"conversion_metric": "conversion",
"interaction_type": "engagement",
"campaign_type": "ACI",
"campaign_id": 123456789,
"campaign_name": "My App Campaign",
"network_type": null,
"network_subtype": null,
"ad_group_id": 123456789,
"ad_group_name": "My App AdGroup",
"asset_group_id": null,
"is_deterministic": false,
},
"device_info": {
"device_model": "iphone12,3",
"os_version": "14"
},
"timestamp": 1432681918.123456
}],
"errors": [],
"attributed": true
}Beispiel für eine Antwort für eine nicht deterministische Conversion unter Android:
{
"ad_events": [
{
"ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ",
"conversion_metric": "conversion",
"interaction_type": "click",
"campaign_type": "ACI",
"campaign_id": 123456789,
"campaign_name": "My App Campaign",
"network_type": null,
"network_subtype": null,
"ad_group_id": 123456789,
"ad_group_name": "My App AdGroup",
"asset_group_id": null,
"is_deterministic": false,
"geo_info": {
"city": "san jose",
"country": "US",
"region": "california"
},
"device_info": {
"device_model": "sm-s926u",
"os_version": "14"
},
"timestamp": 1432681918.123456
},
],
"errors": [],
"warnings": []
}Ein Beispiel für eine Antwort für eine iOS-/Android-Conversion, die von gbraid zugeordnet wird:
{
"ad_events": [{
"ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ",
"conversion_metric": "conversion",
"interaction_type": "engagement",
"campaign_type": "ACI",
"campaign_id": 123456789,
"campaign_name": "My App Campaign",
"ad_type": "ClickToDownload",
"external_customer_id": 123456789,
"interaction_type": "engagement",
"network_type": null,
"ad_group_id": null,
"ad_group_name": null,
"asset_group_id": null,
"is_deterministic": true,
"timestamp": 0.000000
}],
"errors": [],
"attributed": true,
"warnings": [],
}Ein Beispiel für eine Conversion-Tracking-Antwort, wenn die Anfrage Fehler enthielt:
{
"ad_events": [],
"errors": ["INVALID_CURRENCY_CODE"],
"attributed": false
}Ein Beispiel für eine negative Antwort auf Conversion-Tracking:
{
"ad_events": [],
"errors": [],
"attributed": false
}Für alle Conversion-Tracking-Anfragen wird eine Conversion-Tracking-Antwort zurückgegeben.
Beispiel für eine bestätigende Conversion-Tracking-Antwort für einen Nutzer außerhalb des EWR für eine universelle App-Kampagne:
{
"ad_events": [{
"ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ",
"conversion_metric": "conversion",
"interaction_type": "engagement",
"campaign_type": "ACI",
"campaign_id": 123456789,
"campaign_name": "My App Campaign",
"ad_type": "ClickToDownload",
"external_customer_id": 123456789,
"location": 21144,
"network_type": "Search",
"network_subtype": "GoogleSearch",
"video_id": null,
"keyword": null,
"match_type": null,
"placement": null,
"ad_group_id": 123456789,
"ad_group_name": "My App AdGroup",
"asset_group_id": null,
"creative_id": null,
"timestamp": 1432681913.123456
}],
"errors": [],
"attributed": true,
"warnings": []
}Ein Beispiel für eine bestätigende Conversion-Tracking-Antwort für einen Nutzer außerhalb des EWR für eine Suchkampagne:
{
"ad_events": [{
"ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ",
"conversion_metric": "conversion",
"interaction_type": "engagement",
"campaign_type": "Search",
"campaign_id": 123456789,
"campaign_name": "My App Campaign",
"ad_type": "ClickToDownload",
"external_customer_id": 123456789,
"location": 21144,
"network_type": "Search",
"network_subtype": "GoogleSearch",
"video_id": null,
"keyword": "+space +birds",
"match_type": "b",
"placement": null,
"ad_group_id": 123456789,
"ad_group_name": null,
"asset_group_id": null,
"creative_id": 123456789,
"timestamp": 1432681913.123456
}],
"errors": [],
"attributed": true,
"warnings": []
}Beispiel für eine bestätigende Antwort zum Conversion-Tracking für einen Nutzer außerhalb des EWR für eine Displaykampagne:
{
"ad_events": [{
"ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ",
"conversion_metric": "conversion",
"interaction_type": "engagement",
"campaign_type": "Display",
"campaign_id": 123456789,
"campaign_name": "My App Campaign",
"ad_type": "ClickToDownload",
"external_customer_id": 123456789,
"location": 21144,
"network_type": "Display",
"network_subtype": "mGDN",
"video_id": null,
"keyword": null,
"match_type": null,
"placement": "mobile-app::2-343200656",
"ad_group_id": 123456789,
"ad_group_name": null,
"asset_group_id": null,
"creative_id": 123456789,
"timestamp": 1432681913.123456
}],
"errors": [],
"attributed": true,
"warnings": []
}Ein Beispiel für eine bestätigende Antwort zum Conversion-Tracking für einen Nutzer außerhalb des EWR für eine YouTube-Kampagne:
{
"ad_events": [{
"ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ",
"conversion_metric": "conversion",
"interaction_type": "engagement",
"campaign_type": "Video",
"campaign_id": 123456789,
"campaign_name": "My App Campaign",
"ad_type": "ClickToDownload",
"external_customer_id": 123456789,
"location": 21144,
"network_type": "YouTube",
"network_subtype": "YouTubeVideos",
"video_id": "dQw4w9WgXcQ",
"keyword": null,
"match_type": null,
"placement": null,
"ad_group_id": 123456789,
"ad_group_name": null,
"asset_group_id": null,
"creative_id": 123456789,
"timestamp": 1432681913.123456
}],
"errors": [],
"attributed": true,
"warnings": []
}Ein Beispiel für eine Antwort zum Attributions-Conversion-Tracking, bei der die Conversion sowohl Play- als auch Suchanzeigeninteraktionen zugeordnet wird, die Einwilligung zur Cross-Use-Nutzung gemäß 5(2)(b) + 5(2)(c) zwischen den CPSs für Play und Suche jedoch verweigert wird:
{
"ad_events": [{
"ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ",
"conversion_metric": "conversion",
"interaction_type": "click",
"campaign_type": "ACI",
"campaign_id": 123456789,
"campaign_name": "My App Campaign",
"ad_type": "ClickToDownload",
"external_customer_id": 123456789,
"location": 21144,
"network_type": "Display",
"network_subtype": "",
"video_id": null,
"keyword": null,
"match_type": null,
"placement": null,
"ad_group_id": 123456789,
"ad_group_name": "My App AdGroup",
"asset_group_id": null,
"creative_id": null,
"timestamp": 1432681913.123456
},
{
"ad_event_id": "I8YUwWqxvOyqcwOcqBAkYZBMaOONSd",
"conversion_metric": "conversion",
"interaction_type": "click",
"campaign_type": "ACI",
"campaign_id": 123456789,
"campaign_name": "My App Campaign",
"ad_type": "ClickToDownload",
"external_customer_id": 123456789,
"location": 21144,
"network_type": "Search",
"network_subtype": "",
"video_id": null,
"keyword": null,
"match_type": null,
"placement": null,
"ad_group_id": 123456789,
"ad_group_name": "My App AdGroup",
"asset_group_id": null,
"creative_id": null,
"timestamp": 1432681913.123456
}
],
"errors": [],
"warnings": [],
"attributed": true
}Ein Beispiel für eine Antwort zum zugeordneten Conversion-Tracking, bei der die Conversion sowohl Play- als auch Suchanzeigeninteraktionen zugeordnet wird und die Einwilligung zur Cross-Use-Nutzung gemäß Paragraf 5(2)(b) + 5(2)(c) zwischen den Play- und Such-CPS akzeptiert wird, ähnelt dem aktuellen Conversion-Verhalten:
{
"ad_events": [{
"ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ",
"conversion_metric": "conversion",
"interaction_type": "click",
"campaign_type": "ACI",
"campaign_id": 123456789,
"campaign_name": "My App Campaign",
"ad_type": "ClickToDownload",
"external_customer_id": 123456789,
"location": 21144,
"network_type": "Display",
"network_subtype": "",
"video_id": null,
"keyword": null,
"match_type": null,
"placement": null,
"ad_group_id": 123456789,
"ad_group_name": "My App AdGroup",
"asset_group_id": null,
"creative_id": null,
"timestamp": 1432681913.123456
}
],
"errors": [],
"warnings": [],
"attributed": true
}Ein Beispiel für eine Antwort zum Conversion-Tracking mit zugeordneter Conversion, bei der die Conversion sowohl Google Play-, Google Suche- als auch YouTube-Anzeigeninteraktionen zugeordnet wird und die Einwilligung zur Cross-Use-Nutzung gemäß Paragraf 5(2)(b) + 5(2)(c) zwischen den CPSs für Google Play und Google Suche erteilt, aber für die YouTube-CPS abgelehnt wird:
{
"ad_events": [{
"ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ",
"conversion_metric": "conversion",
"interaction_type": "click",
"campaign_type": "ACI",
"campaign_id": 123456789,
"campaign_name": "My App Campaign",
"ad_type": "ClickToDownload",
"external_customer_id": 123456789,
"location": 21144,
"network_type": "Display",
"network_subtype": "",
"video_id": null,
"keyword": null,
"match_type": null,
"placement": null,
"ad_group_id": 123456789,
"ad_group_name": "My App AdGroup",
"asset_group_id": null,
"creative_id": null,
"timestamp": 1432681913.123456
},
{
"ad_event_id": "I8YUwWqxvOyqcwOcqBAkYZBMaOONSd",
"conversion_metric": "conversion",
"interaction_type": "click",
"campaign_type": "ACI",
"campaign_id": 123456789,
"campaign_name": "My App Campaign",
"ad_type": "ClickToDownload",
"external_customer_id": 123456789,
"location": 21144,
"network_type": "YouTube",
"network_subtype": "YouTubeVideos",
"video_id": null,
"keyword": null,
"match_type": null,
"placement": null,
"ad_group_id": 123456789,
"ad_group_name": "My App AdGroup",
"asset_group_id": null,
"creative_id": null,
"timestamp": 1432681913.123456
}
],
"errors": [],
"warnings": [],
"attributed": true
}Antrag auf netzwerkübergreifende Attribution
Wenn Google Ads positiv auf eine Anfrage zum Conversion-Tracking antwortet, muss der API-Nutzer Google Ads über seine netzwerkübergreifende Attributionsentscheidung informieren, nachdem er den letzten Klick ermittelt hat.
Die netzwerkübergreifende Attributionsanfrage ist mit der ursprünglichen Anfrage zum Conversion-Tracking identisch, hat aber den folgenden Anfragepfad:
/pagead/conversion/app/1.1/cross_network
und zwei erforderliche Parameter hinzugefügt:
| Antrag auf netzwerkübergreifende Attribution | |
|---|---|
ad_event_id |
Erforderlich Standort: Abfrage Die |
attributed |
Erforderlich Standort: Abfrage Ob Google Ads vom API-Nutzer einen Beitrag zur Conversion erhalten hat. |
Ein Beispiel für eine gültige netzwerkübergreifende Attributionsanfrage:
POST /pagead/conversion/app/1.1/cross_network
?dev_token=Z_eErE4DkvcKjDM1OVE4c4
&link_id=31FF8D67E5BB5DD5029DCC2734C2F884
&app_event_type=custom
&app_event_name=level_achieved
&rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D
&id_type=idfa
&lat=0
&app_version=1.2.4
&os_version=9.3.2
&sdk_version=1.9.5r6
×tamp=1432681913.123456
&value=1.99
¤cy_code=USD
&ad_event_id=Q2owS0VRancwZHk0QlJDdXVMX2U1TQ
&attributed=1
Host: www.googleadservices.com
User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy)
X-Forwarded-For: 216.58.194.174
Content-Type: application/json; charset=utf-8Für eine gültige netzwerkübergreifende Attributionsanfrage wird immer eine generische 200-Antwort ohne Antworttext zurückgegeben.