Макросы ссылок и постбэк: AppsFlyer, AppMetrica, myTracker
Чтобы 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)»:
- Откройте кампанию.
- В поле «Постбэк-ссылка (события MMP)» выберите свой трекер или вариант «Свой (наши макросы)».
- Нажмите «Скопировать» и вставьте ссылку в настройки постбэков (партнерской интеграции) вашего MMP.
- Проверьте, что в целевой ссылке объявления передается
{click_id}— без него постбэку нечего вернуть.
Ссылка имеет вид:
GET https://<хост постбэков из кабинета>/postback?click_id={click_id}&event={event}&revenue={revenue}¤cy={currency}
| Параметр | Обязателен | Значение |
|---|---|---|
click_id |
да | ID клика, который трекер получил в клик-ссылке |
event |
нет | Имя события: install, registration, first_open, purchase и т. п. |
revenue |
нет | Сумма события, число |
currency |
нет | Валюта суммы: RUB, USD… |
Значения подставляет уже трекер своими макросами: например, для AppsFlyer помощник предлагает click_id={clickid}&event={event_name}&revenue={event_revenue}¤cy={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} |
Проверка перед запуском
- Откройте объявление и убедитесь, что под ссылками нет предупреждения «Неизвестные макросы».
- Проверьте, что
{click_id}стоит в целевой ссылке, а постбэк-ссылка добавлена в MMP. - Для in-app кампаний передавайте все идентификаторы (
{gaid},{oaid},{idfa}) — платформа сама подставит тот, что есть у устройства. - После первых показов сверьте клики в конструкторе отчетов с кликами в MMP.
Частые вопросы
Что будет, если в ссылке опечатка в макросе?
Неизвестный токен в фигурных скобках платформа вырезает из ссылки, и параметр уходит пустым. Редактор объявления заранее подсвечивает такие токены предупреждением «Неизвестные макросы».
Какой макрос передавать трекеру как идентификатор клика?
{click_id}. Трекер должен вернуть его в постбэке параметром click_id — по нему платформа привязывает установку или событие к показу и клику.
Почему {gaid} пустой?
Устройство или площадка не передали рекламный идентификатор. Пустым будет и {gaid_sha1}: хеш от пустой строки не подставляется.
Можно ли поставить ${CLICK_URL} в ссылку HTML5-креатива?
Да, для этого он и нужен: ${CLICK_URL} — ссылка клика платформы. Она засчитывает клик и переадресует пользователя на «Целевую ссылку» объявления с уже подставленными макросами. Свою ссылку на другой адрес тоже можно поставить — клик засчитается скриптом платформы.