Как устроен диплинк в кампаниях на приложения в Директе

14.10.2026 · 8 мин чтения
Тёмный телефон и коралловая лента, уходящая во внутренний экран на чёрном фоне
Глубокая ссылка в кампании на приложение — маршрут от клика до конкретного экрана. Я собираю его из трекинговой ссылки, поля «Диплинк» и проверки на телефоне. Ниже — как это устроено в Единой перфоманс-кампании, чем отличаются ссылки iOS и Android и где смотреть атрибуцию установки.

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

Диплинк открывает уже установленное приложение на нужном экране: карточка, акция, корзина или профиль. В Директе это параметр трекинговой системы. Для цели «Ретаргетинг» поле «Диплинк» обязательное. Без него клик может открыть главный экран.
Кампании только на установку и сценарий Web+App я разбираю в отдельных материалах. Здесь остаётся только глубокая ссылка: трекинговая ссылка, поля iOS и Android, проверка клика и место, где смотреть атрибуцию установки.
Адрес магазина ведёт в App Store или Google Play, и после установки человек видит главный экран. Трекинговая ссылка идёт через MMP, без неё объявление в ЕПК не собрать. Диплинк работает на уже установленном приложении, отложенный — после первой установки. Кастомная страница есть только у цели «Привлечение новых пользователей».
Тип ссылкиКуда ведёт кликКогда беру
Ссылка в магазинКарточка App Store или Google PlayНужна установка, экран внутри не важен
Трекинговая ссылкаЧерез MMP в магазин или в приложениеЛюбая кампания на приложение
ДиплинкЭкран в уже установленном приложенииЦель «Ретаргетинг»
Отложенный диплинкМагазин, затем экран после первой установкиНовым пользователям нужен тот же раздел
Кастомная страницаПерсональная витрина в магазинеЭкран внутри приложения недоступен

Трекинговая ссылка и поля объявления

ЕПК читаю по уровням. На кампании выбираю приложение, цель, стратегию, опцию «Использовать SKAdNetwork» и магазины Android. В группе остаются гео, таргетинг и площадки. Ссылки живут в объявлении: трекинговая ссылка, «Диплинк» или «Отложенный диплинк». В Мастере кампаний диплинк иногда сидит в поле «Трекинговая ссылка». В ЕПК для экрана есть отдельное поле «Диплинк».
В библиотеку Директа приложение попадает с одной трекинговой системой. Если нужны и AppMetrica, и AppsFlyer, добавляю его дважды, у каждой записи своя ссылка. В коде обязателен SDK выбранной MMP. Схему myapp без трекера кабинет не примет: не будет валидации и атрибуции установок.
В трекинговой ссылке обязателен макрос клика. Чаще всего это click_id={logid}. Тот же смысл несут clickid={logid}, cl={logid} и ya_click_id={logid}. Директ подставляет logid, а MMP склеивает клик, установку и открытие экрана.
У AppMetrica ссылка на redirect.appmetrica.yandex.com содержит click_id={logid} и source={source}. В диплинк ретаргетинга добавляю click_id={click_id} и campaign_id={campaign_id}. Схема myscheme://deeplink без них открывает экран, но не склеивает клик. Для AppsFlyer диплинк передаю в af_dp, медиаисточник — yandexdirect_int, для ретаргетинга ставлю is_retargeting=true. Для Adjust это deep_link на отдельной ссылке: Inactivity period равен 0 дней, Reattribution window — 14 дней.
  • Клик приходит из Поиска или из РСЯ.
  • Директ передаёт его в MMP по трекинговой ссылке с макросом click_id={logid}.
  • MMP обрабатывает диплинк и открывает заданный экран.
  • SDK фиксирует открытие, и событие попадает в отчёты Директа и трекера.
Тёмная карточка, куб и телефон, соединённые коралловым шнуром
Клик идёт в трекер, и только потом приложение открывает нужный экран.
В товарном объявлении диплинк кладу в элемент url YML-фида: трекинговая ссылка на карточку. Тем, кто приложение не ставил, оставляю отложенный диплинк на ту же карточку. Длина ссылки в фиде — до 2048 символов. Идентификатор товара в фиде должен совпадать с идентификатором в событиях. Для AppsFlyer в ссылке стоят deep_link_value и clickid={logid}.

Как собрать ссылку на iOS и Android

Схему регистрирует разработчик: URI или Universal Link. Экран из объявления должен быть в той сборке, которая уже стоит у людей.

iOS: Universal Link и проверка на iPhone

На iOS два механизма. URI-схема myapp://screen/id хрупкая: при конфликте схем или без приложения человек видит ошибку. Universal Link — https-адрес домена, система открывает его в приложении, если оно установлено. Для Директа и товарных объявлений прошу именно его. В AppMetrica на iOS выше версии 12.3.1 диплинки внутри tracking links приложение не открывают, маршрут идёт через Universal Link.
На iOS 14.5 и новее установки идут через SKAdNetwork: Поиск, сайты РСЯ и in-app РСЯ. Нужно разрешение ATT на IDFA. «Использовать SKAdNetwork» включаю только после верификации приложения. На одно iOS-приложение — не больше 10 кампаний, архивные не считаются. В отчёте они видны только по кампаниям и доходят в течение 48 часов. В AppsFlyer на iOS выключаю Advanced Privacy и добавляю af_force_deeplink=true.
На устройстве проверяю так: длинную ссылку сокращаю через TinyUrl, открываю на iPhone с уже установленным приложением и смотрю, что открылся нужный экран, а не главная и не магазин.

Android: App Links и intent

На Android беру App Links — https-ссылку с подтверждённым доменом — или intent-ссылку с запасным уходом в магазин. Отложенный диплинк читает Play Install Referrer API. У AppMetrica он срабатывает только на первом запуске: в INSTALL_REFERRER нужен appmetrica_deep_link с корректным URI и хотя бы одним query-параметром.
SmartLink в AppMetrica сам решает маршрут: приложение есть — диплинк, нет — магазин или сайт. Для трекера в ЕПК SmartLink выключаю и оставляю одну платформу на один трекер.
Две тёмные платформы с коралловыми нитями к отдельным экранам
У iOS и Android разные механизмы открытия, одну ссылку на обе системы я не копирую.
Ретаргетинг на AppMetrica собираю так. Разработчик регистрирует URI или Universal Link. Трекер создаю с партнёром Yandex.Direct, не с подписью «Yandex». В поле Deeplink пишу myshop://promo/summer и добавляю click_id={click_id} с campaign_id={campaign_id}. К ссылке в Директе добавляю &direct_no_s2s=1. В объявлении ставлю ссылку из библиотеки и то же значение в поле «Диплинк». Для AppsFlyer хватает af_dp, is_retargeting=true и clickid={logid}.

Как проверить клик до показов

Клик внутри MMP ещё не значит, что маршрут живой из Директа. Макрос, партнёр и цель кампании меняют результат. Показы не включаю, пока не кликнул с тестового объявления на своём телефоне.
  1. Приложение в библиотеке Директа с нужной MMP, SDK стоит в коде.
  2. Трекер с партнёром Yandex.Direct. Для AppMetrica это обязательно.
  3. В трекинговой ссылке есть click_id={logid} или аналог.
  4. Цель — «Ретаргетинг», поле «Диплинк» заполнено.
  5. Для AppMetrica трекер ремаркетинговый, в диплинке click_id={click_id} и campaign_id={campaign_id}, к ссылке добавлен &direct_no_s2s=1.
  6. Для AppsFlyer стоят is_retargeting=true, af_dp с закодированным URI и на iOS af_force_deeplink=true.
  7. Для Adjust отдельная ретаргетинговая ссылка: deep_link и окно реатрибуции 14 дней.
  8. Тестовое объявление запущено, клик сделан на устройстве с установленным приложением.
  9. Открылся нужный экран, не главная и не пустая страница.
  10. В MMP есть событие открытия диплинка. В AppMetrica оно пишется само при SDK 4.0 и новее.
Тёмный телефон с коралловым следом к внутреннему экрану и кубы рядом
Тестовый клик с телефона показывает, открылся ли нужный экран.
Если приложения нет, клик должен открыть магазин, а не ошибку «приложение не найдено». Отложенный диплинк проверяю после первого запуска. На Android в INSTALL_REFERRER ищу appmetrica_deep_link. На iOS отложенный диплинк сложнее. Запасной путь — кастомная страница приложения.

Где смотреть атрибуцию установки

Директ принимает AppMetrica, AppsFlyer, Adjust, Branch, Kochava, MyTracker, Singular, Tenjin и AirBridge. SKAdNetwork среди них поддерживают AppMetrica, AppsFlyer и Adjust.
Клик: Директ пишет logid и отдаёт его в MMP макросом. Установка: SDK фиксирует install. По чек-листу Директа окно по клику — 30 дней, по показу — 24 часа. Покупка, регистрация или корзина идут из SDK в MMP и, если передача включена, в Директ. OneLink собирает трекинг, диплинк и отложенный диплинк: для Unified Deep Linking берут deep_link_value и deep_link_sub1-10. Firebase Dynamic Links отключены с 25 августа 2025 года, отложенный маршрут переношу в поля ЕПК.
Что открываюГде лежитНа что смотрю
УстановкаДирект и MMPДата клика в Директе и дата установки в AppMetrica могут не совпасть. Это не ошибка.
Открытие экранаЖурнал MMPЕсть ли событие открытия диплинка после тестового клика.
Действие в приложенииMMPДошёл ли человек с экрана до целевого события.
Установки SKAdNetworkОтчёт Директа, iOSТолько по кампаниям, данные приходят в течение 48 часов.
После создания кампании цель не меняется. «Привлечение новых пользователей» исключает тех, у кого приложение уже стоит, поэтому внутренний диплинк им не покажется. У ретаргетинга одно место показа: Поиск или РСЯ. После сохранения его не сменить.

Если открылся не тот экран

  • Главный экран: поле «Диплинк» пустое или SDK его не обработал.
  • Пустая страница: неверная URI-схема или экран удалён из сборки.
  • Магазин при установленном приложении: нет Universal Link или App Link, либо сломан af_dp.
  • Нет параметров: в диплинке отсутствуют click_id и campaign_id.
  • Нет события: SDK не пишет открытия. Для AppMetrica нужна версия 4.0 или новее.
  • Партнёр трекера не Yandex.Direct.
  • Две MMP на одну запись библиотеки. Нужны две записи приложения.
Перед показами сверяю партнёра Yandex.Direct, макрос клика, поле «Диплинк» и клик с телефона. Дату клика в Директе и дату установки в MMP не смешиваю. Чужой экран чиню в ссылке и SDK.
SEO

Проверю диплинк до запуска

Сверю партнёра трекера, поле «Диплинк» и клик с телефона. Покажу шаг, на котором экран или атрибуция обрываются.
SEO-специалист и автор материала
Читайте также