Пользовательский агент приложения
В рамках наших более широких усилий по борьбе со спамом мы разработали стандартизированную спецификацию для заголовка User-Agent, отправляемого аналитическим/рекламным продуктом от имени пользователя приложения. Заголовок User-Agent приложения может быть получен из нативного кода и соответствовать следующей спецификации:
name version (os_and_version; locale; device; build; Proxy)
Определение этих полей выглядит следующим образом:
| Компоненты пользовательского агента | |
|---|---|
| name | Название аналитического/рекламного продукта. ( Обратите внимание, что если пользовательский агент создается на стороне клиента, то в качестве Android// Specified by API consumer. iOS// Specified by API consumer. |
| version | Версия продукта для аналитики/рекламы. ( Android// Specified by API consumer. iOS// Specified by API consumer. |
| os_and_version | Операционная система и версия операционной системы, на которой работает приложение. ( AndroidString osAndVersion =
"Android " + Build.VERSION.RELEASE;iOSUIDevice *uid = [UIDevice currentDevice]; NSString *osAndVersion = [NSString stringWithFormat:@"%@ %@", [uid systemName], [uid systemVersion]]; |
| locale | Языковой тег IETF для устройства, использующий двухбуквенные коды языка и страны, разделённые нижним подчёркиванием. ( AndroidString locale = Locale.getDefault(); iOSNSString *locale = [[NSLocale currentLocale] localeIdentifier] |
| device | Название физического устройства, на котором запущен продукт для аналитики/рекламы. ( 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/" с последующим номером сборки операционной системы. ( 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]; } |
Добавляйте ; Proxy только в конец User-Agent приложения при его построении на стороне сервера. Если User-Agent приложения полностью строится на стороне клиента, исключите ; Proxy . Таким образом, User-Agent приложения может выглядеть следующим образом:
- 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)
Руководство по запросам отслеживания конверсий
Цель запросов на отслеживание конверсий — уведомить Google Ads о событии в приложении, которое следует отслеживать как конверсию и/или использовать для заполнения списка ремаркетинга, а также получить метаданные, описывающие любой клик, предшествовавший этому событию.
Все вызовы API осуществляются к домену www.googleadservices.com . Запросы на конверсию представляют собой POST запросы по протоколу HTTPS по следующему пути:
/pagead/conversion/app/version
Стандартный запрос на конвертацию приложения будет содержать следующие параметры для API конвертации приложений версии 1.1.
| Запрос на отслеживание конверсий | |
|---|---|
dev_token | Необходимый Местоположение: Запрос Уникальный статический токен разработчика, выдаваемый потребителю API. Z_eErE4DkvcKjDM1OVE4c4 |
link_id | Необходимый Местоположение: Запрос Идентификатор ссылки, связывающий токен разработчика потребителя API с конкретным приложением. 31FF8D67E5BB5DD5029DCC2734C2F884 |
app_event_type | Необходимый Местоположение: Запрос Название произошедшего события приложения. Это поле является перечислением и принимает только следующие значения: • first_open • session_start • in_app_purchase • view_item_list • view_item • view_search_results • add_to_cart • ecommerce_purchase • custom Событие |
app_event_name | Требуется при определенных условиях Местоположение: Запрос Название любого пользовательского события приложения, которое не принимается в поле level_achieved Level Achieved Это поле не должно содержать ни одного из значений, зарезервированных для |
app_event_data | Необязательный Местонахождение: Тело Дополнительные данные о событиях следует передавать в виде простого JSON-объекта, сопоставляющего строковые ключи со значениями. Допустимые значения — строки и массивы строк. {"level": 5, "attempts": 20} |
odm_info | Обязательно при использовании интегрированной системы измерения конверсий на iOS. Местоположение: Запрос Значение параметра запроса XYZr_AB8C-_zGtKjUhqtzPLeQ8lbJB5dADVR0tpZ9f-28sN5qN9GTZ_FztjL0OL FzgxUJDhZr8w6lwGxAwPcxSwR5orjWepZiVP7sRRoCiaHerR-1TP17eJKtazgeSg _CVEs13LllDTfrhVM8uWISqlg8dXobsLzmj8C7WrOlktHA5P_E23 |
id_type | Необходимый Тип идентификатора, передаваемый в поле Androidadvertisingid appsetid iOSidfa idfv |
rdid | Необходимый Местоположение: Запрос Допустимая строка UUID, представляющая собой необработанный идентификатор устройства. f10e1de2-e237-4f50-b6aa-843c45cc63d6 В случае отсутствия идентификатора устройства, например, идентификатора устройства пользователя ATT, не давшего согласия, установите его равным нулю. 00000000-0000-0000-0000-000000000000 |
ctry_c | Необходимый Местоположение: Запрос Двухбуквенный код страны по стандарту ISO, указывающий на страну, из которой была произведена конвертация. Это поле обязательно для включения измерения конверсии приложения, не зависящего от пользователя, на iOS и Android. US, IN |
eea | Требуется при определенных условиях Местоположение: Запрос Сфера действия ЕЭЗ .
|
ad_personalization | Требуется при определенных условиях Местоположение: Запрос Флаги для персонализированной рекламы
|
ad_user_data | Требуется при определенных условиях Местоположение: Запрос Флаг согласия на использование пользовательских данных в рекламных целях.
|
lat | Необходимый Местоположение: Запрос Ограничение статуса отслеживания рекламы для устройства.
|
app_version | Необходимый Местоположение: Запрос Текущая версия приложения. Ее следует стандартизировать следующим образом. AndroidpackageManager.getPackageInfo(packageName(), PackageManager.GET_META_DATA).versionName iOS[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"] 1.2.4 |
os_version | Необходимый Местоположение: Запрос Текущая версия операционной системы, на которой работает приложение. Она должна быть стандартизирована следующим образом. Androidandroid.os.Build.VERSION.RELEASE iOS[[UIDevice currentDevice] systemVersion] |
sdk_version | Необходимый Местоположение: Запрос Версия SDK, которая использовалась для измерения события. Поскольку она в основном используется для отладки, она должна точно соответствовать версии, опубликованной вместе с вашими релизами SDK. Если приложение не использует SDK, передайте то же значение, что и в 1.9.5r6 |
timestamp | Необходимый Местоположение: Запрос Временная метка UNIX, отражающая событие преобразования, в секундах с точностью до микросекунд. 1432681913.123456 |
fot | Необходимый Местоположение: Запрос Временная метка UNIX из соответствующего 1432681913.123456 |
value | Необязательный Местоположение: Запрос Денежная стоимость мероприятия, если таковая имеется. Эта информация всегда должна быть представлена в машиночитаемом формате с плавающей запятой, с десятичной точкой для разделения целой и дробной частей значения. 1.99 |
currency_code | Требуется при определенных условиях Местоположение: Запрос Код валюты ISO 4217 для параметра USD |
gclid | Требуется при определенных условиях Местоположение: Запрос Значение параметра запроса Cj0KEQjw0dy4BRCuuL_e5M |
market_referrer_gclid | Требуется при определенных условиях Местоположение: Запрос Значение параметра запроса BX3QojHp4mY5MrJtFM_d1u |
gclid_only_request | Требуется при определенных условиях Местоположение: Запрос Идентификатор для атрибуции на основе 1 |
gbraid | Требуется при определенных условиях Местоположение: Запрос Последнее значение ChEI8IixhgYQrufHkIjz3YWRARIzALev_G_O |
app_open_source | Требуется при определенных условиях Местоположение: Запрос Важно выявлять прямые ссылки на рекламные объявления или органические сессии в приложении. ad_click or organic |
User-Agent | Необходимый Местоположение: Заголовок Пользовательский агент приложения, как определено в предыдущем разделе. AdMob/7.10.1 (Android 6.0; en_US; SM-G900F; Build/MMB29M) |
X-Forwarded-For | Необходимый Местоположение: Заголовок Публичный IPv4 или IPv6 адрес устройства, на котором было зафиксировано событие. 216.58.194.174 |
Все запросы должны отправляться по протоколу HTTPS. Пинги, полученные по протоколу HTTP, будут отклонены.
Обратите внимание, что если тело запроса пустое (в случаях, когда в полезной нагрузке app_event_data не передаются подробные данные о событиях), наш сервер требует, чтобы вы явно установили заголовок Content-Length: 0 в своем запросе.
Кодирование данных события
Для параметра app_event_data используйте следующие соглашения для примитивных типов данных:
Плавать
- Используйте точку в качестве десятичного разделителя независимо от локализации приложения.
- Для представления денежных значений используйте двухзначную десятичную дробь. Например, 2,99.
- Не используйте экспоненциальную запись, например, 2E+9.
- Не используйте запятую для разделения групп цифр, например, 1 000 000.
- Допустимые примеры:
-
-0.5 -
2.99 -
1000000.123
-
Целое число
- Отправляйте только целые числа без десятичных знаков.
- Не используйте запятую для разделения групп цифр, например, 1 000 000.
- Допустимые примеры:
-
1000 -
-11 -
0
-
Дата
- Формат даты: гггг-мм-дд
-
yyyy= четырехзначный год, например, 2016 -
mm= двузначное число месяца, например, 09 для сентября -
dd= двузначное число дня, например, 23 означает 23-й день месяца.
-
- Всегда отправляйте указанное выше количество цифр, например, если отправляете значение dd для 5-го дня месяца, отправьте
05. - Допустимые примеры:
-
"2016-09-23" -
"1990-12-31"
-
- Формат даты: гггг-мм-дд
Отметка времени
- Формат времени: метка времени Unix/Epoch в секундах, определенная в часовом поясе UTC с точностью до микросекунд.
- Допустимые примеры:
-
1478713087за среду, 09 ноября 2016 г., 17:38:07 GMT -
1073513982.123000за среду, 07 января 2004 г., 22:19:42.123 GMT
-
Массивы
- Отправляйте только массивы примитивных значений (строки, числа и логические значения).
- Допустимые примеры:
-
[123, 456, 789] -
["abc"]
-
Образцы запросов
Примером первого открытого запроса к пакету SDK для измерения событий на устройстве (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
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Примером первого открытого запроса без пакета On Device Measurement: Event Data SDK для интегрированного измерения конверсии является:
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-8Примером запроса после установки пакета On Device Measurement: Event Data SDK для интегрированного измерения преобразований является:
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-8Примером первого открытого запроса без SDK для измерения событий на устройстве является:
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-8Примером первого открытого запроса на недетерминированное преобразование Android для ACAPI v1.1 является:
POST /pagead/conversion/app/1.1
?dev_token=Z_eErE4DkvcKjDM1OVE4c4
&link_id=31FF8D67E5BB5DD5029DCC2734C2F884
&app_event_type=first_open
&rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D
&id_type=appsetid
&eea=0
&ad_personalization=1
&ad_user_data=1
&lat=0
&app_version=1.2.4
&os_version=9.3.2
&sdk_version=1.9.5r6
×tamp=1432681913.123456
&ctry_c=IN
Host: www.googleadservices.com
User-Agent: MyAnalyticsCompany/1.0.0 (android 11; en-GB; RMX2040; Build/_; Proxy)
X-Forwarded-For: 216.58.194.174
Content-Type: application/json; charset=utf-8Примером допустимого запроса на отслеживание конверсий с нестандартным типом события и информацией о доходах является:
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"]}}Примером допустимого запроса на отслеживание конверсий с нестандартным типом события и информацией о доходах, для которой недоступен rdid (advertisingid) :
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"]}}Примером допустимого запроса на начало сессии является:
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-8Примером допустимого запроса на переатрибуцию начала сессии для сессии, которая началась с прямой ссылки 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-8Примером допустимого запроса на отслеживание конверсий для пользователя из ЕЭЗ, у которого получено согласие на обработку данных пользователя и отклонена персонализация рекламы, является:
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-8Руководство по отслеживанию конверсий
Ответ системы отслеживания конверсий имеет следующий формат:
{
"ad_events": [<ad event objects>],
"errors": [<error strings>],
"attributed": true|false
}
Массивы ad_events и errors могут быть пустыми.
Мы ожидаем, что ошибки будут представлены в виде машиночитаемых кодов ошибок, например, invalid_timestamp .
Коды ошибок
invalid_timestamp - Запрос не содержал действительной метки времени.
eea_missing_or_invalid - Либо в запросе не было задано поле "eea", либо он был недействительным.
ad_user_data_missing - Поле запроса "ad_user_data" не было установлено. Поле "ad_user_data" является обязательным для всех запросов DMA, входящих в область действия.
ad_user_data_invalid - Недопустимое значение запроса "ad_user_data". Поле "ad_user_data" является обязательным для всех запросов DMA, входящих в область действия.
ad_personalization_missing_or_invalid - Либо в запросе не было установлено поле "ad_personalization", либо он был недействительным. Поле "ad_personalization" является обязательным для всех запросов DMA, входящих в область действия.
Рекламные события являются основными объектами атрибуции приложений и будут содержать следующие свойства.
Важные замечания относительно поведения пользователя в ответ на запрос, зависящего от его согласия:
Если для конверсии требуется согласие пользователя на обработку данных, и пользователь дал согласие на использование данных в других контекстах в своих настройках Google, Google Ads ответит одним последним кликом по всем своим конверсиям. Если пользователь не дал согласия на использование данных в других контекстах в своих настройках Google, Google Ads ответит несколькими последними кликами для каждой конверсии отдельно.
Если конверсия включает определенные CPS в выбранное пользователем согласие на перекрестное использование, но не включает другие, Google Ads отреагирует одним последним кликом по всем CPS, для которых было предоставлено согласие на перекрестное использование, но несколькими последними кликами для каждого CPS отдельно, для тех CPS, для которых согласие на перекрестное использование не было предоставлено.
| Ответ на отслеживание конверсий | |
|---|---|
ad_event_id | Всегда присутствует нить Q2owS0VRancwZHk0QlJDdXVMX2U1TQ |
conversion_metric | Всегда присутствует нить Метрика конверсии, используемая для атрибуции. Первоначально мы будем поддерживать одну метрику конверсии. conversion |
timestamp | Всегда присутствует число Временная метка UNIX, определяющая момент появления объявления, в секундах с точностью до микросекунд. Это значение следует использовать для атрибуции по последнему клику. 1432681913.123456 |
campaign_type | Всегда присутствует нить В этом поле указывается тип кампании, которая привела к появлению рекламного события. Возможные значения следующие. ACI ACE ACPre Search Display Video Shopping Hotel Performance_Max Other ACI — это аббревиатура от App Campaign for Install (кампания по установке приложений). ACE — это аббревиатура от App Campaigns for Engagement (кампании по вовлечению пользователей в приложения). |
campaign_id | Всегда присутствует число Числовой идентификатор кампании, которая сгенерировала рекламное событие. Гарантируется уникальность этого значения. 123456789 |
campaign_name | Всегда присутствует нить Название кампании, заданное рекламодателем, которая привела к появлению рекламного объявления. Уникальность этого значения не гарантируется. Occasional Gamers (Video) |
ad_type | Всегда присутствует нить Тип объявления, который привел к рекламному событию. Это значение можно использовать для различения различных типов рекламного инвентаря следующим образом. Продвижение приложенияClickToDownload AppDeepLink AppDeepLinkContinue Unknown |
external_customer_id | Всегда присутствует число Идентификатор рекламодателя, которому принадлежит кампания, создавшая рекламное событие. Это значение можно использовать для различения аккаунтов Google Ads. 123456789 |
location | Всегда присутствует число Идентификационный код местоположения, определяющий географическое местоположение рекламного события. Для интерпретации кодов местоположения обратитесь к справочнику Google Ads API . |
network_type | Всегда присутствует нить В этом поле указывается рекламная сеть Google Ads, в которой произошло рекламное событие. Возможные значения следующие. Search Display YouTube GoogleTv cross-network |
network_subtype | Значение будет нить В этом поле будет указан «подтип» рекламной сети Google Ads, в которой произошло рекламное событие. Возможные значения различаются в зависимости от основного типа сети. ПоискОбычный поиск GoogleGoogleSearch SearchPartners ОтображатьИздатели мобильных веб-сайтовmGDN Google AdMob YouTubeСеть видеороликов YouTubeYouTubeVideos YouTubeSearch VideoPartners Google ТВСеть GoogleTV VideosGoogleTvVideos межсетевойPerformance Max в сетиcross-network |
video_id | Предоставляется только в том случае, если нить Идентификатор видео на YouTube, связанный с рекламным событием. dQw4w9WgXcQ |
keyword | Предоставляется только в том случае, если нить Ключевое слово, используемое в поисковой выдаче, связанное с рекламным событием. +food +delivery |
match_type | Предоставляется только в том случае, если нить Тип соответствия для поисковых ключевых слов. Точныйe p b |
placement | Предоставляется только в том случае, если нить Место размещения, связанное с рекламным событием. mobileapp::1-343200656 |
ad_group_id | Предоставляется только в том случае, если число Числовой идентификатор группы объявлений, созданной в результате рекламного события. Гарантируется уникальность этого значения. 123456789 |
ad_group_name | Предоставляется только в том случае, если нить Название группы объявлений, определенной рекламодателем, которая инициировала рекламное событие. Уникальность этого значения не гарантируется. My App AdGroup |
asset_group_id | Предоставляется только в том случае, если число Числовой идентификатор группы активов, создавшей рекламное событие. Это уникальное значение. 123456789 |
creative_id | Предоставляется только в том случае, если число Числовой идентификатор рекламного креатива, создавшего рекламное событие. Гарантируется уникальность этого значения. 123456789 |
interaction_type | В этой сфере всегда будет важна вовлеченность. нить |
is_deterministic | Указывает, является ли метод атрибуции детерминированным или нет. Логический true, false |
device_model | Модель устройства, создавшего рекламное событие. Нить sm-s936w, sm-3936w |
os_version | Основная версия операционной системы, которая вызвала появление рекламного объявления. Нить 14, 12 |
country | Двухбуквенный код страны, приведший к появлению рекламного объявления. Нить CA, US |
city | Город, в котором проходило рекламное мероприятие. Нить san jose, london |
region | Штат или провинция, организовавшие рекламную акцию. Нить california, british columbia |
Примеры ответов
Примером ответа на детерминированное преобразование является:
{
"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": null,
"ad_group_name": null,
"asset_group_id": null,
"is_deterministic": true,
"timestamp": 1234567.898765
}],
"errors": [],
"attributed": true
}Примером ответа на запрос о недетерминированном преобразовании в 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": null,
"ad_group_name": null,
"asset_group_id": null,
"is_deterministic": false,
},
"device_info": {
"device_model": "iphone12,3",
"os_version": "14"
},
"timestamp": 1432681918.123456
}],
"errors": [],
"attributed": true
}Примером ответа на запрос о недетерминированном преобразовании в Android является:
{
"ad_events": [
{
"ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ",
"conversion_metric": "conversion",
"interaction_type": "click",
"campaign_type": "ACI",
"campaign_id": 123456789,
"campaign_name": "My App Campaign",
"network_type": null,
"network_subtype": null,
"ad_group_id": null,
"ad_group_name": null,
"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": []
}Примером ответа на запрос о преобразовании iOS/Android, предоставленного 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",
"asset_group_id": null,
"is_deterministic": true,
"timestamp": 0.000000
}],
"errors": [],
"attributed": true,
"warnings": [],
}Примером ответа системы отслеживания конверсий в случае, если запрос содержал ошибки, является:
{
"ad_events": [],
"errors": ["INVALID_CURRENCY_CODE"],
"attributed": false
}Примером отрицательного ответа в системе отслеживания конверсий является:
{
"ad_events": [],
"errors": [],
"attributed": false
}Для всех запросов на отслеживание конверсий будет возвращен ответ с информацией о конверсиях.
Примером положительного ответа в системе отслеживания конверсий для пользователя, не являющегося гражданином страны ЕЭЗ, в рамках универсальной кампании для приложений является:
{
"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": "",
"asset_group_id": null,
"creative_id": null,
"timestamp": 1432681913.123456
}],
"errors": [],
"attributed": true,
"warnings": []
}Примером положительного ответа системы отслеживания конверсий для пользователя, не являющегося гражданином страны ЕЭЗ, в рамках поисковой кампании является:
{
"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",
"asset_group_id": null,
"creative_id": 123456789,
"timestamp": 1432681913.123456
}],
"errors": [],
"attributed": true,
"warnings": []
}Примером положительного ответа системы отслеживания конверсий для пользователя, не являющегося гражданином страны ЕЭЗ, в рамках рекламной кампании в контекстно-медийной сети является:
{
"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",
"asset_group_id": null,
"creative_id": 123456789,
"timestamp": 1432681913.123456
}],
"errors": [],
"attributed": true,
"warnings": []
}Примером положительного ответа в системе отслеживания конверсий для пользователя, не являющегося гражданином страны ЕЭЗ, в рамках рекламной кампании на 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",
"asset_group_id": null,
"creative_id": 123456789,
"timestamp": 1432681913.123456
}],
"errors": [],
"attributed": true,
"warnings": []
}Примером ответа на отслеживание конверсий с привязкой к действиям является ситуация, когда конверсия привязывается к взаимодействиям с рекламой в Play Store и Search, но согласие на перекрестное использование в соответствии с пунктами 5(2)(b) + 5(2)(c) между платформами отслеживания конверсий Play и Search отклонено:
{
"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": "",
"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": null,
"ad_group_name": "",
"asset_group_id": null,
"creative_id": null,
"timestamp": 1432681913.123456
}
],
"errors": [],
"warnings": [],
"attributed": true
}Примером ответа на отслеживание конверсий, где конверсия приписывается как взаимодействиям с рекламой в Play + Search, так и согласию на перекрестное использование в соответствии с пунктами 5(2)(b) + 5(2)(c) между CPS Play + Search, является поведение, аналогичное сегодняшнему поведению конверсий:
{
"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": "",
"asset_group_id": null,
"creative_id": null,
"timestamp": 1432681913.123456
}
],
"errors": [],
"warnings": [],
"attributed": true
}Примером ответа на отслеживание конверсий с привязкой к определенным параметрам является взаимодействие с рекламой в Play, Поиске и YouTube, при этом согласие на перекрестное использование в соответствии с пунктами 5(2)(b) + 5(2)(c) принимается между системами отслеживания конверсий Play и Поиска, но отклоняется системой отслеживания конверсий 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": null,
"ad_group_name": "",
"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": null,
"ad_group_name": "",
"asset_group_id": null,
"creative_id": null,
"timestamp": 1432681913.123456
}
],
"errors": [],
"warnings": [],
"attributed": true
}Запрос на межсетевую атрибуцию
Когда Google Ads положительно отвечает на запрос отслеживания конверсий, пользователь API должен уведомить Google Ads о своем решении по межсетевой атрибуции после определения последнего клика.
Запрос на межсетевую атрибуцию идентичен исходному запросу на отслеживание конверсий, но имеет следующий путь запроса:
/pagead/conversion/app/1.1/cross_network
и добавление двух необходимых параметров:
| Запрос на межсетевую атрибуцию | |
|---|---|
ad_event_id | Необходимый Местоположение: Запрос Идентификатор |
attributed | Необходимый Местоположение: Запрос Получил ли Google Ads вознаграждение за конверсию от пользователя API. Либо |
Примером допустимого запроса на атрибуцию в межсетевом взаимодействии является:
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-8При корректном запросе на атрибуцию в разных сетях всегда будет получен стандартный ответ 200 без тела ответа.