Śledzenie konwersji z aplikacji i remarketing – specyfikacje żądań/odpowiedzi

Klient użytkownika aplikacji

W ramach naszych szeroko zakrojonych działań walczących ze spamem opracowaliśmy standard standaryzacji nagłówka User-Agent wysłanego przez usługę analityczną lub reklamę w imieniu użytkownika aplikacji. Klient użytkownika aplikacji można pobrać z kodu natywnego zgodnie z tą specyfikacją:

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

Definicje tych pól są następujące:

Komponenty User-Agent
name

Nazwa usługi Analytics lub Google Ads. (Google AdMob)

Pamiętaj, że jeśli klient użytkownika jest tworzony po stronie klienta, name powinien być identyfikatorem pakietu aplikacji klienckiej.


Android
// Specified by API consumer.

iOS
// Specified by API consumer.
version

Wersja usługi Analytics lub Google Ads. (7.10.1)


Android
// Specified by API consumer.

iOS
// Specified by API consumer.
os_and_version

System operacyjny i jego wersja. (Android 6.0 )


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

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

Tag regionalny IETF urządzenia składający się z dwuliterowego kodu języka i kraju z podkreśleniem. (en_US)


Android
String locale = Locale.getDefault();

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

Nazwa urządzenia fizycznego, na którym jest uruchomiona usługa Analytics/Google Ads. (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/", po którym następuje numer kompilacji systemu operacyjnego. (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];
}

Na końcu kodu User-Agent aplikacji umieść właściwość ; Proxy na końcu jej adresu. Jeśli klient użytkownika aplikacji jest w całości utworzony po stronie klienta, wyklucz ; Proxy. Klient użytkownika może więc być:

  • System Android: AdMob/7.10.1 (Android 6.0; en_US; SM-G900F; Build/MMB29M; Proxy)
  • System iOS: AdMob/7.10.1 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy)

Prośba o śledzenie konwersji

Żądania śledzenia konwersji mają służyć do powiadamiania Google Ads o zdarzeniu w aplikacji, które powinno być śledzone jako konwersja lub służyć do zapełniania listy remarketingowej, oraz do pobierania metadanych opisujących kliknięcia, które doprowadziły do tego zdarzenia.

Wszystkie wywołania interfejsu API są wykonywane w domenie www.googleadservices.com. Żądania konwersji to żądania POST wysyłane przez HTTPS w następującej ścieżce:

/pagead/conversion/app/version
odpowiednim wersją interfejsu API śledzenia konwersji jest version. Obecnie jedyną poprawną wersją jest 1.0.

Standardowe żądanie konwersji z aplikacji zawiera te parametry:

Prośba o śledzenie konwersji
dev_token

Wymagany


Lokalizacja: zapytanie


Niepowtarzalny, statyczny token dewelopera wystawiany konsumentowi interfejsu API.

Z_eErE4DkvcKjDM1OVE4c4
link_id

Wymagany


Lokalizacja: zapytanie


Identyfikator połączenia, który łączy token programisty klienta klienta API z konkretną aplikacją.

31FF8D67E5BB5DD5029DCC2734C2F884
app_event_type

Wymagany


Lokalizacja: zapytanie


Nazwa zdarzenia w aplikacji. To pole zawiera wyliczenie i może przyjmować tylko te wartości:

 • first_open
 • session_start
 • in_app_purchase
 • view_item_list
 • view_item
 • view_search_results
 • add_to_cart
 • ecommerce_purchase
 • custom

Zdarzenie first_open powinno być zawsze wysyłane do atrybucji instalacji, a zdarzenie session_start zawsze do sesji atrybucji. W przypadku zakupów dokonanych za pomocą natywnego sklepu z aplikacjami użyj atrybutu in_app_purchase, a w przypadku wszystkich innych zakupów użyj wartości ecommerce_purchase.

app_event_name

Wymagany w określonych warunkach


Lokalizacja: zapytanie


Nazwa każdego niestandardowego zdarzenia aplikacji, które nie jest akceptowane w polu app_event_type. To pole powinno zawierać od 1 do 64 znaków Unicode (z użyciem kodowania UTF-8). To pole jest wymagane, jeśli app_event_type jest niestandardowe.

level_achieved
Level Achieved

To pole nie może zawierać żadnych wartości zarezerwowanych dla właściwości app_event_type. Jeśli użyjesz zarezerwowanej nazwy zdarzenia, interfejs API zwróci błąd APP_EVENT_NAME_RESERVED_VALUE.

app_event_data

Opcjonalnie


Lokalizacja: treść


Przekaż wszelkie dodatkowe dane o zdarzeniach rozszerzonych jako proste ciągi znaków mapowania obiektów JSON do wartości. Dopuszczalne wartości to ciągi tekstowe i tablice ciągów znaków.

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

Wymagany


Lokalizacja: zapytanie


Prawidłowy ciąg identyfikatora UUID reprezentujący nieprzetworzony identyfikator urządzenia.

f10e1de2-e237-4f50-b6aa-843c45cc63d6

W przypadku braku identyfikatora urządzenia, np. identyfikatora użytkownika ATT bez zgody użytkownika, ustaw wartość 0 na zero.

00000000-0000-0000-0000-000000000000
id_type

Wymagany


Lokalizacja: zapytanie


Typ identyfikatora zapisanego w polu rdid. W przyszłości możemy przyjmować więcej wartości, ale najpierw zaczniemy obsługiwać te wartości.


Android

advertisingid

iOS

idfa
lat

Wymagany


Lokalizacja: zapytanie


Ograniczyć stan śledzenia reklam na urządzeniu.

  • 0: użytkownik nie zdecydował się na śledzenie reklam.
  • 1: użytkownik zdecydował się ograniczyć śledzenie reklam.

app_version

Wymagany


Lokalizacja: zapytanie


Obecna wersja aplikacji. Należy ją ustandaryzować w następujący sposób.


Android

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

iOS

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

1.2.4
os_version

Wymagany


Lokalizacja: zapytanie


Obecna wersja systemu operacyjnego aplikacji. Należy to ujednolicić w ten sposób.


Android

android.os.Build.VERSION.RELEASE

iOS

[[UIDevice currentDevice] systemVersion]
sdk_version

Wymagany


Lokalizacja: zapytanie


Wersja pakietu SDK, który mierzył zdarzenie. Ta wersja jest używana głównie na potrzeby debugowania, więc powinna odzwierciedlać dokładnie wersję wersji opublikowaną z pakietami SDK. Jeśli aplikacja nie korzysta z pakietu SDK, przekaż tę samą wartość co w app_version.

1.9.5r6
timestamp

Wymagany


Lokalizacja: zapytanie


Sygnatura czasowa UNIX wystąpienia zdarzenia konwersji w sekundach (z dokładnością do mikrosekund).

1432681913.123456
value

Opcjonalnie


Lokalizacja: zapytanie


Wartość pieniężna zdarzenia (jeśli istnieje). Powinna to być zawsze formatowana jako czytelna dla komputera wartość zmiennoprzecinkowa z użyciem separatora dziesiętnego do oddzielania części całkowitej i części ułamkowej.

1.99
currency_code

Wymagany w określonych warunkach


Lokalizacja: zapytanie


Kod waluty ISO 4217 parametru value. To pole jest wymagane, jeśli podany zostanie valueparametr, który nie jest pusty.

USD
gclid

Wymagany w określonych warunkach


Lokalizacja: zapytanie


Wartość parametru zapytania gclid z adresu URL precyzyjnego linku, który otwierał aplikację.

Cj0KEQjw0dy4BRCuuL_e5M
market_referrer_gclid

Wymagany w określonych warunkach


Lokalizacja: zapytanie


Wartość parametru zapytania gclid z adresu URL precyzyjnego linku przechwycona na podstawie wartości install_referrer za pomocą interfejsu Play Referrer API.

BX3QojHp4mY5MrJtFM_d1u
gclid_only_request

Wymagany w określonych warunkach


Lokalizacja: zapytanie


Identyfikator oparty na atrybucji gclid w sytuacjach, gdy parametr „rdid (Advertisingid)” jest dostępny jako not lub jeśli występują wszystkie wartości zeroes i gclid lub market_referrer_gclid.

1
gbraid

Wymagany w określonych warunkach


Lokalizacja: zapytanie


Ostatnia wartość gbraid wysłana za pomocą adresu URL precyzyjnego linku, który otwierał aplikację. Pamiętaj, że aby korzystać z tej konwersji w przyszłych konwersjach w aplikacji, trzeba ją zapisać w pamięci podręcznej.

ChEI8IixhgYQrufHkIjz3YWRARIzALev_G_O
app_open_source

Wymagany w określonych warunkach


Lokalizacja: zapytanie


Wartość do identyfikowania sesji precyzyjnych kliknięć reklamy lub bezpłatnych wyników wyszukiwania w aplikacji.

ad_click or organic
User-Agent

Wymagany


Lokalizacja: nagłówek


Klient użytkownika aplikacji, jak określono w poprzedniej sekcji.

AdMob/7.10.1 (Android 6.0; en_US; SM-G900F; Build/MMB29M)
X-Forwarded-For

Wymagany


Lokalizacja: nagłówek


Publiczny adres IPv4 lub IPv6 urządzenia, na którym zdarzenie zostało zmierzone.

216.58.194.174

Wszystkie żądania muszą być wysyłane przez HTTPS. Pingi odebrane przez HTTP zostaną odrzucone.

Pamiętaj, że jeśli treść żądania jest pusta (jeśli w ładunku app_event_data nie są przekazywane żadne dane o zdarzeniach rozszerzonych), nasz serwer musi wyraźnie ustawić nagłówek Content-Length: 0 w żądaniu.

Przykładowe żądanie

Prawidłowe żądanie śledzenia konwersji z niestandardowym typem zdarzenia i informacjami o przychodach to:

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"]}}

Prawidłowe żądanie śledzenia konwersji z niestandardowym typem zdarzenia i informacjami o przychodach z parametrem rdid (advertisingid) niedostępny:

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"]}}

Przykłady prawidłowych żądań początku sesji:

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

Przykładowe żądanie ponownej atrybucji początku sesji dla sesji, która rozpoczęła się od precyzyjnego linku example://product/123?gclid=Cj0KEQjw0dy4BRCuuL_e5M:

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

Kodowanie danych zdarzenia

W przypadku parametru treści app_event_data użyj podstawowych konwencji dotyczących podstawowych typów danych:

  • Swobodne

    • Jako separatora dziesiętnego używaj kropki, niezależnie od lokalizacji aplikacji.
    • Używaj dwucyfrowych cyfr po przecinku, aby określić wartości pieniężne, np. 2,99
    • Nie używaj notacji wykładniczej, np. 2E+9
    • Nie używaj przecinków do oddzielania grup cyfr, np. 1 000 000
    • Prawidłowe przykłady:
      • -0.5
      • 2.99
      • 1000000.123
  • Liczba całkowita

    • Wysyłaj tylko wartości całkowite bez cyfr po przecinku
    • Nie używaj przecinków do oddzielania grup cyfr, np. 1 000 000
    • Prawidłowe przykłady:
      • 1000
      • -11
      • 0
  • Date

    • Format daty: rrrr-mm-dd
      • yyyy = rok czterocyfrowy, np. 2016
      • mm = miesiąc z 2 cyframi, np. 09 września
      • dd = dzień po dwucyfrowym, np. 23. dla 23. dnia miesiąca
    • Zawsze wysyłaj liczbę określoną powyżej, np. jeśli wysyłasz wartość dd dla 5 dnia miesiąca, wyślij 05.
    • Prawidłowe przykłady:
      • "2016-09-23"
      • "1990-12-31"
  • Sygnatura czasowa

    • Format czasu: sygnatura czasowa Unix/Epoch zdefiniowana w strefie czasowej UTC z dokładnością do maksymalnie mikrosekund
    • Prawidłowe przykłady:
      • 1478713087, śr 09 listopad 2016, 17:38:07 GMT
      • 1073513982.123000, śr 07 sty 2004, 22:19:42.123 GMT
  • Tablica

    • Przesyłaj tylko tablice wartości podstawowych (ciągi tekstowe, liczby i wartości logiczne)
    • Prawidłowe przykłady:
      • [123, 456, 789]
      • ["abc"]

Odpowiedź na śledzenie konwersji

Odpowiedź dotycząca śledzenia konwersji ma następujący format:

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

Tablica ad_events i errors mogą być puste.

Spodziewamy się, że błędy będą czytelne dla kodów błędów, np. invalid_timestamp.

Zdarzenia reklamowe to główne obiekty atrybucji w aplikacji i będą zawierać poniższe właściwości.

Odpowiedź na śledzenie konwersji
ad_event_id

Zawsze włączone


tekst


ad_event_id to unikalny identyfikator zdarzeń reklamowych. Można go używać ponownie w żądaniu atrybucji międzysieciowej i rejestrować w takim przypadku.

Q2owS0VRancwZHk0QlJDdXVMX2U1TQ
conversion_metric

Zawsze włączone


tekst


Dane konwersji używane do atrybucji. Początkowo będą dostępne pojedyncze dane o konwersjach.

conversion
timestamp

Zawsze włączone


liczba


Sygnatura czasowa UNIX wystąpienia zdarzenia reklamowego w sekundach (z dokładnością do mikrosekund). Tej wartości należy używać do atrybucji ostatniego kliknięcia.

1432681913.123456
campaign_type

Zawsze włączone


tekst


To pole będzie wskazywać typ kampanii, która wywołała zdarzenie reklamowe. Możliwe wartości:

ACI
ACE
Search
Display
Video
Shopping
Hotel
Performance_Max
Other

ACI to skrót od kampanii promującej aplikację. ACE to skrót od kampanii budujących zaangażowanie w aplikację.

campaign_id

Zawsze włączone


liczba


Liczbowy identyfikator kampanii, która wywołała zdarzenie reklamowe. Ta wartość jest gwarantowana.

123456789
campaign_name

Zawsze włączone


tekst


Zdefiniowana przez reklamodawcę nazwa kampanii, która wywołała zdarzenie reklamy. Ta wartość nie jest gwarantowana.

Occasional Gamers (Video)
ad_type

Zawsze włączone


tekst


Typ reklamy, która wywołała zdarzenie reklamy. Tej wartości możesz użyć do rozróżniania różnych typów zasobów reklamowych w ten sposób.

Promocja aplikacji
ClickToDownload
Zaangażowanie w aplikację
AppDeepLink
Zaangażowanie w aplikację – proces instalacji i kontynuacji
AppDeepLinkContinue
Wszystkie pozostałe wartości
Unknown
external_customer_id

Zawsze włączone


liczba


Identyfikator reklamodawcy, który jest właścicielem kampanii, która wygenerowała zdarzenie reklamowe. Ta wartość pozwala rozróżnić konta Google Ads.

123456789
location

Zawsze włączone


liczba


Kod identyfikatora lokalizacji geograficznej zdarzenia reklamowego. Informacje o kodach lokalizacji znajdziesz w dokumentacji interfejsu Google Ads API.

network_type

Zawsze włączone


tekst


To pole będzie wskazywać sieć reklamową Google Ads, w której wystąpiło zdarzenie reklamowe. Oto dostępne wartości:

Search
Display
YouTube
network_subtype

Wartość będzie wynosić null, gdy campaign_type to ACI lub ACE, a network_type to Display.


tekst


To pole określa „podtyp” sieci reklamowej Google Ads, na której wystąpiło zdarzenie reklamowe. Możliwe wartości różnią się w zależności od typu sieci głównej.


Zwykła wyszukiwarka Google
GoogleSearch
Partnerzy w sieci wyszukiwania Google
SearchPartners

Wyświetlacz

Wydawcy witryn mobilnych
mGDN
Wydawcy aplikacji
Google AdMob

YouTube

Sieć filmowa YouTube
YouTubeVideos
Sieć wyszukiwania w YouTube
YouTubeSearch
Sieć partnerów wideo
VideoPartners
video_id

Podana tylko wtedy, gdy network_type ma wartość YouTube, a campaign_type nie to ACI ani ACE.


tekst


Identyfikator filmu w YouTube powiązany ze zdarzeniem reklamy.

dQw4w9WgXcQ
keyword

Podana tylko wtedy, gdy network_type ma wartość Search, a campaign_type nie to ACI ani ACE.


tekst


Słowo kluczowe powiązane ze zdarzeniem reklamy.

+food +delivery
match_type

Podana tylko wtedy, gdy network_type ma wartość Search, a campaign_type nie to ACI ani ACE.


tekst


Typ dopasowania słów kluczowych w sieci wyszukiwania.

Ścisłe
e
Do wyrażenia
p
Przybliżone
b
placement

Podana tylko wtedy, gdy network_type ma wartość Display, a campaign_type nie to ACI ani ACE.


tekst


Miejsce docelowe powiązane ze zdarzeniem reklamy.

mobileapp::1-343200656
ad_group_id

Zawsze włączone


liczba


Identyfikator numeryczny grupy reklam ze zdarzeniem. Ta wartość jest gwarantowana.

123456789
ad_group_name

Podana tylko wtedy,gdy campaign_type ma wartość ACI, ACE lub ACPRE.


tekst


Zdefiniowana przez reklamodawcę nazwa grupy reklam, która wywołała zdarzenie reklamy. Ta wartość nie jest gwarantowana.

My App AdGroup
creative_id

Wartość podawana tylko wtedy, gdy właściwość campaign_type nie jest ACI ani ACE.


liczba


Identyfikator numeryczny jednostki reklamowej, która wywołała zdarzenie reklamowe. Ta wartość jest gwarantowana.

123456789
interaction_type

To pole będzie zawsze wskazywać zaangażowanie.


tekst

Przykładowe odpowiedzi

Przykładowa odpowiedź na śledzenie konwersji, gdy żądanie zawiera błędy:

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

Przykład negatywnej odpowiedzi na śledzenie konwersji:

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

Odpowiedź na potrzeby śledzenia konwersji zostanie zwrócona w przypadku wszystkich żądań śledzenia konwersji.

Przykładowa odpowiedź na pytanie o śledzenie konwersji w uniwersalnej kampanii promującej aplikację:

{
  "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
}

Przykładowa odpowiedź związana ze śledzeniem konwersji w kampanii w sieci wyszukiwania:

{
  "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
}

Przykładowa odpowiedź związana ze śledzeniem konwersji w kampanii w sieci reklamowej:

{
  "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
}

Przykładowa odpowiedź związana ze śledzeniem konwersji w kampanii w YouTube:

{
  "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
}

Żądanie atrybucji międzysieciowej

Gdy Google Ads odpowie na prośbę o śledzenie konwersji, klient korzystający z interfejsu API musi powiadomić Google Ads o swojej decyzji dotyczącej atrybucji międzysieciowej po zidentyfikowaniu ostatniego kliknięcia.

Żądanie atrybucji międzysieciowej jest identyczne z pierwotnym żądaniem śledzenia konwersji, ale ze ścieżką:

/pagead/conversion/app/1.0/cross_network

i dwa dodatkowe parametry wymagane:

Żądanie atrybucji międzysieciowej
ad_event_id

Wymagany


Lokalizacja: zapytanie


Identyfikator ad_event_id ze zdarzenia reklamowego powiązanego z atrybucją z poprzedniego żądania.

attributed

Wymagany


Lokalizacja: zapytanie


Określa, czy konto Google Ads ma udział w konwersji z interfejsu API dla klientów. Może to być 0 lub 1.

Przykład prawidłowego żądania atrybucji międzysieciowej:

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

Prawidłowe żądanie atrybucji międzysieciowej zawsze będzie otrzymywać ogólną odpowiedź 200 bez treści odpowiedzi.