ibiza
CPM · CTR …
/

Макросы ссылок и постбэк: AppsFlyer, AppMetrica, myTracker

≈ 11 мин чтения · обновлено

Чтобы MMP атрибутировал установку к показу в Ibiza, в ссылку объявления вставляют макросы — {click_id}, {gaid}, {bundle} и другие. Значения подставляются один раз, когда платформа собирает ответ на ставку: в ссылке, которую получит площадка, фигурных скобок уже нет. Здесь — таблица всех 23 макросов с примерами, готовые шаблоны для AppsFlyer, AppMetrica и myTracker, настройка постбэка и разбор частых ошибок.

Где в кабинете ставятся ссылки

Ссылки задаются в карточке объявления (раздел «Объявления»), вкладка с основными полями:

Поле в интерфейсе Что это Когда используется
«Целевая ссылка (click target)» Куда ведет клик: стор или трекинговая ссылка MMP Всегда на in-app трафике; на web — если не задан Landing URL
«Landing URL (web)» Посадочная страница для web-инвентаря Только на web-запросах
«Pixel клика (clicktracker)» Ваш дополнительный пиксель клика Вызывается при клике вместе с трекером платформы
«Pixel показа (imptracker)» Ваш пиксель показа Вызывается при показе вместе с пикселем платформы

Макросы подставляются во все четыре поля, а также в HTML-разметку HTML5-креатива. Кнопка «Макросы» рядом с полем открывает список «Доступные макросы» — клик по токену копирует его.

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

Как считается клик и куда попадает пользователь

Трекеры клика — и платформы, и ваш «Pixel клика (clicktracker)» — это пиксели: на запрос они отвечают прозрачной картинкой 1×1, а не редиректом. Пользователя ведет «Целевая ссылка» (на web — «Landing URL (web)», если задан). Исключение — ${CLICK_URL} в HTML5: это ссылка клика с переадресацией, см. ниже.

Формат Как засчитывается клик Куда уходит пользователь
Баннер из шаблона платформы Скрипт креатива вызывает все трекеры клика «Целевая ссылка», через mraid.open в приложении или новую вкладку в браузере
Native Трекеры уходят площадке в link.clicktrackers, она вызывает их при клике link.url = «Целевая ссылка»
Видео (VAST) ClickTracking ClickThrough = «Целевая ссылка»
HTML5 (своя разметка) Скрипт платформы вызывает трекеры при любом нажатии внутри креатива; ${CLICK_URL} засчитывает клик и сам Ссылка с ${CLICK_URL} — «Целевая ссылка»; ссылка на свой адрес — туда, куда она ведет; область без ссылки — «Целевая ссылка», если в разметке нет ${CLICK_URL}

Клик в HTML5-креативе: ${CLICK_URL}

${CLICK_URL} (или %%CLICK_URL%%) — ссылка клика платформы. Ставьте ее в href ссылки или кнопки, либо в window.open() / mraid.open() своего скрипта:

<a href="${CLICK_URL}">Установить</a>

В креативах из Google Web Designer, Adobe Animate и других инструментов с переменной clickTag задайте ее так: var clickTag = "${CLICK_URL}";.

При нажатии платформа засчитывает клик и переадресует пользователя на «Целевую ссылку» объявления (на web — «Landing URL (web)», если задан) с уже подставленными макросами: MMP получит {click_id}, {gaid} и остальные значения так же, как из шаблонного баннера.

  • Переадресация только на ссылку самого объявления. Адрес перехода задается полем «Целевая ссылка» и зашит в ссылку клика при ответе на ставку; передать в ${CLICK_URL} другой адрес нельзя. Чтобы вести на несколько разных страниц, ставьте в разметку прямые ссылки — клик по ним все равно засчитается.
  • Своя ссылка вместо ${CLICK_URL}. Можно ставить в href лендинг или трекинговую ссылку MMP напрямую (макросы в разметке подставятся): скрипт платформы засчитает клик при любом нажатии внутри креатива.
  • Переходом управляет креатив. Если в разметке есть ${CLICK_URL}, нажатие на область без ссылки засчитывается, но никуда не ведет — платформа не открывает лендинг сама, чтобы не открыть второе окно рядом с вашим window.open(clickTag). В креативе без ${CLICK_URL} нажатие на область без ссылки открывает «Целевую ссылку».
  • Клик не задваивается. Если нажатие на ссылку с ${CLICK_URL} засчитали и скрипт, и переадресация, платформа учтет один клик.
  • Ваш «Pixel клика (clicktracker)» срабатывает при любом нажатии внутри креатива, в том числе на ссылку с ${CLICK_URL}.

Пиксель показа и сигнал видимости добавляются в HTML5-креатив автоматически.

Полная таблица макросов

Список совпадает с тем, что подставляет платформа при ответе на ставку. Значения — примерные.

Токен Значение Пример
{gaid} Google Advertising ID устройства 38400000-8cf0-11bd-b23e-10b96e40000d
{adid} То же, что {gaid} — алиас для совместимости 38400000-8cf0-11bd-b23e-10b96e40000d
{gaid_sha1} SHA1 от GAID, hex в нижнем регистре 5b1f6c0d…e2a9 (40 символов)
{oaid} Open Advertising ID (Huawei и другие устройства без сервисов Google) a1b2c3d4-0000-4e5f-8a9b-0c1d2e3f4a5b
{oaid_sha1} SHA1 от OAID, hex в нижнем регистре 9e0f…41c7
{idfa} iOS Identifier for Advertising 6D92078A-8246-4BA4-AE5B-76104861E7DC
{idfa_sha1} SHA1 от IDFA, hex в нижнем регистре c3d1…07ab
{ip} IP-адрес устройства 95.104.12.34
{ua} User-Agent устройства Mozilla/5.0 (Linux; Android 13; …)
{timestamp} Unix-время в секундах (UTC), когда платформа собрала ответ на ставку с этим объявлением. Это не время клика: ссылка формируется до показа 1761210000
{click_id} Уникальный ID показанного объявления; тот же ID приходит в клик и в постбэк f3a9c1e2-7b4d-4c1a-9e8f-2d6b5a0c7e91
{ssp} Имя сети, откуда пришел запрос rustore
{publisher_id} publisher.id площадки из запроса OpenRTB 1
{site_id} site.id на web или app.id в приложениях; у части сетей пустой 1042
{bundle} Пакет приложения-площадки (app.bundle) com.example.news
{slot} Слот: imp.tagid, а если его нет — imp.id 3301564
{tag} imp.tagid — идентификатор тега плейсмента в сети; бывает пустым 3301564
{banner_id} ID объявления в Ibiza 8812
{group_id} ID группы объявлений 415
{campaign_id} ID кампании 55
{advertiser_id} ID рекламодателя 12
{experiment_id} ID A/B-эксперимента кампании; пусто вне эксперимента 3
{experiment_arm} Рука эксперимента: control или имя тестовой руки; пусто вне эксперимента ctr

Как устроены идентификаторы устройств и чем OAID отличается от GAID, разобрано в статьях про рекламный идентификатор и OAID. Что такое пакет приложения-площадки — в статье про bundle ID.

Правила подстановки

  • Пустое значение — пустой параметр. Если в запросе нет GAID, {gaid} превратится в пустую строку, а {gaid_sha1} — тоже в пустую (хеш пустой строки не подставляется).
  • Неизвестный токен вырезается. Любой {токен} из строчных латинских букв, цифр и _, которого нет в таблице, удаляется из ссылки. Редактор объявления предупреждает: «Неизвестные макросы: … — DSP их не подставит (уйдут пустыми)».
  • Регистр важен. {GAID} и {Click_ID} — не макросы платформы.
  • Для разбивки по площадкам используйте {bundle} и {slot}: {site_id} у части сетей не приходит. Если сеть не передает imp.tagid, {slot} вернет imp.id, а {tag} останется пустым.
  • Время — момент ставки, не клика. {timestamp} фиксируется при сборке ответа на ставку. Не передавайте его в поля времени клика или показа MMP (click_timestamp, click_time, created_at, ts): трекер сам фиксирует время, когда получает клик с устройства. В шаблонах помощника таких полей нет.

Шаблоны ссылок для MMP

В редакторе объявления есть помощник «Шаблон трекера»: выберите систему атрибуции, заполните ее параметры (App ID, Tracking ID и т. п.), и он соберет ссылки. Кнопка «Заполнить все три поля» проставит целевую ссылку и пиксели. Ниже — те же шаблоны, что в помощнике; значения в __ДВОЙНЫХ_ПОДЧЁРКИВАНИЯХ__ замените своими.

AppsFlyer

Целевая ссылка:

https://app.appsflyer.com/__APP_ID__?pid=__MEDIA_SOURCE__&clickid={click_id}&advertising_id={gaid}&idfa={idfa}&oaid={oaid}&af_siteid={slot}&af_sub1={publisher_id}&af_sub5={bundle}&c={campaign_id}&af_adset={group_id}&af_ad={banner_id}&af_ip={ip}&af_ua={ua}&af_click_lookback=7d

Pixel показа:

https://impression.appsflyer.com/__APP_ID__?pid=__MEDIA_SOURCE__&af_siteid={slot}&af_sub1={publisher_id}&af_sub5={bundle}&c={campaign_id}&af_adset={group_id}&af_ad={banner_id}&advertising_id={gaid}&idfa={idfa}&oaid={oaid}

AppMetrica

Целевая ссылка (__SUBDOMAIN__ — числовой поддомен из ссылки AppMetrica, __TRACKER_ID__ — AppMetrica Tracking ID):

https://__SUBDOMAIN__.redirect.appmetrica.yandex.com?appmetrica_tracking_id=__TRACKER_ID__&google_aid={gaid}&google_aid_sha1={gaid_sha1}&ios_ifa={idfa}&ios_ifa_sha1={idfa_sha1}&oaid={oaid}&oaid_sha1={oaid_sha1}&device_ip={ip}&device_ua={ua}&click_id={click_id}&campaign_id={campaign_id}&adgroup_id={group_id}&creative_id={banner_id}&afpub_id={bundle}&site_id={slot}

Пиксель показа в шаблоне AppMetrica не заполняется.

myTracker

Целевая ссылка:

https://trk.mail.ru/c?id=__TRACKER_ID__&gaid={gaid}&oaid={oaid}&idfa={idfa}&mt_click_id={click_id}&campaign_id={campaign_id}&ad_id={banner_id}&site_id={slot}&publisher_id={bundle}&ip={ip}&ua={ua}

Pixel показа:

https://trk.mail.ru/i?id=__TRACKER_ID__&gaid={gaid}&oaid={oaid}&idfa={idfa}&campaign_id={campaign_id}&ad_id={banner_id}&site_id={slot}

В помощнике есть и шаблон Adjust. Названия параметров у MMP меняются от версии к версии — сверяйтесь с документацией трекера (ссылка «Документация трекера» в помощнике).

Кампании на возврат пользователей

Если у кампании цель — re-engagement, платформа на in-app трафике сама дописывает в целевую ссылку метку реатрибуции: is_retargeting=true для ссылок AppsFlyer (app.appsflyer.com, *.onelink.me) и referrer=reattribution%3D1 для AppMetrica (если в ссылке уже есть referrer, метка ставится в начало его значения). Если метка уже есть в ссылке, она не дублируется. Для других трекеров ссылка не меняется. У кампаний на установки метки нет: с ней трекер приписал бы платформе переустановки, пришедшие из других источников.

У AppMetrica реатрибуция работает, только если она включена в настройках трекера (по умолчанию выключена). Для возврата пользователей создайте отдельный ремаркетинг-трекер.

Постбэк: как вернуть установку и события

Чтобы установки и события попали в статистику Ibiza, трекер должен вызывать постбэк платформы. Готовая ссылка — в карточке кампании, поле «Постбэк-ссылка (события MMP)»:

  1. Откройте кампанию.
  2. В поле «Постбэк-ссылка (события MMP)» выберите свой трекер или вариант «Свой (наши макросы)».
  3. Нажмите «Скопировать» и вставьте ссылку в настройки постбэков (партнерской интеграции) вашего MMP.
  4. Проверьте, что в целевой ссылке объявления передается {click_id} — без него постбэку нечего вернуть.

Ссылка имеет вид:

GET https://<хост постбэков из кабинета>/postback?click_id={click_id}&event={event}&revenue={revenue}&currency={currency}
Параметр Обязателен Значение
click_id да ID клика, который трекер получил в клик-ссылке
event нет Имя события: install, registration, first_open, purchase и т. п.
revenue нет Сумма события, число
currency нет Валюта суммы: RUB, USD…

Значения подставляет уже трекер своими макросами: например, для AppsFlyer помощник предлагает click_id={clickid}&event={event_name}&revenue={event_revenue}&currency={event_revenue_currency}. Это стартовый шаблон — точный синтаксис уточняйте в документации MMP.

Ответы постбэка:

Код Значение
200 Событие записано. Повтор того же события безопасен
400 Нет click_id
401 Подпись не прошла проверку. Если для платформы включена подпись постбэков, трекер добавляет параметр signature — HMAC-SHA256 от строки запроса; секрет выдает менеджер
404 Клик с таким ID не найден или слишком старый
500 Временная ошибка на стороне платформы — трекеру стоит повторить запрос

В отчетах все события попадают в метрику «Конверсии», а события install, installation и cpi — еще и в «Установки». Подробнее о том, как MMP сводит клики и установки, — в статьях про атрибуцию в MMP и постбэки.

Макросы эксперимента: конверсии по рукам

Если кампания участвует в A/B-эксперименте, каждый показ и клик несет руку эксперимента. Чтобы разобрать конверсии по рукам в своей аналитике, добавьте в ссылку два макроса:

https://app.appsflyer.com/id123456789?pid=ibiza_int&clickid={click_id}&af_sub2={experiment_id}&af_sub3={experiment_arm}&…

или для UTM-разметки лендинга:

https://example.ru/promo?utm_source=ibiza&utm_campaign={campaign_id}&utm_content={experiment_arm}

Вне эксперимента оба макроса пустые, поэтому ссылку не нужно переделывать после его остановки.

Частые ошибки трекинга

Симптом Причина Как исправить
В MMP приходят клики без clickid В ссылке {clickid} или {click_ID} вместо {click_id} — токен вырезан как неизвестный Скопируйте токен из списка «Доступные макросы»
Постбэк отвечает 404 Трекер вернул не тот ID, что получил в клике, или постбэк пришел слишком поздно Проверьте, что в постбэке именно значение из параметра клика (clickid у AppsFlyer, click_id у AppMetrica)
Клик по HTML5-креативу не открывает лендинг В объявлении не задана «Целевая ссылка» — ${CLICK_URL} засчитывает клик, но переадресовать некуда Заполните «Целевую ссылку» — см. клик в HTML5-креативе
Установки есть в MMP, но нет в «Установках» Ibiza Трекер шлет событие с другим именем, например app_install Отправляйте install — или смотрите эти события в «Конверсиях»
Разбивка по {site_id} пустая Сеть не передает site.id / app.id Используйте {bundle} и {slot}

Проверка перед запуском

  1. Откройте объявление и убедитесь, что под ссылками нет предупреждения «Неизвестные макросы».
  2. Проверьте, что {click_id} стоит в целевой ссылке, а постбэк-ссылка добавлена в MMP.
  3. Для in-app кампаний передавайте все идентификаторы ({gaid}, {oaid}, {idfa}) — платформа сама подставит тот, что есть у устройства.
  4. После первых показов сверьте клики в конструкторе отчетов с кликами в MMP.

Частые вопросы

Что будет, если в ссылке опечатка в макросе?

Неизвестный токен в фигурных скобках платформа вырезает из ссылки, и параметр уходит пустым. Редактор объявления заранее подсвечивает такие токены предупреждением «Неизвестные макросы».

Какой макрос передавать трекеру как идентификатор клика?

{click_id}. Трекер должен вернуть его в постбэке параметром click_id — по нему платформа привязывает установку или событие к показу и клику.

Почему {gaid} пустой?

Устройство или площадка не передали рекламный идентификатор. Пустым будет и {gaid_sha1}: хеш от пустой строки не подставляется.

Можно ли поставить ${CLICK_URL} в ссылку HTML5-креатива?

Да, для этого он и нужен: ${CLICK_URL} — ссылка клика платформы. Она засчитывает клик и переадресует пользователя на «Целевую ссылку» объявления с уже подставленными макросами. Свою ссылку на другой адрес тоже можно поставить — клик засчитается скриптом платформы.