App-Conversion-Tracking und Remarketing – Spezifikationen für Anfragen/Antworten

App-User-Agent

Als Teil unserer Bemühungen zur Bekämpfung von Spam haben wir eine standardisierte Spezifikation für den User-Agent-Header entwickelt, die von einem Analyse-/Anzeigenprodukt im Auftrag eines App-Nutzers gesendet wird. Der User-Agent der App kann vom nativen Code abgeleitet werden, um die folgende Spezifikation einzuhalten:

name version (os_and_version; locale; device; build; Proxy)

Die Definition dieser Felder sieht so aus:

User-Agent-Komponenten
name

Der Name des Analyse-/Anzeigenprodukts. (Google AdMob)

Wenn der User-Agent clientseitig erstellt wird, sollte name die Bundle-ID der Clientanwendung sein.


Android
// Specified by API consumer.

iOS
// Specified by API consumer.
version

Die Version des Analyse-/Anzeigenprodukts. (7.10.1)


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. (Android 6.0 )


Android
String osAndVersion =
    "Android " + Build.VERSION.RELEASE;

iOS
UIDevice *uid =
  [UIDevice currentDevice];
NSString *osAndVersion =
  [NSString
    stringWithFormat:@"%@ %@",
    [uid systemName],
    [uid systemVersion]];
locale

Ein IETF-Locale-Tag für das Gerät, wobei die aus zwei Buchstaben bestehende Sprache und der Ländercode durch einen Unterstrich getrennt sind (en_US)


Android
String locale = Locale.getDefault();

iOS
NSString *locale =
  [[NSLocale currentLocale]
    localeIdentifier]
device

Der Name des Geräts, auf dem das Analyse-/Anzeigenprodukt ausgeführt wird. (iPhone9,1)


Android
String 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. (Build/13D15)


Android
String 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üge ; Proxy nur am Ende der User-Agent-Seite der App ein, wenn du die User-Agent-Seite der App konstruierst. Wenn der User-Agent der App vollständig clientseitig aufgebaut ist, schließe ; Proxy aus. Der User-Agent einer App könnte also:

  • 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)

Conversion-Tracking-Anfrage

Mit Conversion-Tracking-Anfragen werden in Google Ads die Nutzer über ein App-Ereignis benachrichtigt, das als Conversion erfasst und/oder in eine Remarketing-Liste aufgenommen werden soll. Außerdem sollen Metadaten zu jedem Klick vor dem Ereignis abgerufen werden.

Alle API-Aufrufe werden an die Domain www.googleadservices.com gesendet. Conversion-Anfragen sind POST-Anfragen über HTTPS im folgenden Pfad:

/pagead/conversion/app/version
, wobei version die beabsichtigte Version der Conversion Tracking API ist. Derzeit ist 1.0 die einzige gültige Version.

Eine standardmäßige App-Conversion-Anfrage enthält die folgenden Parameter.

Conversion-Tracking-Anfrage
dev_token

Pflichtfeld


Ort: Suchanfrage


Das eindeutige, statische Entwicklertoken, das dem API-Nutzer ausgestellt wird.

Z_eErE4DkvcKjDM1OVE4c4
link_id

Pflichtfeld


Ort: Suchanfrage


Die Link-ID, die das Entwicklertoken des API-Nutzers an eine bestimmte App bindet.

31FF8D67E5BB5DD5029DCC2734C2F884
app_event_type

Pflichtfeld


Ort: Suchanfrage


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 Ereignis first_open sollte immer zur Attribution von Installationen gesendet werden und das Ereignis session_start sollte immer zur Attribution von Sitzungen gesendet werden. Verwende in_app_purchase für Käufe über den nativen App-Shop, ecommerce_purchase für alle anderen Käufe.

app_event_name

Unter bestimmten Bedingungen erforderlich


Ort: Suchanfrage


Der Name eines benutzerdefinierten Anwendungsereignisses, das im Feld app_event_type nicht akzeptiert wird. Dieses Feld muss 1 bis 64 Unicode-Zeichen (mit UTF-8-Codierung) enthalten. Dieses Feld ist erforderlich, wenn app_event_type benutzerdefiniert ist.

level_achieved
Level Achieved

Dieses Feld darf keine für app_event_type reservierten Werte enthalten. Wenn ein reservierter Ereignisname verwendet wird, gibt die API den Fehler APP_EVENT_NAME_RESERVED_VALUE zurück.

app_event_data

Optional


Standort: Text


Leiten Sie zusätzliche Rich-Ereignisdaten als einfache JSON-Objektzuordnungsschlüsselwerte an Werte weiter. Zulässige Werte sind Strings und Arrays von Strings.

{"level": 5, "attempts": 20}
rdid

Pflichtfeld


Ort: Suchanfrage


Ein gültiger UUID-String für die unformatierte Geräte-ID.

f10e1de2-e237-4f50-b6aa-843c45cc63d6

Falls die Geräte-ID fehlt, z. B. die Geräte-ID eines nicht in ATT angemeldeten Nutzers, setzen Sie sie auf „0“.

00000000-0000-0000-0000-000000000000
id_type

Pflichtfeld


Ort: Suchanfrage


Der im Feld rdid gespeicherte Kennungstyp. In Zukunft werden hier möglicherweise weitere Werte akzeptiert. Zu Beginn unterstützen wir jedoch folgende Werte.


Android

advertisingid

iOS

idfa
lat

Pflichtfeld


Ort: Suchanfrage


Beschränken Sie den Anzeigen-Tracking-Status des Geräts.

  • 0: Der Nutzer hat das Anzeigen-Tracking nicht eingeschränkt.
  • 1: Der Nutzer hat „Kein Ad-Tracking“ aktiviert.

app_version

Pflichtfeld


Ort: Suchanfrage


Die aktuelle Version der App. Diese sollte wie folgt standardisiert werden.


Android

packageManager.getPackageInfo(packageName(),
  PackageManager.GET_META_DATA).versionName

iOS

[[[NSBundle mainBundle] infoDictionary]
  objectForKey:@"CFBundleShortVersionString"]

1.2.4
os_version

Pflichtfeld


Ort: Suchanfrage


Die aktuelle Version des Hostbetriebssystems der App. Dies sollte wie folgt standardisiert werden.


Android

android.os.Build.VERSION.RELEASE

iOS

[[UIDevice currentDevice] systemVersion]
sdk_version

Pflichtfeld


Ort: Suchanfrage


Die Version des SDK, das das Ereignis gemessen hat. Da sie hauptsächlich für die Fehlerbehebung verwendet wird, sollte sie genau mit der Release-Version übereinstimmen, wie sie auch bei Ihren SDK-Releases veröffentlicht wird. Wenn die App kein SDK verwendet, übergeben Sie denselben Wert wie app_version.

1.9.5r6
timestamp

Pflichtfeld


Ort: Suchanfrage


Der UNIX-Zeitstempel, in dem das Conversion-Ereignis aufgetreten ist, in Sekunden mit einer Genauigkeit von bis zu Mikrosekunden.

1432681913.123456
value

Optional


Ort: Suchanfrage


Der Geldwert des Ereignisses, falls vorhanden. Dieser Wert muss immer als maschinenlesbarer Gleitkommawert mit einem Dezimalpunkt formatiert werden, um die Ganzzahl und den Bruchteil des Werts zu trennen.

1.99
currency_code

Unter bestimmten Bedingungen erforderlich


Ort: Suchanfrage


Der Währungscode gemäß ISO 4217 für den Parameter value. Dieses Feld ist erforderlich, wenn der Parameter value bereitgestellt und nicht leer ist.

USD
gclid

Unter bestimmten Bedingungen erforderlich


Ort: Suchanfrage


Der Wert des Suchparameters gclid aus einer Deeplink-URL, über die die App geöffnet wurde.

Cj0KEQjw0dy4BRCuuL_e5M
market_referrer_gclid

Unter bestimmten Bedingungen erforderlich


Ort: Suchanfrage


Der Wert des gclid-Abfrageparameters aus einer Deeplink-URL, die über die Play Install Referrer API aus dem Wert „install_referrer“ erfasst wird.

BX3QojHp4mY5MrJtFM_d1u
gclid_only_request

Unter bestimmten Bedingungen erforderlich


Ort: Suchanfrage


Kennung für gclid-basierte Attribution in Szenarien, in denen „rdid“ (advertisingid) not verfügbar ist oder alle zeroes UND entweder gclid oder market_referrer_gclid vorhanden sind.

1
gbraid

Unter bestimmten Bedingungen erforderlich


Ort: Suchanfrage


Der zuletzt gesehene Wert von gbraid wird über eine Deeplink-URL gesendet, mit der die App geöffnet wurde. Diese muss im Cache der App gespeichert werden, damit sie mit den zukünftigen Conversions in der App gesendet werden kann.

ChEI8IixhgYQrufHkIjz3YWRARIzALev_G_O
app_open_source

Unter bestimmten Bedingungen erforderlich


Ort: Suchanfrage


Wert zur Identifizierung von Deeplinks für Anzeigenklicks oder organische App-Sitzungen.

ad_click or organic
User-Agent

Pflichtfeld


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

Pflichtfeld


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 (wenn keine umfangreichen Ereignisdaten in der Nutzlast app_event_data übergeben werden), muss unser Server den Header Content-Length: 0 für Ihre Anfrage explizit festlegen.

Beispielanfrage

Ein Beispiel für eine gültige Conversion-Tracking-Anfrage mit einem nicht benutzerdefinierten Ereignistyp und Umsatzinformationen 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
       &lat=0
       &app_version=1.2.4
       &os_version=9.3.2
       &sdk_version=1.9.5r6
       &timestamp=1432681913.123456
       &value=1.99
       &currency_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
{"app_event_data":{"item_id":["Crayons","Markers"]}}

Hier ein Beispiel für eine gültige Conversion-Tracking-Anfrage mit einem nicht benutzerdefinierten Ereignistyp und Umsatzinformationen mit dem Wert rdid (advertisingid) not available:

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
       &lat=1
       &app_version=1.2.4
       &os_version=9.3.2
       &sdk_version=1.9.5r6
       &timestamp=1432681913.123456
       &value=1.99
       &currency_code=USD
       &market_referrer_gclid=BX3QojHp4mY5MrJtFM_d1u
       &gclid=Cj0KEQjw0dy4BRCuuL_e5M
       &gclid_only_request=1
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"]}}

Eine gültige Sitzungsstartanfrage ist ein Beispiel:

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
       &lat=0
       &app_version=1.2.4
       &os_version=9.3.2
       &sdk_version=1.9.5r6
       &timestamp=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-8

Hier ist ein Beispiel für eine gültige Anfrage zur Attribution beim Neustart einer Sitzung, die mit dem Deeplink example://product/123?gclid=Cj0KEQjw0dy4BRCuuL_e5M gestartet wurde:

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
       &lat=0
       &app_version=1.2.4
       &os_version=9.3.2
       &sdk_version=1.9.5r6
       &timestamp=1432681913.123456
       &gclid=Cj0KEQjw0dy4BRCuuL_e5M
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

Ereignisdatencodierung

Für den Body-Parameter app_event_data gelten die folgenden Konventionen für einfache Datentypen:

  • Gleitkommazahl

    • Unabhängig von der App-Lokalisierung Punktzeichen als Dezimaltrennzeichen verwenden
    • Verwenden Sie eine zweistellige Dezimalgenauigkeit für Geldwerte, z. B. 2,99.
    • Verwenden Sie keine exponentielle Schreibweise, z.B. 2E+9
    • Trennen Sie Zifferngruppen nicht durch ein Komma, z. B. 1.000.000
    • Gültige Beispiele:
      • -0.5
      • 2.99
      • 1000000.123
  • Ganzzahl

    • Nur ganze Ganzzahlen ohne Dezimalstellen senden
    • Trennen Sie Zifferngruppen nicht durch ein Komma, z. B. 1.000.000
    • Gültige Beispiele:
      • 1000
      • -11
      • 0
  • Date

    • Datumsformat: jjjj-mm-tt
      • yyyy = vierstellige Jahreszahl, z.B. 2016
      • mm: zweistellige Monatsangabe, z.B. 09 für September
      • dd: ein zweistelliger Tag, z. B. 23 für den 23. Tag des Monats
    • Es muss immer die oben angegebene Anzahl von Ziffern gesendet werden.Wenn Sie beispielsweise den Wert für dd für den 5. Tag des Monats senden, geben Sie 05 ein.
    • Gültige Beispiele:
      • "2016-09-23"
      • "1990-12-31"
  • Timestamp

    • Zeitformat: Unix/Epoch-Zeitstempel in UTC-Zeitzone mit einer Genauigkeit von bis zu Mikrosekunden
    • Gültige Beispiele:
      • 1478713087 für Mi, 09 Nov 2016 17:38:07 GMT
      • 1073513982.123000 für Mi, 07 Jan 2004 22:19:42.123 GMT
  • Arrays

    • Nur Arrays von einfachen Werten (Strings, Zahlen und boolesche Werte) senden
    • Gültige Beispiele:
      • [123, 456, 789]
      • ["abc"]

Conversion-Tracking-Antwort

Die Conversion-Tracking-Antwort hat das folgende Format:

{
  "ad_events": [<ad event objects>],
  "errors": [<error strings>],
  "attributed": true|false
}

Die Arrays ad_events und errors können leer sein.

Wir gehen davon aus, dass es sich um maschinenlesbare Fehlercodes handelt, z.B. invalid_timestamp.

Anzeigenereignisse sind die Hauptobjekte der App-Attribution und enthalten die folgenden Properties.

Conversion-Tracking-Antwort
ad_event_id

Immer vorhanden


string


ad_event_id dient als eindeutige Kennung für Anzeigenereignisse. Er wird in der netzwerkübergreifenden Attributionsanfrage verwendet und sollte zur Fehlerbehebung protokolliert bzw. beibehalten werden.

Q2owS0VRancwZHk0QlJDdXVMX2U1TQ
conversion_metric

Immer vorhanden


string


Der für die Attribution verwendete Conversion-Messwert. Zuerst wird nur ein Conversion-Messwert unterstützt.

conversion
timestamp

Immer vorhanden


Zahl


Der UNIX-Zeitstempel für das Anzeigenereignis in Sekunden mit einer Genauigkeit von bis zu Mikrosekunden. Dieser Wert sollte für das Attributionsmodell „Letzter Klick“ verwendet werden.

1432681913.123456
campaign_type

Immer vorhanden


string


Mit diesem Feld wird der Kampagnentyp der Anzeige angegeben. Folgende Werte sind möglich:

ACI
ACE
Search
Display
Video
Shopping
Hotel
Performance_Max
Other

ACI ist eine Abkürzung für App-Installationskampagne. ACE steht für App-Interaktionskampagnen.

campaign_id

Immer vorhanden


Zahl


Die numerische Kampagnen-ID der Kampagne, die das Anzeigenereignis generiert hat. Dieser Wert ist garantiert eindeutig.

123456789
campaign_name

Immer vorhanden


string


Der vom Werbetreibenden definierte Kampagnenname der Kampagne, durch die das Anzeigenereignis generiert wurde. Dieser Wert ist nicht garantiert eindeutig.

Occasional Gamers (Video)
ad_type

Immer vorhanden


string


Der Anzeigentyp, der zum Anzeigenereignis geführt hat. Dieser Wert kann zur Unterscheidung zwischen verschiedenen Inventartypen verwendet werden.

App-Werbung
ClickToDownload
App-Interaktionskampagne
AppDeepLink
App-Interaktionskampagne – Installation und Fortsetzung
AppDeepLinkContinue
Catch-all für andere Werte
Unknown
external_customer_id

Immer vorhanden


Zahl


Die ID des Werbetreibenden, zu dem die Kampagne gehört, über die das Anzeigenereignis generiert wurde. Mit diesem Wert können Sie die Google Ads-Konten voneinander unterscheiden.

123456789
location

Immer vorhanden


Zahl


Der Standort-ID-Code für den geografischen Standort des Anzeigenereignisses. Weitere Informationen zu Standortcodes finden Sie in der Google Ads API-Referenz.

network_type

Immer vorhanden


string


Mit diesem Feld wird das Google Ads-Werbenetzwerk identifiziert, in dem das Anzeigenereignis aufgetreten ist. Folgende Werte sind möglich:

Search
Display
YouTube
network_subtype

Ist null, wenn campaign_type ACI oder ACE und network_type Display ist.


string


Mit 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.


Normale Google Suche
GoogleSearch
Google Suchnetzwerk-Partner
SearchPartners

Display

Publisher im mobilen Web
mGDN
App-Publisher
Google AdMob

YouTube

YouTube-Videonetzwerk
YouTubeVideos
YouTube-Suchnetzwerk
YouTubeSearch
Videopartner
VideoPartners
video_id

Nur angegeben, wenn network_type YouTube und campaign_type nicht ACI und ACE ist.


string


Die YouTube-Video-ID, die dem Anzeigenereignis zugeordnet ist.

dQw4w9WgXcQ
keyword

Nur angegeben, wenn network_type Search und campaign_type nicht ACI und ACE ist.


string


Das Keyword, das dem Anzeigenereignis zugeordnet ist.

+food +delivery
match_type

Nur angegeben, wenn network_type Search und campaign_type nicht ACI und ACE ist.


string


Die Keyword-Option für Keywords für Suchanzeigen.

Genau
e
Wortgruppe
p
Weitgehend passend
b
placement

Nur angegeben, wenn network_type Display und campaign_type nicht ACI und ACE ist.


string


Das Placement, das dem Anzeigenereignis zugeordnet ist

mobileapp::1-343200656
ad_group_id

Immer vorhanden


Zahl


Die numerische ID der Anzeigengruppe, die mit dem Anzeigenereignis erstellt wurde. Dieser Wert ist garantiert eindeutig.

123456789
ad_group_name

Nur angegeben, wenn campaign_type ACI, ACE oder ACPRE ist.


string


Der vom Werbetreibenden definierte Anzeigengruppenname der Anzeigengruppe, die das Anzeigenereignis generiert hat. Dieser Wert ist nicht garantiert eindeutig.

My App AdGroup
creative_id

Nur angegeben, wenn campaign_type nicht ACI und ACE ist.


Zahl


Die numerische ID des Creative-Anzeigenblocks, der das Anzeigenereignis generiert hat. Dieser Wert ist garantiert eindeutig.

123456789
interaction_type

Dieses Feld ist immer „engagement“.


string

Beispielantworten

Hier ein Beispiel für eine Conversion-Tracking-Antwort mit Fehlern:

{
  "ad_events": [],
  "errors": ["INVALID_CURRENCY_CODE"],
  "attributed": false
}

Hier ein Beispiel für eine negative Conversion-Tracking-Antwort:

{
  "ad_events": [],
  "errors": [],
  "attributed": false
}

Für alle Anfragen zum Conversion-Tracking wird eine Conversion-Tracking-Antwort zurückgegeben.

Hier ist ein Beispiel für ein aktives Conversion-Tracking 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
}

Hier ein Beispiel für eine aktive Conversion-Tracking-Antwort 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
}

Hier ist ein Beispiel für ein aktives Conversion-Tracking 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
}

Hier ein Beispiel für ein aktives Conversion-Tracking 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
}

Anfrage zur netzwerkübergreifenden Attribution

Wenn Google Ads auf eine Conversion-Tracking-Anfrage positiv reagiert, muss der API-Nutzer Google Ads über die netzwerkübergreifende Attributionsentscheidung informieren, nachdem er den letzten Klick identifiziert hat.

Die netzwerkübergreifende Attributionsanfrage ist identisch mit der ursprünglichen Conversion-Tracking-Anfrage, mit dem Anfragepfad:

/pagead/conversion/app/1.0/cross_network

und das Hinzufügen von zwei erforderlichen Parametern:

Anfrage zur netzwerkübergreifenden Attribution
ad_event_id

Pflichtfeld


Ort: Suchanfrage


Die ad_event_id-Kennung des Anzeigenereignisses, das der Attribution in der vorherigen Anfrage zugeordnet wurde.

attributed

Pflichtfeld


Ort: Suchanfrage


Gibt an, ob Google Ads der Conversion durch den API-Nutzer zugeordnet wurde. 0 oder 1.

Hier ein Beispiel für eine gültige Anfrage zur netzwerkübergreifenden Attribution:

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
       &timestamp=1432681913.123456
       &value=1.99
       &currency_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

Eine gültige netzwerkübergreifende Attributionsanfrage erhält immer eine allgemeine 200-Antwort ohne Antworttext.