App-User-Agent
Im Rahmen unserer Bemühungen, Spam zu bekämpfen, haben wir eine standardisierte Spezifikation für den User-Agent-Header entwickelt, der von einem Analyse- oder Anzeigenprodukt 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-/Werbeprodukt 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 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)
Antrag zum Conversion-Tracking
Mit Conversion-Tracking-Anfragen 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 allen Klicks abgerufen, die dem Ereignis vorausgingen.
Alle API-Aufrufe erfolgen an die Domain www.googleadservices.com
. Conversion-Anfragen sind POST
-Anfragen über HTTPS auf dem folgenden Pfad:
/pagead/conversion/app/version
1.0
.
Eine Standardanfrage für App-Conversions enthält die folgenden Parameter.
Antrag 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-Event-Daten als einfaches JSON-Objekt weiter, in dem String-Schlüssel Werten zugeordnet werden. Zulässige Werte sind Strings und String-Arrays. {"level": 5, "attempts": 20} |
rdid |
Erforderlich Standort: Abfrage Ein gültiger UUID-String, der die Rohgeräte-ID darstellt. f10e1de2-e237-4f50-b6aa-843c45cc63d6 Falls die Geräte-ID fehlt, z. B. die Geräte-ID eines Nutzers, der keine ATT-Einwilligung erteilt hat, setzen Sie sie auf „0“. 00000000-0000-0000-0000-000000000000 |
id_type |
Erforderlich Standort: Abfrage Der Typ der Kennung, die im Feld Androidadvertisingid iOSidfa |
eea |
Unter bestimmten Bedingungen erforderlich Standort: Abfrage Der EEA-Geltungsbereich.
|
ad_personalization |
Unter bestimmten Bedingungen erforderlich Standort: Abfrage Die Flags für personalisierte Anzeigen
|
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 des Anzeigen-Trackings für das Gerät.
|
app_version |
Erforderlich Standort: Abfrage Die aktuelle Version der App. Sie 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 Host-Betriebssystems 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 diese Version hauptsächlich zum Debuggen verwendet wird, sollte sie der Releaseversion entsprechen, die mit Ihren SDK-Releases veröffentlicht wird. Wenn die App kein SDK verwendet, übergeben Sie denselben Wert wie 1.9.5r6 |
timestamp |
Erforderlich Standort: Abfrage Der UNIX-Zeitstempel des Conversion-Ereignisses in Sekunden mit einer Genauigkeit von bis zu Mikrosekunden. 1432681913.123456 |
value |
Optional Standort: Abfrage Der Geldwert des Ereignisses, falls vorhanden. Dieser Wert sollte immer als maschinenlesbarer Gleitkommawert formatiert werden, wobei ein Dezimalpunkt verwendet wird, um den Ganzzahl- und den Bruchteil des Werts zu trennen. 1.99 |
currency_code |
Unter bestimmten Bedingungen erforderlich Standort: Abfrage Der Währungscode nach ISO 4217 für den Parameter USD |
gclid |
Unter bestimmten Bedingungen erforderlich Standort: Abfrage Der Wert des Cj0KEQjw0dy4BRCuuL_e5M |
market_referrer_gclid |
Unter bestimmten Bedingungen erforderlich Standort: Abfrage Der Wert des Abfrageparameters 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 Standort: Kopfzeile 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 Standort: Kopfzeile Die öffentliche IPv4- oder IPv6-Adresse des Geräts, auf dem das Ereignis erfasst 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-Ereignisdaten in der app_event_data
-Nutzlast übergeben werden), muss der Content-Length: 0
-Header in der Anfrage explizit festgelegt werden.
Beispielanfrage
Ein Beispiel für eine gültige Conversion-Tracking-Anfrage mit einem nicht benutzerdefinierten Ereignistyp und Umsatzinformationen:
POST /pagead/conversion/app/1.0 ?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.0 ?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 Anfrage zum Starten einer Sitzung:
POST /pagead/conversion/app/1.0 ?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-8
Ein Beispiel für eine gültige Sitzungsstart-Reattribution-Anfrage für eine Sitzung, die über den Deeplink example://product/123?gclid=Cj0KEQjw0dy4BRCuuL_e5M
gestartet wurde, ist:
POST /pagead/conversion/app/1.0 ?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-8
Ein Beispiel für eine gültige Conversion-Tracking-Anfrage für einen Nutzer im EWR, bei dem die Einwilligung zur Verwendung von Nutzerdaten für Werbung erteilt und die Personalisierung von Anzeigen abgelehnt wurde, ist:
POST /pagead/conversion/app/1.0 ?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-8
Codierung von Ereignisdaten
Verwenden Sie für den app_event_data
-Body-Parameter die folgenden Konventionen für primitive Datentypen:
Gleitkommazahl
- 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.5
2.99
1000000.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
-11
0
Datum
- Datumsformat: JJJJ-MM-TT
yyyy
= vierstelliges Jahr, 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 der UTC-Zeitzone mit einer Genauigkeit von bis zu Mikrosekunden
- Gültige Beispiele:
1478713087
für Wed, 09 Nov 2016 17:38:07 GMT1073513982.123000
für Mittwoch, 07. Januar 2004, 22:19:42.123 GMT
Arrays
- Nur Arrays mit primitiven Werten (Strings, Zahlen und boolesche Werte) senden
- Gültige Beispiele:
[123, 456, 789]
["abc"]
Antwort 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 Anfragefeld „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 war das Feld „ad_personalization“ in der Anfrage nicht festgelegt oder es war ungültig. Das Feld „ad_personalization“ ist für alle Anfragen in den Geltungsbereich der DMA erforderlich.
Anzeigenereignisse sind die Kernobjekte der App-Attribution und enthalten die folgenden Attribute.
Wichtige Hinweise zum Antwortverhalten in Abhängigkeit von der Einwilligung des Nutzers:
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 Last-Click für alle CPSes. Wenn der Nutzer in seinen Google-Nutzereinstellungen nicht der gemeinsamen Nutzung zugestimmt hat, antwortet Google Ads mit mehreren letzten Klicks auf CPS-Basis.
Wenn die Conversion bestimmte CPSes in der vom Nutzer ausgewählten Einwilligung zur kanalübergreifenden Nutzung, aber nicht andere umfasst, antwortet Google Ads mit einem einzelnen letzten Klick für die CPSes, für die die Einwilligung zur kanalübergreifenden Nutzung erteilt wurde, aber mit mehreren letzten Klicks auf CPS-Basis für die CPSes, für die die Einwilligung zur kanalü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 einer Genauigkeit von bis zu Mikrosekunden. Dieser Wert sollte für die Attribution des letzten Klicks verwendet werden. 1432681913.123456 |
campaign_type |
Immer vorhanden String In diesem Feld wird der Kampagnentyp angegeben, der das Anzeigenereignis ausgelöst hat. Die möglichen Werte sind: 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, die das Anzeigenereignis ausgelöst hat. Dieser Wert ist nicht zwangsläufig eindeutig. Occasional Gamers (Video) |
ad_type |
Immer vorhanden String Der Anzeigentyp, der 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 „Subtyp“ 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-VideonetzwerkGoogleTvVideos 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 mit dem Anzeigenereignis verknüpfte Placement. mobileapp::1-343200656 |
ad_group_id |
Wird nur bereitgestellt, wenn Zahl Die numerische ID der Anzeigengruppe, die das Anzeigenereignis ausgelöst hat. Dieser Wert ist garantiert eindeutig. 123456789 |
ad_group_name |
Wird nur angegeben, wenn String Der vom Werbetreibenden definierte Name der Anzeigengruppe, in der das Anzeigenereignis aufgetreten ist. Dieser Wert ist nicht zwangsläufig eindeutig. My App AdGroup |
creative_id |
Wird nur bereitgestellt, 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 |
Beispielantworten
Ein Beispiel für eine Conversion-Tracking-Antwort, wenn die Anfrage Fehler enthielt:
{ "ad_events": [], "errors": ["INVALID_CURRENCY_CODE"], "attributed": false }
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": null, "ad_group_name": "", "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": "My App AdGroup", "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": "My App AdGroup", "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": "My App AdGroup", "creative_id": 123456789, "timestamp": 1432681913.123456 }], "errors": [], "attributed": true, "warnings": [] }
Ein Beispiel für eine Antwort zum Conversion-Tracking, bei der die Conversion sowohl Play- als auch Search-Anzeigeninteraktionen zugeordnet wird, die Einwilligung zur gemeinsamen Nutzung gemäß Paragraf 5(2)(b) + 5(2)(c) zwischen den CPSs für Play und Search 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": null, "ad_group_name": "", "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": null, "ad_group_name": "", "creative_id": null, "timestamp": 1432681913.123456 }, ], "errors": [], "warnings": [], "attributed": true }
Ein Beispiel für eine Antwort zum Conversion-Tracking, bei der die Conversion sowohl Play- als auch Suchanzeigeninteraktionen zugeordnet wird und die Einwilligung zur Cross-Use-Nutzung gemäß 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": null, "ad_group_name": "", "creative_id": null, "timestamp": 1432681913.123456 }, ], "errors": [], "warnings": [], "attributed": true }
Ein Beispiel für eine Antwort zum Conversion-Tracking, bei der die Conversion sowohl Play-, Google Suche- als auch YouTube-Anzeigeninteraktionen zugeordnet wird und die Einwilligung zur Cross-Use-Nutzung gemäß 5(2)(b) + 5(2)(c) zwischen den CPSs für Play und Google Suche akzeptiert, 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": null, "ad_group_name": "", "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": null, "ad_group_name": "", "creative_id": null, "timestamp": 1432681913.123456 }, ], "errors": [], "warnings": [], "attributed": true }
Anfrage zur netzwerkübergreifenden Attribution
Wenn Google Ads positiv auf eine Conversion-Tracking-Anfrage antwortet, muss der API-Nutzer Google Ads über seine netzwerkübergreifende Attributionsentscheidung informieren, nachdem er den letzten Klick ermittelt hat.
Die anbieterübergreifende Attributionsanfrage ist mit der ursprünglichen Conversion-Tracking-Anfrage identisch, hat aber den folgenden Anfragepfad:
/pagead/conversion/app/1.0/cross_network
und das Hinzufügen von zwei erforderlichen Parametern:
Anfrage zur netzwerkübergreifenden Attribution | |
---|---|
ad_event_id |
Erforderlich Standort: Abfrage Die |
attributed |
Erforderlich Standort: Abfrage Gibt an, ob Google Ads vom API-Nutzer eine Gutschrift für die Conversion erhalten hat. |
Ein Beispiel für eine gültige netzwerkübergreifende Attributionsanfrage:
POST /pagead/conversion/app/1.0/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-8
Für eine gültige anbieterübergreifende Attributionsanfrage wird immer eine generische 200-Antwort ohne Antworttext zurückgegeben.