Глубокие ссылки (deep linking) в приложении — это механизм, который ведёт пользователя не на главный экран, а сразу к нужному товару, акции или разделу. Звучит просто, но без правильной настройки маркетплейс теряет конверсию на каждом шаге воронки: из email-рассылки, пуш-уведомления, рекламного баннера. В этой статье — как работают глубокие ссылки, чем отличаются типы и что нужно сделать, чтобы они заработали в реальном продукте.
Что такое deep linking и зачем он нужен маркетплейсу
Обычная ссылка открывает браузер или главную страницу приложения. Глубокая ссылка (deep link) содержит путь к конкретному контенту внутри приложения — карточке товара, корзине, профилю продавца, результату поиска с фильтрами.
Для маркетплейса это критично по нескольким причинам:
- Сокращение пути до покупки. Пользователь получает пуш «Ваш товар подешевел» и попадает прямо на карточку, а не ищет его заново.
- Рост конверсии из рекламы. Ретаргетинговое объявление с deep link показывает конверсию на 20–40% выше, чем ссылка на главную — просто потому что контекст сохраняется.
- Работа реферальных программ. Партнёрская ссылка открывает конкретный товар и сразу атрибутирует источник.
- Онбординг после установки. Пользователь скачал приложение по ссылке из соцсети — и видит именно тот товар, который его заинтересовал.
Три типа глубоких ссылок: в чём разница
Не все deep links работают одинаково. Выбор типа зависит от сценария и от того, установлено ли приложение на устройстве.
| Тип | Как работает | Когда использовать |
|---|---|---|
| Traditional deep link | Открывает экран в установленном приложении через URI-схему (например, myapp://product/123) |
Внутренние переходы, пуш-уведомления |
| Deferred deep link | Запоминает параметры ссылки до установки. После скачивания приложение открывает нужный экран | Реклама, реферальные программы, QR-коды |
| Universal / App Link | Обычный HTTPS-URL, который ОС перехватывает и открывает в приложении, если оно установлено. Иначе — браузер | Email, мессенджеры, соцсети, SEO-трафик |
На практике маркетплейсы используют все три типа одновременно: Universal Links — для внешних каналов, deferred — для рекламных кампаний, traditional URI — для внутренней навигации.
Как настроить глубокие ссылки в приложении: этапы
1. Определить структуру маршрутов
Перед технической реализацией нужно составить карту экранов, которые должны быть доступны по ссылке. Для маркетплейса это минимум:
- карточка товара —
/product/{id} - категория с фильтрами —
/catalog?category=shoes&brand=nike - профиль продавца —
/seller/{id} - корзина и оформление заказа —
/cart,/checkout - акция или лендинг —
/promo/{slug}
2. Настроить Universal Links (iOS) и App Links (Android)
На iOS нужно разместить файл apple-app-site-association на домене (без расширения, строго по пути /.well-known/) и добавить домен в entitlements приложения. На Android — файл assetlinks.json в той же директории и intent-filter в манифесте. Оба файла должны отдаваться по HTTPS с корректными заголовками — иначе ОС не верифицирует связку домен–приложение.
3. Реализовать обработку входящих ссылок в коде
В нативных приложениях (Swift/Kotlin) это обработчики application(_:continue:restorationHandler:) на iOS и onNewIntent на Android. В React Native и Flutter есть готовые библиотеки: react-navigation с deep link config, go_router для Flutter. Важно обработать два состояния: приложение запускается впервые по ссылке и приложение уже открыто в фоне.
4. Подключить deferred deep linking
Самостоятельно реализовать отложенные ссылки сложно — нужно хранить параметры на сервере и сопоставлять их с установкой. На практике используют готовые SDK: AppsFlyer, Branch, Adjust. Они берут на себя атрибуцию, аналитику и передачу параметров после первого запуска. Интеграция занимает 1–3 дня на сторону каждой платформы.
5. Протестировать все сценарии
Чек-лист перед релизом:
- Ссылка открывает нужный экран, когда приложение установлено и закрыто
- Ссылка открывает нужный экран, когда приложение работает в фоне
- Ссылка ведёт в браузер (на веб-версию), если приложение не установлено
- После установки по deferred-ссылке пользователь попадает на правильный экран
- Параметры UTM/атрибуции корректно передаются в аналитику
- Ссылки работают в мессенджерах (Telegram, WhatsApp) — они часто блокируют нестандартные схемы
Типичные ошибки при внедрении deep links
Большинство проблем возникают не в коде, а в деталях конфигурации:
- Файл верификации недоступен. Сервер отдаёт 404 или редирект — ОС не может проверить связку, Universal Link не работает.
- Не обработан cold start. Приложение запускается впервые по ссылке, но навигация инициализируется позже, чем приходит deep link — экран теряется.
- Игнорируется авторизация. Ссылка ведёт в корзину, но пользователь не авторизован. Нужно сохранить целевой экран, показать логин и вернуть пользователя после входа.
- Параметры не URL-энкодятся. Фильтры с кириллицей или спецсимволами ломают маршрут.
- Нет фолбэка. Если товар удалён или акция закончилась — пользователь видит пустой экран вместо альтернативы.
Часто задаваемые вопросы
Чем Universal Link отличается от обычного deep link?
Universal Link — это стандартный HTTPS-URL, который операционная система перехватывает и открывает в приложении, если оно установлено. Обычный deep link использует кастомную URI-схему вроде myapp://, которую браузер не понимает и которую мессенджеры часто блокируют. Universal Links надёжнее работают в email и соцсетях, поэтому для внешних каналов маркетплейса предпочтительнее.
Нужен ли сторонний SDK для deep linking или можно обойтись своими силами?
Для базовых сценариев — переходов из пушей и email внутри уже установленного приложения — сторонний SDK не обязателен. Но если нужна атрибуция рекламных кампаний, deferred deep linking или аналитика по источникам, без AppsFlyer, Branch или Adjust обойтись сложно: самостоятельная реализация требует серверной инфраструктуры и постоянной поддержки под обновления ОС.
Сколько времени занимает настройка глубоких ссылок в приложении?
Базовая настройка Universal Links и App Links с обработкой 5–10 маршрутов занимает 3–5 рабочих дней на каждую платформу. Если добавить интеграцию с SDK атрибуции и тестирование всех сценариев, реалистичная оценка — 2 недели с учётом QA. Сроки растут, если навигация в приложении не была изначально спроектирована под deep linking.
Что в итоге
Deep linking — не опциональная фича, а базовая инфраструктура маркетплейса. Без неё рекламные кампании теряют конверсию, реферальные программы не атрибутируются, а пуш-уведомления раздражают вместо того, чтобы продавать. Правильная настройка требует внимания к деталям: верификации доменов, обработке всех состояний приложения и тестированию в реальных каналах.
Если вы планируете разработку мобильного приложения маркетплейса с нуля или хотите добавить deep linking в существующий продукт — мы готовы разобрать вашу задачу. Свяжитесь с нами: оставьте заявку на сайте или позвоните по номеру +7 (977) 326-69-09.