Отслеживание конверсий приложений и ремаркетинг — спецификации запросов/ответов

Пользовательский агент приложения

В рамках наших более масштабных усилий по борьбе со спамом мы разработали стандартизированную спецификацию для заголовка User-Agent, отправляемого аналитическим/рекламным продуктом от имени пользователя приложения. User-Agent приложения может быть получен из нативного кода в соответствии со следующей спецификацией:

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

Определение этих полей следующее:

Компоненты User-Agent
name

Название аналитического/рекламного продукта. ( Google AdMob )

Обратите внимание, что если пользовательский агент создается на стороне клиента, name должно быть идентификатором пакета клиентского приложения.


Андроид
// Specified by API consumer.

iOS
// Specified by API consumer.
version

Версия продукта аналитики/рекламы. ( 7.10.1 )


Андроид
// Specified by API consumer.

iOS
// Specified by API consumer.
os_and_version

Операционная система и версия операционной системы, на которой работает приложение. ( Android 6.0 )


Андроид
String osAndVersion =
    "Android " + Build.VERSION.RELEASE;

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

Тег локали IETF для устройства, использующий двухбуквенный код языка и страны, разделенный подчеркиванием. ( en_US )


Андроид
String locale = Locale.getDefault();

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

Название физического устройства, на котором запущен аналитический/рекламный продукт. ( iPhone9,1 )


Андроид
String device = Build.MODEL;

iOS
@import Darwin.sys.sysctl;

NSString *device(void) {
  size_t bufferSize = 64;
  NSMutableData *buffer =
    [[NSMutableData alloc]
      initWithLength:bufferSize];
  int status =
    sysctlbyname("hw.machine",
      buffer.mutableBytes,
      &bufferSize, NULL, 0);
  if (status != 0) {
    return nil;
  }
  return [[NSString alloc]
    initWithCString:buffer.mutableBytes
    encoding:NSUTF8StringEncoding];
}
build

«Build/», за которым следует номер сборки операционной системы. ( Build/13D15 )


Андроид
String build = "Build/" + Build.ID;

iOS
@import Darwin.sys.sysctl;

NSString *build(void) {
  size_t bufferSize = 64;
  NSMutableData *buffer =
    [[NSMutableData alloc]
      initWithLength:bufferSize];
  int status =
    sysctlbyname("kern.osversion",
      buffer.mutableBytes,
      &bufferSize, NULL, 0);
  if (status != 0) {
    return nil;
  }
  return [[NSString alloc]
    initWithCString:buffer.mutableBytes
    encoding:NSUTF8StringEncoding];
}

Добавляйте ; Proxy только в конец User-Agent приложения при создании серверного 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
Где version — предполагаемая версия API отслеживания конверсий. В настоящее время единственной допустимой версией является 1.0 .

Стандартный запрос на конвертацию приложения будет содержать следующие параметры.

Запрос на отслеживание конверсий
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

Событие first_open всегда следует отправлять для атрибуции установок, а событие session_start — для реатрибуции сеансов. Используйте in_app_purchase для покупок, совершённых через собственный магазин приложений; ecommerce_purchase — для всех остальных покупок.

app_event_name

Требуется при определенных условиях


Местоположение: Запрос


Имя любого пользовательского события приложения, которое не принимается в поле app_event_type . Это поле должно содержать от 1 до 64 символов Unicode (в кодировке UTF-8). Это поле обязательно для заполнения, если app_event_type custom .

level_achieved
Level Achieved

Это поле не должно содержать ни одного значения, зарезервированного для app_event_type . Если используется зарезервированное имя события, API вернет ошибку APP_EVENT_NAME_RESERVED_VALUE .

app_event_data

Необязательный


Расположение: Тело


Пересылайте любые дополнительные расширенные данные о событиях в виде простого JSON-объекта, сопоставляющего строковые ключи со значениями. Допустимые значения: строки и массивы строк.

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

Необходимый


Местоположение: Запрос


Допустимая строка UUID, представляющая необработанный идентификатор устройства.

f10e1de2-e237-4f50-b6aa-843c45cc63d6

Если идентификатор устройства отсутствует, например, идентификатор устройства от несогласованного пользователя ATT, установите его равным нулю.

00000000-0000-0000-0000-000000000000
id_type

Необходимый


Местоположение: Запрос


Тип идентификатора, хранящегося в поле rdid . В будущем мы можем принять больше значений, но на данный момент мы будем поддерживать следующие.


Андроид

advertisingid

iOS

idfa
eea

Требуется при определенных условиях


Местоположение: Запрос


Область действия ЕЭЗ .

0: Европейские правила не распространяются на этого пользователя и конверсию

1: К данному пользователю и данному преобразованию применяются европейские нормы. Например, если пользователь находится в ЕЭЗ , он подпадает под действие применимых европейских норм.


*Required to be sent when the value is known.

ad_personalization

Требуется при определенных условиях


Местоположение: Запрос


Флаги для персонализированной рекламы

0: Конечный пользователь отклонил согласие на персонализацию рекламы

1: Конечный пользователь дал согласие на персонализацию рекламы


*Required to be sent when the value is known.

ad_user_data

Требуется при определенных условиях


Местоположение: Запрос


Флаг согласия на использование данных пользователя в рекламных целях

0: Пользователь отклонил согласие на передачу данных о пользователе в Google для рекламных целей.

1: Пользователь дал согласие на передачу данных о пользователе в Google для рекламных целей.


*Required to be sent when the value is known.

lat

Необходимый


Местоположение: Запрос


Статус ограничения отслеживания рекламы для устройства.

  • 0 : Пользователь не выбрал ограничение отслеживания рекламы.
  • 1 : Пользователь решил ограничить отслеживание рекламы.

app_version

Необходимый


Местоположение: Запрос


Текущая версия приложения. Её следует стандартизировать следующим образом.


Андроид

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

iOS

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

1.2.4
os_version

Необходимый


Местоположение: Запрос


Текущая версия операционной системы хоста приложения. Её следует стандартизировать следующим образом.


Андроид

android.os.Build.VERSION.RELEASE

iOS

[[UIDevice currentDevice] systemVersion]
sdk_version

Необходимый


Местоположение: Запрос


Версия SDK, измеренная в результате события. Поскольку эта версия используется в основном для отладки, она должна точно соответствовать версии выпуска, опубликованной вместе с вашими выпусками SDK. Если приложение не использует SDK, передайте то же значение, что и app_version .

1.9.5r6
timestamp

Необходимый


Местоположение: Запрос


Временная метка UNIX, указывающая момент события преобразования, в секундах с точностью до микросекунд.

1432681913.123456
value

Необязательный


Местоположение: Запрос


Денежная стоимость события, если таковая имеется. Она всегда должна быть представлена в машиночитаемом формате с плавающей запятой, используя десятичную точку для разделения целой и дробной частей значения.

1.99
currency_code

Требуется при определенных условиях


Местоположение: Запрос


Код валюты ISO 4217 для параметра value . Это поле обязательно для заполнения, если параметр value указан и не является пустым .

USD
gclid

Требуется при определенных условиях


Местоположение: Запрос


Значение параметра запроса gclid из URL-адреса глубокой ссылки, открывшей приложение.

Cj0KEQjw0dy4BRCuuL_e5M
market_referrer_gclid

Требуется при определенных условиях


Местоположение: Запрос


Значение параметра запроса gclid из URL-адреса глубокой ссылки, полученное из значения install_referrer через API Play Install Referrer .

BX3QojHp4mY5MrJtFM_d1u
gclid_only_request

Требуется при определенных условиях


Местоположение: Запрос


Идентификатор для атрибуции на основе gclid в сценариях, когда rdid (advertisingid) not или содержит все zeroes И присутствует либо gclid , либо market_referrer_gclid .

1
gbraid

Требуется при определенных условиях


Местоположение: Запрос


Значение gbraid последнего посещения, отправленное через URL-адрес глубинной ссылки, открывшей приложение. Обратите внимание, что это значение необходимо кэшировать в приложении, чтобы его можно было отправлять вместе с будущими конверсиями, которые будут происходить в приложении.

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 в вашем запросе.

Образец запроса

Пример допустимого запроса на отслеживание конверсий с нестандартным типом события и информацией о доходе :

POST /pagead/conversion/app/1.0
       ?dev_token=Z_eErE4DkvcKjDM1OVE4c4
       &link_id=31FF8D67E5BB5DD5029DCC2734C2F884
       &app_event_type=in_app_purchase
       &rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D
       &id_type=idfa
       &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
       &timestamp=1432681913.123456
       &value=1.99
       &currency_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.0
       ?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
       &timestamp=1432681913.123456
       &value=1.99
       &currency_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.0
       ?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
       &timestamp=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.0
       ?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
       &timestamp=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.0
       ?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
       &timestamp=1432681913.123456
       &value=1.99
       &currency_code=USD
Host: www.googleadservices.com
User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy)
X-Forwarded-For: 216.58.194.174
Content-Type: application/json; charset=utf-8

Кодирование данных событий

Для параметра тела app_event_data используйте следующие соглашения для примитивных типов данных:

  • Плавать

    • Использовать точку в качестве десятичного разделителя независимо от локализации приложения.
    • Для представления денежных значений используйте двузначную десятичную точность. Например, 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 на среду, 9 ноября 2016 г., 17:38:07 по Гринвичу
      • 1073513982.123000 на среду, 7 января 2004 г., 22:19:42.123 GMT
  • Массивы

    • Отправлять только массивы примитивных значений (строки, числа и логические значения)
    • Допустимые примеры:
      • [123, 456, 789]
      • ["abc"]

Ответ отслеживания конверсий

Ответ отслеживания конверсий имеет следующий формат:

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

Массивы ad_events и error могут быть пустыми.

Мы ожидаем, что ошибки будут иметь машиночитаемые коды ошибок, например 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 Реклама ответит одним последним кликом по всем своим CPS. Если пользователь не дал согласия на перекрёстное использование в настройках Google, Google Реклама ответит несколькими последними кликами по каждому CPS.

Если конверсия включает определенные CPS в выбранном пользователем согласии на перекрестное использование, но не включает другие, Google Ads отреагирует одним последним кликом по CPS, которым предоставлено согласие на перекрестное использование, но несколькими последними кликами на основе CPS для тех CPS, которым не предоставлено согласие на перекрестное использование.

Ответ отслеживания конверсий
ad_event_id

Всегда присутствует


нить


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 Рекламы.

123456789
location

Всегда присутствует


число


Идентификационный код местоположения, указывающий географическое положение события показа рекламы. Чтобы интерпретировать коды местоположения, обратитесь к справочнику Google Ads API .

network_type

Всегда присутствует


нить


Это поле определяет рекламную сеть Google Ads, в которой произошло событие показа рекламы. Возможные значения:

Search
Display
YouTube
GoogleTv
cross-network
network_subtype

Будет иметь null , если campaign_typeACI или ACE , а network_typeDisplay .


нить


В этом поле указывается «подтип» рекламной сети Google Ads, в которой произошло событие показа объявления. Возможные значения зависят от типа основной сети.


Обычный поиск Google
GoogleSearch
Партнеры поиска Google
SearchPartners

Отображать

Издатели мобильных веб-сайтов
mGDN
Издатели приложений
Google AdMob

Ютуб

Сеть видео YouTube
YouTubeVideos
Поисковая сеть YouTube
YouTubeSearch
Видеопартнеры
VideoPartners

GoogleTV

Сеть GoogleTV Videos
GoogleTvVideos

кросс-сетевой

Максимальная производительность кросс-сети
cross-network
video_id

Предоставляется только в том случае, если network_typeYouTube , а campaign_typeне ACI и ACE .


нить


Идентификатор видео YouTube, связанный с рекламным событием.

dQw4w9WgXcQ
keyword

Предоставляется только в том случае, если network_typeSearch , а campaign_typeне ACI и ACE .


нить


Ключевое слово поиска, связанное с рекламным событием.

+food +delivery
match_type

Предоставляется только в том случае, если network_typeSearch , а campaign_typeне ACI и ACE .


нить


Тип соответствия для ключевых слов поиска.

Точный
e
Фраза
p
Широкий
b
placement

Предоставляется только в том случае, если network_typeDisplay , а campaign_typeне ACI и ACE .


нить


Место размещения, связанное с рекламным событием.

mobileapp::1-343200656
ad_group_id

Предоставляется только в том случае, если campaign_type не имеет Performance_Max .


число


Числовой идентификатор группы объявлений, созданной в результате события объявления. Это значение гарантированно уникально.

123456789
ad_group_name

Предоставляется только в том случае, если campaign_typeACI , ACE или ACPRE .


нить


Название группы объявлений, определённое рекламодателем, в которой произошло событие показа рекламы. Это значение не гарантирует уникальность.

My App AdGroup
creative_id

Предоставляется только в том случае, если campaign_type не является ACI , ACE , ACPRE или Performance_Max .


число


Числовой идентификатор рекламного блока, создавшего событие. Это значение гарантированно уникально.

123456789
interaction_type

Эта сфера всегда будет связана с вовлеченностью.


нить

Примеры ответов

Пример ответа отслеживания конверсий, если запрос содержал ошибки:

{
  "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": "",
    "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",
    "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",
    "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",
    "creative_id": 123456789,
    "timestamp": 1432681913.123456
  }],
  "errors": [],
  "attributed": true,
  "warnings": []
}
{
  "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": "",
    "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": "",
    "creative_id": null,
    "timestamp": 1432681913.123456
  },
  ],
  "errors": [],
  "warnings": [],
  "attributed": true
}
{
  "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": "",
    "creative_id": null,
    "timestamp": 1432681913.123456
  },
  ],
  "errors": [],
  "warnings": [],
  "attributed": true
}
{
  "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": "",
    "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": "",
    "creative_id": null,
    "timestamp": 1432681913.123456
  },
  ],
  "errors": [],
  "warnings": [],
  "attributed": true
}


Запрос на межсетевую атрибуцию

Когда Google Ads отвечает утвердительно на запрос отслеживания конверсий, потребитель API должен уведомить Google Ads о своем решении по кросс-сетевой атрибуции после определения последнего клика.

Запрос на межсетевую атрибуцию идентичен исходному запросу отслеживания конверсий, но с путем запроса:

/pagead/conversion/app/1.0/cross_network

и добавление двух обязательных параметров:

Запрос на межсетевую атрибуцию
ad_event_id

Необходимый


Местоположение: Запрос


Идентификатор ad_event_id из события рекламы, связанного с атрибуцией в предыдущем запросе.

attributed

Необходимый


Местоположение: Запрос


Получил ли Google Ads кредит за конверсию, совершенную потребителем API. Значение: 0 или 1 .

Пример допустимого запроса на кросс-сетевую атрибуцию:

POST /pagead/conversion/app/1.0/cross_network
       ?dev_token=Z_eErE4DkvcKjDM1OVE4c4
       &link_id=31FF8D67E5BB5DD5029DCC2734C2F884
       &app_event_type=custom
       &app_event_name=level_achieved
       &rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D
       &id_type=idfa
       &lat=0
       &app_version=1.2.4
       &os_version=9.3.2
       &sdk_version=1.9.5r6
       &timestamp=1432681913.123456
       &value=1.99
       &currency_code=USD
       &ad_event_id=Q2owS0VRancwZHk0QlJDdXVMX2U1TQ
       &attributed=1
Host: www.googleadservices.com
User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy)
X-Forwarded-For: 216.58.194.174
Content-Type: application/json; charset=utf-8

Допустимый запрос на кросс-сетевую атрибуцию всегда получит общий ответ 200 без тела ответа.