Deferred deep linking: как это работает и когда применять
Разберитесь, как deferred deep linking переносит исходный intent через установку, чтобы новые пользователи попадали сразу на нужный экран в приложении, а не на дефолтную home.
Какую проблему действительно решает deferred deep linking
Обычный deep link работает только если приложение уже установлено. Если пользователь тапает ссылку без приложения, ОС отправляет его в App Store или Google Play, установка завершается, и весь исходный контекст ссылки теряется. Приложение открывается на дефолтном экране и не помнит, зачем юзер вообще тапал ссылку.
Deferred deep linking переносит этот intent через установку. Параметры ссылки сохраняются там, куда приложение сможет дотянуться при первом запуске, и пользователь сразу попадает на товар, кампанию, профиль или инвайт, из-за которых пришел. Это разница между потерянным intent при установке и first-session, доведенной до целевого действия.
Как deferred deep linking устроен под капотом
Пользователь тапает smart link с payload
Ссылка вида appy.to/go/abc несет device-aware routing плюс опциональный контекст: ID продукта, кампанию, referrer, UTM-параметры.
Сервер видит, что приложения нет, и сохраняет контекст
Ваш routing-сервис маппит клик к fingerprint (IP, user agent, время, язык, locale) или выдает одноразовый install token и сохраняет deferred payload.
Пользователь редиректится в App Store или Google Play
Установка идет как обычно. С точки зрения стора ничего особенного не произошло; исходная ссылка уже недоступна изнутри приложения.
Приложение запускается в первый раз
На Android Play Install Referrer передает исходную строку referrer прямо в приложение. На iOS приложение обращается к вашему сервису matching с тем же fingerprint или сохраненным click ID и забирает deferred payload.
Приложение ведет пользователя на нужный экран
Получив payload, приложение переходит на deep-linked экран, применяет атрибуцию кампании и продолжает исходный путь без дефолтного landing.
Когда deferred deep linking действительно окупается
Платные install-кампании с разными креативами
Каждый креатив может нести свой payload, и новый install попадает на экран, соответствующий тапнутой рекламе, что повышает конверсию первой сессии.
Реферальные и инвайт-флоу
Тот, кто устанавливает приложение по инвайту, автоматически связывается с пригласившим, с расшаренным элементом или с командой, без ручного ввода кодов.
Промокоды и купоны
Скидочные или trial-коды, прикрепленные к ссылке, применяются автоматически при первом запуске и убирают ручной ввод.
Шеринг контента из веба в приложение
Когда пользователь шарит товар, статью или плейлист, получатель после установки сразу попадает на этот контент, а не на главную.
Реактивация и переустановка
Re-engagement-кампании могут заранее задать экран, оффер и персонализацию для пользователей, которые удалили и переустановили приложение.
Deferred deep linking на iOS
iOS не предоставляет нативного API install referrer. Deferred deep linking на iOS комбинирует несколько стратегий matching, у каждой свой компромисс по точности и приватности.
- Universal Links + click ID: при тапе по smart link сервис фиксирует клик; на первом запуске приложение зовет ваш matching-эндпоинт с fingerprint или сохраненным click ID.
- Вероятностный fingerprinting: сервер связывает install со свежим кликом по IP, user agent, locale, размеру экрана и timestamp. Точность падает на shared IP, CGNAT и пиках трафика.
- Pasteboard handoff (ограниченно): пользователь копирует токен с веб-страницы, который приложение читает при первом запуске. iOS теперь показывает заметную нотификацию о вставке, поэтому это подходит только для явных copy-link сценариев.
- App Clips: альтернатива для коротких in-app сценариев, которые сами по себе несут intent и не требуют deferred matching.
Deferred deep linking на Android
У Android есть полноценный API: Play Install Referrer. Параметры ссылки попадают в приложение надежно и быстро, fingerprinting не нужен.
- Smart link отправляет пользователя в Google Play с параметрами referrer в install URL.
- После установки приложение вызывает com.android.installreferrer.api.InstallReferrerClient и получает исходную строку referrer.
- Ваш routing-слой кодирует deferred payload в referrer (URL-encoded JSON или подписанный токен), приложение декодирует его при первом запуске.
- Используйте referrer один раз, сохраните распарсенные значения локально и закройте клиент, чтобы избежать дубль-эвентов в атрибуции.
Подводные камни, которые тихо ломают deferred deep linking
- • Полагаться на pasteboard на iOS теперь означает видимую нотификацию о вставке, которая снижает доверие в продакшен-сборках.
- • Вероятностный matching быстро ломается в shared-сетях (офисы, школы, CGNAT мобильных операторов) и шумит в дашбордах атрибуции.
- • Забыть забрать Install Referrer на Android — значит получать повторный routing на каждый запуск и раздувать аналитику.
- • Смешивать UTM-only ссылки и deferred deep links: в дашбордах кампании выглядят одинаково, в продукте ведут себя по-разному.
- • Пропустить одноразовый install token — и старый payload утечет между пользователями, делящими fingerprint.
- • Считать deferred routing задачей только маркетинга — инженерия обязана защищать продукт от replay и дубликатов на cold launch.
Часто задаваемые вопросы
Deferred deep linking — это то же самое, что обычный deep link?
Нет. Обычный deep link работает только после установки. Deferred deep linking переносит intent ссылки через установку, и новый пользователь попадает на нужный экран, а не на дефолтную главную.
Приватность iOS ломает deferred deep linking?
Она меняет доступные методы. Чтение pasteboard теперь видимо, IDFA-подобный matching ограничен, неограниченный fingerprinting не приветствуется. Платформы smart link, которые комбинируют click ID, Universal Links и короткие matching-окна, остаются совместимы с правилами Apple.
Можно реализовать без сторонних SDK?
На Android — да, через Play Install Referrer. На iOS существенно сложнее без routing-сервиса, потому что нативного эквивалента install referrer нет. Большинство команд используют smart link платформу вместо своей matching-инфраструктуры.
Чем deferred deep linking отличается от deep link с fallback?
Fallback обрабатывает пользователей без приложения, перенаправляя их на веб-страницу или в стор. Deferred deep linking дополнительно помнит исходный intent и применяет его при первом запуске установленного приложения.
Сколько должен жить deferred payload?
Большинство команд используют окно matching 24–72 часа. Длинные окна повышают false-positive и риск устаревшего контекста; короткие — теряют пользователей, которые ставят приложение медленно.
Связанные материалы Appy
Продолжайте этими гайдами, чтобы выстроить надежный routing вокруг установки.
- Как сделать одну ссылку для App Store и Google Play для базовой настройки smart link, на которой строится deferred routing.
- Deep linking vs Universal links чтобы понять примитивы, на которых работает любой deferred-флоу.
- Полное руководство по Universal Links с деталями по настройке и валидации на iOS и Android.
Продолжить изучение
Branch.io vs AppsFlyer OneLink vs Appy: сравнение deep linking платформ 2025
Сравнение Branch.io, AppsFlyer OneLink и Appy по внедрению, аналитике, ценам и compliance, чтобы выбрать подходящую платформу.
Deep linking vs Universal Links: полное сравнение
Разберитесь в ключевых отличиях deep links и universal links, когда использовать каждый подход и как их внедрять.
Полное руководство по Universal Links для iOS и Android
Полное руководство по universal links, deep links и app links: внедрение и лучшие практики для mobile marketing.
Ищете другое? Посмотрите все темы в блоге.
Запустите deferred deep linking, не строя свою matching-инфраструктуру
Appy берет на себя smart links, matching на установке и routing после установки, чтобы новый пользователь попадал именно на тот экран, что соответствует кампании.