Агент пользователя приложения
В рамках борьбы со спамом мы разработали стандартную спецификацию для заголовка User-Agent, который отправляется продуктом для аналитики или рекламы от имени пользователя приложения. Агент пользователя приложения можно получить из нативного кода, чтобы соблюдать следующие требования:
name version (os_and_version; locale; device; build; Proxy)
Ниже приведено описание этих полей.
| Компоненты агента пользователя | |
|---|---|
| name | Название продукта для аналитики или рекламы. ( Обратите внимание, что если строка user agent создается на стороне клиента, то вместо 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 Рекламу о событиях в приложении, которые следует отслеживать как конверсии и/или использовать для заполнения списка ремаркетинга, а также получать метаданные, описывающие клик, который предшествовал событию.
Все вызовы API выполняются в домене www.googleadservices.com. Запросы конверсий – это запросы POST, отправляемые по протоколу HTTPS по следующему пути:
/pagead/conversion/app/version
Стандартный запрос конверсии в приложении будет содержать следующие параметры для App Conversion 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 используйте следующие соглашения для примитивных типов данных:
Float
- Использовать точку в качестве десятичного разделителя независимо от локализации приложения
- Для денежных значений используйте десятичные дроби с двумя знаками после запятой, например 2.99.
- Не используйте экспоненциальную запись, например 2E+9.
- Не используйте запятую для разделения групп цифр, например: 1 000 000
- Примеры допустимых значений:
-0.52.991000000.123
Целое число
- Отправляйте только целые числа без десятичных знаков.
- Не используйте запятую для разделения групп цифр, например 1,000,000.
- Примеры допустимых значений:
1000-110
Дата
- Формат даты: ГГГГ-ММ-ДД.
yyyy– год (четыре цифры), например 2016.mm– месяц в виде двух цифр, например 09 для сентября;dd– день месяца в виде двузначного числа, например 23 для 23-го числа месяца.
- Всегда указывайте количество цифр, приведенное выше. Например, если вы отправляете значение для dd для пятого дня месяца, укажите
05. - Примеры допустимых значений:
"2016-09-23""1990-12-31"
- Формат даты: ГГГГ-ММ-ДД.
Временная метка
- Формат времени: Unix-время в секундах, определенное в часовом поясе UTC с точностью до микросекунд.
- Примеры допустимых значений:
1478713087для Wed, 09 Nov 2016 17:38:07 GMT1073513982.123000для среды, 7 января 2004 г., 22:19:42.123 GMT
Массивы
- Отправлять только массивы примитивных значений (строк, чисел и логических значений).
- Примеры допустимых значений:
[123, 456, 789]["abc"]
Примеры запросов
Пример запроса первого открытия с 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
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 for Integrated Conversion Measurement:
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Пример запроса при первом открытии без 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Пример запроса на первый запуск для недетерминированной конверсии Android в ACAPI версии 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-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Пример действительного запроса session start reattribution для сеанса, начавшегося по ссылке на контент 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 Реклама будет отвечать одним последним кликом для всех своих систем атрибуции. Если пользователь не дал согласия на перекрестное использование в настройках аккаунта Google, Google Реклама будет отвечать несколькими последними кликами на основе CPS.
Если конверсия включает определенные сервисы Google, для которых пользователь предоставил согласие на перекрестное использование, но не включает другие, Google Реклама будет отвечать одним последним кликом для сервисов, для которых предоставлено согласие на перекрестное использование, и несколькими последними кликами для сервисов, для которых такое согласие не предоставлено.
| Ответ отслеживания конверсий | |
|---|---|
ad_event_id |
Присутствует всегда string
Q2owS0VRancwZHk0QlJDdXVMX2U1TQ |
conversion_metric |
Присутствует всегда string Показатель конверсии, используемый для атрибуции. На начальном этапе будет поддерживаться один показатель конверсий. conversion |
timestamp |
Присутствует всегда число Временная метка UNIX, показывающая время события объявления в секундах с точностью до микросекунд. Это значение следует использовать для атрибуции по последнему клику. 1432681913.123456 |
campaign_type |
Присутствует всегда string В этом поле указывается тип кампании, в которой произошло событие объявления. Возможные значения: ACI ACE ACPRE Search Display Video Shopping Hotel Performance_Max Other ACI – это аббревиатура, обозначающая кампанию, ориентированную на установку приложений. ACE – это аббревиатура, обозначающая кампании, ориентированные на взаимодействие с приложением. |
campaign_id |
Присутствует всегда число Числовой идентификатор кампании, в которой произошло событие объявления. Это значение гарантированно уникально. 123456789 |
campaign_name |
Присутствует всегда string Название кампании, заданной рекламодателем, в которой произошло событие, связанное с объявлением. Уникальность этого значения не гарантируется. Occasional Gamers (Video) |
ad_type |
Присутствует всегда string Тип объявления, которое привело к событию объявления. Это значение можно использовать, чтобы различать разные типы инвентаря. Продвижение приложенийClickToDownload AppDeepLink AppDeepLinkContinue Unknown |
external_customer_id |
Присутствует всегда число Идентификатор рекламодателя, которому принадлежит кампания, вызвавшая событие. Это значение можно использовать для различения аккаунтов Google Рекламы. 123456789 |
location |
Присутствует всегда число Идентификатор местоположения для географического местоположения события объявления. Чтобы понять, что означают коды местоположений, ознакомьтесь с справочной документацией по Google Ads API. |
network_type |
Присутствует всегда string В этом поле указывается рекламная сеть Google Рекламы, в которой произошло событие объявления. Возможные значения: Search Display YouTube GoogleTv cross-network |
network_subtype |
Значение string В этом поле указывается подтип рекламной сети Google Рекламы, в которой произошло событие объявления. Возможные значения зависят от основного типа сети. ПоискОбычный поиск GoogleGoogleSearch SearchPartners ЭкранИздатели мобильных сайтовmGDN Google AdMob YouTubeСеть видео YouTubeYouTubeVideos YouTubeSearch VideoPartners GoogleTvСеть видео Google TVGoogleTvVideos межсетевойКампании с максимальной эффективностью в нескольких сетяхcross-network |
video_id |
Предоставляется только в том случае, если string Идентификатор видео YouTube, связанного с событием объявления. dQw4w9WgXcQ |
keyword |
Предоставляется только в том случае, если string Ключевое слово, связанное с событием. +food +delivery |
match_type |
Предоставляется только в том случае, если string Тип соответствия ключевых слов для поисковой сети. Точноеe p b |
placement |
Предоставляется только в том случае, если string Место размещения, связанное с событием объявления. mobileapp::1-343200656 |
ad_group_id |
Предоставляется только в том случае, если число Числовой идентификатор группы объявлений, связанной с событием. Это значение гарантированно уникально. Это поле не предоставляется для событий рекламы, атрибуция которых выполнена с помощью gbraid и является детерминированной ( 123456789 |
ad_group_name |
Предоставляется только в том случае, если для параметра string Название группы объявлений, заданной рекламодателем, в которой было создано объявление, вызвавшее событие. Уникальность этого значения не гарантируется. Это поле не предоставляется для событий рекламы, атрибуция которых выполнена с помощью gbraid и является детерминированной ( My App AdGroup |
asset_group_id |
Предоставляется только в том случае, если число Числовой идентификатор группы объектов, которая создала событие объявления. Это уникальное значение. 123456789 |
creative_id |
Указывается только в том случае, если значение число Числовой идентификатор рекламного блока, связанного с событием объявления. Это значение гарантированно уникально. 123456789 |
interaction_type |
В этом поле всегда будет указано "Вовлеченность". string |
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": 123456789,
"ad_group_name": "My App AdGroup",
"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": 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
}Пример ответа для недетерминированной конверсии на устройстве 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": 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": []
}Пример ответа для конверсии в 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,
"ad_group_id": null,
"ad_group_name": 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": 123456789,
"ad_group_name": "My App AdGroup",
"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": null,
"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": null,
"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": null,
"asset_group_id": null,
"creative_id": 123456789,
"timestamp": 1432681913.123456
}],
"errors": [],
"attributed": true,
"warnings": []
}Пример ответа с отслеживанием атрибутированных конверсий, в котором конверсия приписывается взаимодействиям с объявлениями в Google Play и Поиске, но согласие на перекрестное использование данных между CPS Google Play и Поиска отклонено в соответствии с пунктами 5(2)(б) и 5(2)(в):
{
"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
}Пример ответа отслеживания конверсий с атрибуцией, в котором конверсия приписывается взаимодействиям с объявлениями в Google Play и Поиске, а согласие на перекрестное использование по пунктам 5(2)(б) и 5(2)(в) принято между поставщиками услуг Google Play и Поиска, аналогичен текущему поведению конверсий:
{
"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
}Пример ответа отслеживания конверсий с атрибуцией, в котором конверсия приписывается взаимодействиям с объявлениями в Google Play, поисковой сети и на YouTube, а согласие на перекрестное использование по пунктам 5(2)(б) и 5(2)(в) принято между поставщиками согласия для Google 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": 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
}Запрос на атрибуцию для нескольких сетей
Если Google Реклама положительно отвечает на запрос отслеживания конверсий, потребитель API должен уведомить Google Рекламу о своем решении по многоканальной атрибуции после определения последнего клика.
Межсетевой запрос атрибуции идентичен исходному запросу на отслеживание конверсий, но имеет следующий путь:
/pagead/conversion/app/1.1/cross_network
и добавление двух обязательных параметров:
| Запрос на атрибуцию для нескольких сетей | |
|---|---|
ad_event_id |
Обязательно Местоположение: запрос Идентификатор |
attributed |
Обязательно Местоположение: запрос Получила ли Google Реклама ценность конверсии от потребителя 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 без тела.