Klient użytkownika aplikacji
W ramach naszych szerszych działań na rzecz walki ze spamem opracowaliśmy standardową specyfikację nagłówka User-Agent wysyłanego przez usługę analityczną lub reklamową w imieniu użytkownika aplikacji. Ciąg User-Agent aplikacji można uzyskać z kodu natywnego, aby był zgodny z tą specyfikacją:
name version (os_and_version; locale; device; build; Proxy)
Definicje tych pól są następujące:
| Komponenty klienta użytkownika | |
|---|---|
| name | Nazwa usługi analitycznej lub reklamowej. ( Pamiętaj, że jeśli ciąg User-Agent jest tworzony po stronie klienta, zamiast Android// Specified by API consumer. iOS// Specified by API consumer. |
| version | Wersja usługi analitycznej lub reklamowej.
( Android// Specified by API consumer. iOS// Specified by API consumer. |
| os_and_version | System operacyjny i jego wersja, na których działa aplikacja. ( AndroidString osAndVersion =
"Android " + Build.VERSION.RELEASE;iOSUIDevice *uid = [UIDevice currentDevice]; NSString *osAndVersion = [NSString stringWithFormat:@"%@ %@", [uid systemName], [uid systemVersion]]; |
| locale | Tag językowy IETF dla urządzenia, który zawiera dwuliterowy kod języka i kodu kraju rozdzielone podkreśleniem.
( AndroidString locale = Locale.getDefault(); iOSNSString *locale = [[NSLocale currentLocale] localeIdentifier] |
| device | Nazwa urządzenia fizycznego, na którym działa usługa analityczna lub reklamowa.
( 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/” i numer kompilacji systemu operacyjnego.
( 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]; } |
Podczas tworzenia po stronie serwera ciągu User-Agent aplikacji uwzględniaj tylko znak ; Proxy na końcu tego ciągu. Jeśli ciąg klienta użytkownika aplikacji jest w całości tworzony po stronie klienta, wyklucz ; Proxy. Klient użytkownika aplikacji może wyglądać tak:
- 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)
Przewodnik po żądaniach śledzenia konwersji
Celem żądań śledzenia konwersji jest powiadomienie Google Ads o zdarzeniu w aplikacji, które powinno być śledzone jako konwersja lub używane do wypełniania listy remarketingowej, oraz pobranie metadanych opisujących kliknięcie, które poprzedziło zdarzenie.
Wszystkie wywołania interfejsu API są kierowane do domeny www.googleadservices.com. Żądania konwersji
to żądania POST wysyłane przez HTTPS na tej ścieżce:
/pagead/conversion/app/version
Standardowe żądanie konwersji z aplikacji będzie zawierać te parametry interfejsu App Conversion API w wersji 1.1.
| Żądanie śledzenia konwersji | |
|---|---|
dev_token |
Wymagany Lokalizacja: zapytanie Unikalny, statyczny token programisty wydany konsumentowi interfejsu API. Z_eErE4DkvcKjDM1OVE4c4 |
link_id |
Wymagany Lokalizacja: zapytanie Identyfikator linku wiążący token programisty użytkownika interfejsu API z konkretną aplikacją. 31FF8D67E5BB5DD5029DCC2734C2F884 |
app_event_type |
Wymagany Lokalizacja: zapytanie Nazwa zdarzenia w aplikacji, które wystąpiło. To pole jest wyliczeniem i akceptuje 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 |
app_event_name |
Wymagane w określonych warunkach Lokalizacja: zapytanie Nazwa dowolnego zdarzenia niestandardowego w aplikacji, które nie jest akceptowane w polu level_achieved Level Achieved To pole nie może zawierać żadnej z wartości zarezerwowanych dla |
app_event_data |
Opcjonalny Lokalizacja: treść Przekaż wszelkie dodatkowe dane zdarzenia rozszerzonego jako prosty obiekt JSON mapujący klucze ciągów na wartości. Dopuszczalne wartości to ciągi tekstowe i tablice ciągów tekstowych. {"level": 5, "attempts": 20} |
odm_info |
Wymagane w przypadku korzystania ze zintegrowanego pomiaru konwersji w systemie iOS Lokalizacja: zapytanie Wartość parametru zapytania XYZr_AB8C-_zGtKjUhqtzPLeQ8lbJB5dADVR0tpZ9f-28sN5qN9GTZ_FztjL0OL FzgxUJDhZr8w6lwGxAwPcxSwR5orjWepZiVP7sRRoCiaHerR-1TP17eJKtazgeSg _CVEs13LllDTfrhVM8uWISqlg8dXobsLzmj8C7WrOlktHA5P_E23 |
id_type |
Wymagany Typ identyfikatora przekazanego w polu Androidadvertisingid appsetid iOSidfa idfv |
rdid |
Wymagany Lokalizacja: zapytanie Prawidłowy ciąg tekstowy UUID reprezentujący nieprzetworzony identyfikator urządzenia. f10e1de2-e237-4f50-b6aa-843c45cc63d6 Jeśli identyfikator urządzenia jest niedostępny, np. w przypadku użytkownika, który nie wyraził zgody na ATT, ustaw go na same zera. 00000000-0000-0000-0000-000000000000 |
ctry_c |
Wymagany Lokalizacja: zapytanie Dwuliterowy kod kraju w standardzie ISO wskazujący kraj, z którego pochodzi konwersja. To pole jest wymagane, aby włączyć pomiar konwersji z aplikacji nie na poziomie użytkownika na urządzeniach z iOS i Androidem. US, IN |
eea |
Wymagane w określonych warunkach Lokalizacja: zapytanie Zakres Europejskiego Obszaru Gospodarczego.
|
ad_personalization |
Wymagane w określonych warunkach Lokalizacja: zapytanie Flagi dotyczące reklam spersonalizowanych:
|
ad_user_data |
Wymagane w określonych warunkach Lokalizacja: zapytanie Flaga zgody na wykorzystywanie danych użytkownika na potrzeby reklamowe
|
lat |
Wymagany Lokalizacja: zapytanie Stan ograniczenia śledzenia reklam na urządzeniu.
|
app_version |
Wymagany Lokalizacja: zapytanie Obecna wersja aplikacji. Powinna być ujednolicona w ten sposób: AndroidpackageManager.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 hosta aplikacji. Powinno być ono ujednolicone w ten sposób: Androidandroid.os.Build.VERSION.RELEASE iOS[[UIDevice currentDevice] systemVersion] |
sdk_version |
Wymagany Lokalizacja: zapytanie Wersja pakietu SDK, która zmierzyła zdarzenie. Ponieważ jest to używane głównie do debugowania, powinno odzwierciedlać wersję do publikacji dokładnie tak, jak jest ona publikowana w wersjach pakietu SDK. Jeśli aplikacja nie korzysta z pakietu SDK, przekaż tę samą wartość co 1.9.5r6 |
timestamp |
Wymagany Lokalizacja: zapytanie Sygnatura czasowa systemu UNIX, w której wystąpiło zdarzenie konwersji, w sekundach z dokładnością do mikrosekund. 1432681913.123456 |
fot |
Wymagany Lokalizacja: zapytanie Sygnatura czasowa UNIX z odpowiedniego parametru 1432681913.123456 |
value |
Opcjonalny Lokalizacja: zapytanie Wartość pieniężna zdarzenia (jeśli występuje). Wartość ta powinna być zawsze sformatowana jako czytelna dla komputera liczba zmiennoprzecinkowa z kropką dziesiętną oddzielającą część całkowitą od ułamkowej. 1.99 |
currency_code |
Wymagane w określonych warunkach Lokalizacja: zapytanie Kod waluty ISO 4217 dla parametru USD |
gclid |
Wymagane w określonych warunkach Lokalizacja: zapytanie Wartość parametru zapytania Cj0KEQjw0dy4BRCuuL_e5M |
market_referrer_gclid |
Wymagane w określonych warunkach Lokalizacja: zapytanie Wartość parametru zapytania BX3QojHp4mY5MrJtFM_d1u |
gclid_only_request |
Wymagane w określonych warunkach Lokalizacja: zapytanie Identyfikator na potrzeby atrybucji opartej na 1 |
gbraid |
Wymagane w określonych warunkach Lokalizacja: zapytanie Ostatnia wartość ChEI8IixhgYQrufHkIjz3YWRARIzALev_G_O |
app_open_source |
Wymagane w określonych warunkach Lokalizacja: zapytanie Wartość służąca do identyfikowania precyzyjnych linków do aplikacji w kliknięciach reklam lub sesji w aplikacji pochodzących z wyników wyszukiwania. ad_click or organic |
User-Agent |
Wymagany Lokalizacja: nagłówek Nazwa klienta użytkownika aplikacji zdefiniowana 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 zarejestrowano zdarzenie. 216.58.194.174 |
Wszystkie żądania muszą być wysyłane przez HTTPS. Pingi otrzymane przez HTTP zostaną odrzucone.
Pamiętaj, że jeśli treść żądania jest pusta (w przypadku, gdy w app_event_dataładunku nie są przekazywane żadne dane zdarzenia rozszerzonego), nasz serwer wymaga, aby w żądaniu wyraźnie ustawić nagłówek Content-Length: 0.
Kodowanie danych zdarzenia
W przypadku parametru app_event_data body używaj tych konwencji w odniesieniu do podstawowych typów danych:
Float
- Używaj kropki jako separatora dziesiętnego niezależnie od lokalizacji aplikacji.
- Do przedstawiania wartości pieniężnych używaj dwóch miejsc po przecinku, np. 2,99.
- Nie używaj notacji wykładniczej, np.2E+9.
- Nie używaj przecinka do oddzielania grup cyfr, np.1 000 000.
- Prawidłowe przykłady:
-0.52.991000000.123
Liczba całkowita
- Wysyłaj tylko wartości będące liczbami całkowitymi bez miejsc po przecinku.
- Nie używaj przecinka do oddzielania grup cyfr, np.1 000 000.
- Prawidłowe przykłady:
1000-110
Data
- Format daty: rrrr-mm-dd
yyyy= czterocyfrowy rok, np. 2016mm= dwucyfrowy miesiąc, np. 09 dla wrześniadd= dwucyfrowy dzień, np. 23 oznacza 23 dzień miesiąca
- Zawsze wysyłaj liczbę cyfr podaną powyżej. Jeśli na przykład wysyłasz wartość dd dla 5 dnia miesiąca, wyślij
05. - Prawidłowe przykłady:
"2016-09-23""1990-12-31"
- Format daty: rrrr-mm-dd
Sygnatura czasowa
- Format czasu: sygnatura czasowa systemu Unix/epoki w sekundach zdefiniowana w strefie czasowej UTC z dokładnością do mikrosekund.
- Prawidłowe przykłady:
1478713087dla śr, 09 lis 2016 17:38:07 GMT1073513982.123000for Wed, 07 Jan 2004 22:19:42.123 GMT
Tablice
- Wysyłaj tylko tablice wartości pierwotnych (ciągi znaków, liczby i wartości logiczne).
- Prawidłowe przykłady:
[123, 456, 789]["abc"]
Przykładowe żądania
Przykład żądania pierwszego otwarcia z pakietem SDK Pomiar na urządzeniu: dane zdarzeń do zintegrowanego pomiaru konwersji:
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-8Przykład żądania pierwszego otwarcia bez pakietu SDK do pomiaru konwersji na urządzeniu: zdarzenie Dane pakietu SDK do zintegrowanego pomiaru konwersji:
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-8Przykład żądania po instalacji z pakietem 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
&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-8Przykład żądania pierwszego otwarcia bez pomiaru na urządzeniu: pakiet SDK danych zdarzenia:
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-8Przykład żądania pierwszego uruchomienia w przypadku nieokreślonej konwersji na Androidzie w ACAPI w wersji 1.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-8Przykład prawidłowego żądania śledzenia konwersji z niestandardowym typem zdarzenia i informacjami o przychodach:
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"]}}Przykład prawidłowego żądania śledzenia konwersji z niestandardowym typem zdarzenia i informacjami o przychodach, w którym rdid (advertisingid) jest niedostępny:
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"]}}Przykład prawidłowego żądania rozpoczęcia sesji:
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-8Przykład prawidłowego żądania ponownego przypisania rozpoczęcia sesji w przypadku sesji, która rozpoczęła się od precyzyjnego linku:example://product/123?gclid=Cj0KEQjw0dy4BRCuuL_e5M
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-8Przykład prawidłowego żądania śledzenia konwersji w przypadku użytkownika z Europejskiego Obszaru Gospodarczego, który wyraził zgodę na wykorzystywanie danych użytkownika na potrzeby reklam, ale nie zgodził się na personalizację reklam:
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-8Przewodnik po odpowiedziach dotyczących śledzenia konwersji
Odpowiedź śledzenia konwersji ma ten format:
{
"ad_events": [<ad event objects>],
"errors": [<error strings>],
"attributed": true|false
}
Obie tablice ad_events i errors mogą być puste.
Oczekujemy, że błędy będą miały postać kodów błędów odczytywanych przez maszyny, np. invalid_timestamp.
Kody błędów
invalid_timestamp – żądanie nie zawierało prawidłowej sygnatury czasowej.
eea_missing_or_invalid – w żądaniu nie ustawiono pola „eea” lub było ono nieprawidłowe.
ad_user_data_missing – pole żądania „ad_user_data” nie zostało ustawione. Pole „ad_user_data” jest wymagane w przypadku wszystkich żądań w ramach aktu o rynkach cyfrowych.
ad_user_data_invalid – nieprawidłowa wartość żądania „ad_user_data”. Pole „ad_user_data” jest wymagane w przypadku wszystkich żądań w ramach aktu o rynkach cyfrowych.
ad_personalization_missing_or_invalid – w żądaniu nie ustawiono pola „ad_personalization” lub było ono nieprawidłowe. Pole „ad_personalization” jest wymagane w przypadku wszystkich żądań w ramach aktu o rynkach cyfrowych.
Zdarzenia reklamowe to podstawowe obiekty atrybucji aplikacji. Zawierają one te właściwości:
Ważne uwagi dotyczące zachowania odpowiedzi w zależności od zgody użytkownika:
Jeśli konwersja ma zgodę użytkownika na dane użytkownika w reklamach, a użytkownik wyraził zgodę na korzystanie z danych w różnych usługach w ustawieniach użytkownika Google, Google Ads odpowie jednym ostatnim kliknięciem we wszystkich swoich usługach CPS. Jeśli użytkownik nie wyraził zgody na korzystanie z niej w ramach ustawień użytkownika Google, Google Ads będzie odpowiadać wieloma ostatnimi kliknięciami w przypadku każdego CPS.
Jeśli konwersja obejmuje niektóre usługi Google, na które użytkownik wyraził zgodę na używanie w różnych usługach, ale nie obejmuje innych, Google Ads odpowie jednym ostatnim kliknięciem w przypadku usług, na które użytkownik wyraził zgodę na używanie w różnych usługach, ale wieloma ostatnimi kliknięciami w przypadku usług, na które użytkownik nie wyraził zgody na używanie w różnych usługach.
| Odpowiedź dotycząca śledzenia konwersji | |
|---|---|
ad_event_id |
Zawsze obecny tekst
Q2owS0VRancwZHk0QlJDdXVMX2U1TQ |
conversion_metric |
Zawsze obecny tekst Dane o konwersjach używane na potrzeby atrybucji. Początkowo będziemy obsługiwać 1 rodzaj danych o konwersjach. conversion |
timestamp |
Zawsze obecny liczba Sygnatura czasowa systemu UNIX, w której wystąpiło zdarzenie związane z reklamą, w sekundach z dokładnością do mikrosekund. Tej wartości należy używać w przypadku atrybucji ostatniego kliknięcia. 1432681913.123456 |
campaign_type |
Zawsze obecny tekst To pole określa typ kampanii, w której wystąpiło zdarzenie reklamowe. Możliwe wartości są podane poniżej. ACI ACE ACPRE Search Display Video Shopping Hotel Performance_Max Other ACI to skrót od App Campaign for Install (kampania promująca instalacje aplikacji). ACE to skrót od kampanii budujących zaangażowanie w aplikację. |
campaign_id |
Zawsze obecny liczba Numeryczny identyfikator kampanii, która wygenerowała zdarzenie reklamowe. Ta wartość jest gwarantowana jako unikalna. 123456789 |
campaign_name |
Zawsze obecny tekst Nazwa kampanii zdefiniowana przez reklamodawcę, która wygenerowała zdarzenie reklamy. Ta wartość nie jest gwarantowana jako unikalna. Occasional Gamers (Video) |
ad_type |
Zawsze obecny tekst Typ reklamy, która spowodowała zdarzenie reklamowe. Ta wartość może służyć do rozróżniania różnych typów zasobów reklamowych w ten sposób: Promowanie aplikacjiClickToDownload AppDeepLink AppDeepLinkContinue Unknown |
external_customer_id |
Zawsze obecny liczba Identyfikator reklamodawcy, który jest właścicielem kampanii, która wygenerowała zdarzenie reklamy. Ta wartość może służyć do rozróżniania kont Google Ads. 123456789 |
location |
Zawsze obecny liczba Kod identyfikacyjny lokalizacji geograficznej zdarzenia reklamowego. Aby zinterpretować kody lokalizacji, zapoznaj się z dokumentacją interfejsu Google Ads API. |
network_type |
Zawsze obecny tekst To pole określa sieć reklamową Google Ads, w której wystąpiło zdarzenie reklamowe. Możliwe wartości to: Search Display YouTube GoogleTv cross-network |
network_subtype |
Będzie to tekst To pole określa „podtyp” sieci reklamowej Google Ads, w której wystąpiło zdarzenie reklamowe. Możliwe wartości różnią się w zależności od głównego typu sieci. SzukajZwykła wyszukiwarka GoogleGoogleSearch SearchPartners WyświetlaczWydawcy w internecie mobilnymmGDN Google AdMob YouTubeSieć filmów w YouTubeYouTubeVideos YouTubeSearch VideoPartners GoogleTvSieć Google TV VideosGoogleTvVideos wiele sieci,Kampania Performance Max w wielu sieciachcross-network |
video_id |
Podawane tylko wtedy, gdy tekst Identyfikator filmu na YouTube powiązany ze zdarzeniem reklamowym. dQw4w9WgXcQ |
keyword |
Podawane tylko wtedy, gdy tekst Słowo kluczowe w sieci wyszukiwania powiązane ze zdarzeniem reklamowym. +food +delivery |
match_type |
Podawane tylko wtedy, gdy tekst Typ dopasowania słów kluczowych w sieci wyszukiwania. Ścisłee p b |
placement |
Podawane tylko wtedy, gdy tekst Miejsce docelowe powiązane ze zdarzeniem reklamy. mobileapp::1-343200656 |
ad_group_id |
Podawany tylko wtedy, gdy wartość liczba Identyfikator numeryczny grupy reklam, która wygenerowała zdarzenie reklamy. Ta wartość jest niepowtarzalna. To pole nie jest dostępne w przypadku zdarzeń reklamowych przypisanych do gbraid, które są przypisywane deterministycznie ( 123456789 |
ad_group_name |
Podawane tylko wtedy, gdy element tekst Nazwa grupy reklam zdefiniowana przez reklamodawcę, która wygenerowała zdarzenie reklamy. Ta wartość nie jest gwarantowana jako unikalna. To pole nie jest dostępne w przypadku zdarzeń reklamowych przypisanych do gbraid, które są przypisywane deterministycznie ( My App AdGroup |
asset_group_id |
Podawane tylko wtedy, gdy liczba Identyfikator numeryczny grupy plików, która wygenerowała zdarzenie reklamy. Ta wartość jest unikalna. 123456789 |
creative_id |
Podawana tylko wtedy, gdy wartość liczba Identyfikator numeryczny jednostki reklamowej kreacji, która wygenerowała zdarzenie reklamy. Ta wartość jest niepowtarzalna. 123456789 |
interaction_type |
To pole zawsze będzie miało wartość „zaangażowanie”. tekst |
is_deterministic |
Wskazuje, czy metoda atrybucji jest deterministyczna. Wartość logiczna true, false |
device_model |
Model urządzenia, na którym wystąpiło zdarzenie reklamowe. Ciąg znaków sm-s936w, sm-3936w |
os_version |
Główna wersja systemu operacyjnego, w którym wystąpiło zdarzenie reklamowe. Ciąg znaków 14, 12 |
country |
Dwuliterowy kod kraju, w którym wystąpiło zdarzenie reklamowe. Ciąg znaków CA, US |
city |
Miasto, w którym miało miejsce zdarzenie reklamowe. Ciąg znaków san jose, london |
region |
Stan lub prowincja, w której wystąpiło zdarzenie reklamowe. Ciąg znaków california, british columbia |
Przykładowe odpowiedzi
Przykład odpowiedzi dotyczącej konwersji deterministycznej:
{
"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
}Przykład odpowiedzi dotyczącej niedeterministycznej konwersji w 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
}Przykład odpowiedzi dotyczącej niedeterministycznej konwersji na Androidzie:
{
"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": []
}Przykład odpowiedzi dotyczącej konwersji na iOS lub Androidzie przypisanej przez parametr gbraid:
{
"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": [],
}Przykład odpowiedzi śledzenia konwersji, gdy żądanie zawierało błędy:
{
"ad_events": [],
"errors": ["INVALID_CURRENCY_CODE"],
"attributed": false
}Przykład negatywnej odpowiedzi śledzenia konwersji:
{
"ad_events": [],
"errors": [],
"attributed": false
}Odpowiedź śledzenia konwersji będzie zwracana w przypadku wszystkich żądań śledzenia konwersji.
Przykład odpowiedzi potwierdzającej śledzenie konwersji w przypadku użytkownika spoza Europejskiego Obszaru Gospodarczego 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": 123456789,
"ad_group_name": "My App AdGroup",
"asset_group_id": null,
"creative_id": null,
"timestamp": 1432681913.123456
}],
"errors": [],
"attributed": true,
"warnings": []
}Przykład odpowiedzi śledzenia konwersji z potwierdzeniem w przypadku użytkownika spoza Europejskiego Obszaru Gospodarczego 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": null,
"asset_group_id": null,
"creative_id": 123456789,
"timestamp": 1432681913.123456
}],
"errors": [],
"attributed": true,
"warnings": []
}Przykład odpowiedzi śledzenia konwersji potwierdzającej dla użytkownika spoza Europejskiego Obszaru Gospodarczego w przypadku 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": null,
"asset_group_id": null,
"creative_id": 123456789,
"timestamp": 1432681913.123456
}],
"errors": [],
"attributed": true,
"warnings": []
}Przykładowa odpowiedź śledzenia konwersji potwierdzająca konwersję użytkownika spoza Europejskiego Obszaru Gospodarczego w kampanii na 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": null,
"asset_group_id": null,
"creative_id": 123456789,
"timestamp": 1432681913.123456
}],
"errors": [],
"attributed": true,
"warnings": []
}Przykład odpowiedzi śledzenia konwersji z przypisaną konwersją, w której konwersja jest przypisana do interakcji z reklamami w Google Play i w wyszukiwarce, ale zgoda na korzystanie z danych w różnych usługach w celach określonych w art. 5 ust. 2 lit. b i c rozporządzenia o e-prywatności jest odrzucona w przypadku usług Google Play i wyszukiwarki:
{
"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
}Przykład odpowiedzi śledzenia konwersji z przypisaną konwersją, w której konwersja jest przypisywana zarówno do interakcji z reklamami w Google Play i wyszukiwarce, jak i do zgody na wykorzystanie danych w różnych usługach na podstawie art. 5 ust. 2 lit. b i c rozporządzenia o prywatności i łączności elektronicznej, która jest akceptowana między platformami usług Google Play i wyszukiwarki, jest podobny do obecnego sposobu działania konwersji:
{
"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
}Przykład odpowiedzi śledzenia konwersji z atrybucją, w której konwersja jest przypisywana do interakcji z reklamami w Google Play, wyszukiwarce i YouTube, a zgoda na wykorzystanie danych w różnych usługach zgodnie z punktami 5(2)(b) i 5(2)(c) jest akceptowana w przypadku usług CPS w Google Play i wyszukiwarce, ale odrzucana w przypadku usługi CPS w YouTube:
{
"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
}Żądanie atrybucji międzysieciowej
Gdy Google Ads odpowie na żądanie śledzenia konwersji, odbiorca interfejsu API musi powiadomić Google Ads o swojej decyzji dotyczącej atrybucji w wielu sieciach po zidentyfikowaniu ostatniego kliknięcia.
Żądanie atrybucji w różnych sieciach jest identyczne z pierwotnym żądaniem śledzenia konwersji, ale ma ścieżkę żądania:
/pagead/conversion/app/1.1/cross_network
i dodanie 2 wymaganych parametrów:
| Żądanie atrybucji międzysieciowej | |
|---|---|
ad_event_id |
Wymagany Lokalizacja: zapytanie Identyfikator |
attributed |
Wymagany Lokalizacja: zapytanie czy Google Ads otrzymało udział w konwersji od użytkownika interfejsu API. Może to być |
Przykład prawidłowego żądania atrybucji międzysieciowej:
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-8Prawidłowe żądanie atrybucji w różnych sieciach zawsze będzie otrzymywać ogólną odpowiedź 200 bez treści.