Что такое диплинки и как они помогают растить конверсию

Expected link behavior

Mobile

  • Expected link behavior is dependent on whether or not the app supports deep linking

  • using or enabling a Deepview

Platform

iOS

Android

Facebook Newsfeed

Fallback; able to deep link via Facebook App Links

App

Facebook Browser

App

App

Facebook Messenger

Fallback; able to deep link via Facebook App Links

App

Facebook Messenger Browser

App

App

Instagram Profile

Fallback; able to force app open using

App

Instagram Browser

App

App

Instagram Stories

Fallback; able to force app open

App

Twitter Feed

Fallback; able to force app open. Links with or redirect fallbacks require web SDK 2.48.0+ init on the website

App

Twitter Browser

App

App

Snap Messages

App

App

Snap Stories

Fallback; review custom instructions for using Branch in Snap stories

App

Reddit

Fallback; need to use : in link to fallback to App Store

Fallback

Pinterest Browser

App

App

Fallback; App Store redirects will not work

Fallback

Chrome Browser

App

App

Chrome Address Bar

Fallback

Fallback; deep link data will not pass into the app

Safari Browser

App

N/A

Safari Address Bar

Fallback; Blocked by Apple

N/A

Firefox Browser

Fallback

App

Firefox Address Bar

Fallback

App

UC Browser

N/A

App

Naver Browser

N/A

App

Kakao Browser

N/A

App

Opera Browser

App

App

Ghostery Browser

App

Fallback; query strings must be encoded ($ = %24)

Google Hangouts

Fallback; able to force app open

App

Samsung SMS

N/A

App

Samsung SMS Browser

N/A

App

Apple iMessage

App

N/A

Apple Business Chat

App

N/A

Slack

App; must configure Slack to open links with Safari

App

WeChat

Fallback; customize

Fallback; customize

WhatsApp

App; require https/http to be clickable

App; require https/http to be clickable

LINE

Fallback; able to force app open

App

Discord

App

App

App

N/A

Gmail

App

App

Yahoo Mail

Fallback; able to force app open

App

TikTok

Ads promoting apps will take users to the app store

Ads promoting apps will take users to the app store

TikTok

Ads taking users to a non app-store landing page will open in an in-app browser.

Ads taking users to a non app-store landing page will open in an in-app browser.

Desktop

  • Expected link behavior is dependent on whether or not the app supports deep linking

  • By default, we attempt to launch the apps via URI schemes and load the desktop redirect fallback in the background

  • using

Platform

Mac

Windows

Safari

App; Supports Universal Linking

App

Firefox

App*

App*

Chrome

App*

App*

Edge

App

App

Internet Explorer

N/A

App*

Slack

App; Supports Universal Linking

App

Что такое Deeplink-ссылка и как работает

С диплинком пользователь сразу попадает в приложение. Если приложение не установлено, ссылка направляет юзера в App Store или Google Play, в зависимости от ОС на его устройстве.

Рассказываем на примере Инстаграм. Вы запустили таргетированную рекламу на свой Инстаграм профиль или разместили прямую ссылку на своем сайте. Ссылка имеет вид https://www.instagram.com/postiumru/. Если кликнуть по ней с устройства на Андроид или iOS, то профиль откроется не в приложении Инстаграм, а во внутреннем браузере соцсети. Выглядит это так:

Из скрина понятно, что если пользователь не авторизован в Инстаграм через браузер, он не сможет сразу подписаться на аккаунт, написать сообщение в Директ или посмотреть публикации — сначала ему нужно залогиниться. Уже на этом этапе часть трафика отваливается.

Еще в мобильном приложении удобнее просматривать Инстаграм профиль, а в браузере нужно каждый раз нажимать «Назад», листая посты — это тоже отталкивает потенциальных подписчиков.

Вот так уже выглядит профиль, открытый через диплинк — страница открывается прямо в приложении, можно сразу подписаться, написать сообщение, да и посты листать удобнее благодаря привычному интерфейсу.

Что умеют диплинки:

  • направлять пользователя на нужный экран мобильного приложения;
  • собирать статистику по кликам, источникам переходов и пользователям (через сервисы диплинков);
  • они индексируются поисковиками;
  • их можно встроить в QR-код.

Вывод: диплинки актуальны для мобильного трафика. Они дают более высокую конверсию по сравнению с прямой ссылкой на приложение. Благодаря диплинку трафик не теряется, и вы не сливаете рекламный бюджет, из-за того, что пользователи не авторизованы в Инстаграм в браузере. Через диплинки можно направлять трафик не только на Инстаграм профиль, но и на конкретные публикации.

Short links

  • Short links are the most common deep link
  • You can customize the subdomain of , or change to your own personal domain ()
  • You can tailor the appearance of the short code to a custom during creation
    • Aliases can be short strings, e.g.
    • Or can be full link path, e.g.
  • Short links encapsulate inside them on link creation
  • Short links can have additional data appended to them
  • Methods of creating short links
    • Use Quick Links for fast link creation and easy tracking
    • Use our App SDK to create and share links within your app
    • Use our to create links which help convert your web users to app users
    • Use our to programmatically create links from your server
    • Use our Chrome Extension to generate links from your browser

Настройки в myTracker

В интерфейсе myTracker предусмотрены две опции для настройки диплинков:

  • Использовать диплинк в случае установленного приложения для выбора режима работы диплинка;
  • Окно отложенного диплинка для выбора периода действия отложенного диплинка.

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

Обычные диплинки

Обычные диплинки подходят для рекламных кампаний,
нацеленных на существующих пользователей.
То есть для кампаний ретаргетинга,
когда большая часть аудитории уже установила ваше приложение.

Чтобы обычная трекинг-ссылка отработала как обычный диплинк:

  1. Выберите схему диплинка и настройте SDK, как описано выше для платформ iOS и Android.
  2. Опубликуйте приложение.
  3. При создании трекинг-ссылки добавьте диплинк и включите опцию
    Использовать диплинк в случае установленного приложения.

Отложенные диплинки

Отложенные диплинки подходят для рекламных кампаний,
нацеленных на привлечение новых пользователей.

Чтобы обычная трекинг-ссылка отработала как отложенный диплинк:

  1. Выберите схему диплинка и настройте SDK,
    как описано выше для платформ iOS и Android.
  2. Опубликуйте приложение.
  3. При создании трекинг-ссылки добавьте диплинк и оставьте выключенной опцию
    Использовать диплинк в случае установленного приложения.
  4. При необходимости отрегулируйте по кнопке Дополнительные настройки.

Окно отложенного диплинка

Окно отложенного диплинка — это период, в течение которого работает диплинк.
То есть временной интервал, отсчитанный от клика по рекламе,
за который пользователь может быть перенаправлен на конкретный контент в приложении.

По умолчанию, Окно отложенного диплинка равно 3 часам.
Изменить настройку можно как на проект в целом, так и на отдельные трекинг-ссылки.
Подробнее см. раздел Проект,
Обычная
и Умная трекинг-ссылка.

Умная трекинг-ссылка

Умная трекинг-ссылка подходит для рекламных кампаний,
нацеленных на любую аудиторию:
для новых пользователей сработает отложенный диплинк,
а для существующих пользователей — обычный.

Для использования диплинков в умной трекинг-ссылке:

  1. Выберите схему диплинка и настройте SDK,
    как описано выше для платформ iOS и Android.
  2. Опубликуйте приложение.
  3. При создании умной трекинг-ссылки добавьте диплинк и включите опцию
    Использовать диплинк в случае установленного приложения.
  4. При необходимости отрегулируйте окно отложенного диплинка по кнопке
    Дополнительные настройки.

В результате при переходе по умной трекинг-ссылке:

  • новые пользователи попадут в магазин приложений, а после установки — на конкретный экран в приложении;
  • существующие пользователи попадут сразу на конкретный экран в приложении.

Подробнее от работе умной ссылки с диплинком см. раздел

Long links

  • Long links can be created without a network call to Branch
  • Long links need to be added as a query string. Be sure to URI encode any urls in the link.
    • e.g. existing link
    • e.g. dynamic link
  • Long links need a and a Branch Key if you use a
    • e.g. existing link
    • e.g. dynamic link
  • Long links need a and a Branch Key if you use a
    • e.g. existing link
    • e.g. dynamic link
  • When adding to a dynamic link, enter each tag separately

Configure deep links

You’re free to add any of your own key-value parameters to a Branch link. These parameters will be passed to your app via the Branch SDK, however some keys will have specific extra effects.

Устраняем путаницу с понятием универсальных ссылок

Что общего между диплинк и Apple Universal Links (для iOS) / Android App Links (для Android)?

Apple Universal Links (AUL) и Android App Links (AAL) на деле являются не совсем ссылками, а скорее механизмами, которые применяются к некоторым ссылкам, контролирующим процесс «переправки» пользователей в приложение.

В определённых сценариях они превращают обычные старые ссылки в диплинки внутри приложений. Инструменты от Apple и Google становятся стандартами, которые можно применять к любой ссылке, а разработчики должны применять их в своей работе.

Тем не менее эти ссылки имеют свои ограничения, о которых важно знать — особенно в отношении Apple Universal Links. Самым важным будет то, что AUL не перенаправляет пользователей, а служит системой, применяемой к ссылкам для открытия приложений, поэтому с её помощью будет сложно отследить клики.. Поскольку приложение открывается сразу с помощью Apple Universal Links, то перенаправление через веб-страницу для подсчёта кликов на сервере будет недоступно

Чтобы обойти это ограничение, команде программистов придётся настраивать сервер и вручную подсчитывать каждый клик в приложении.

Поскольку приложение открывается сразу с помощью Apple Universal Links, то перенаправление через веб-страницу для подсчёта кликов на сервере будет недоступно. Чтобы обойти это ограничение, команде программистов придётся настраивать сервер и вручную подсчитывать каждый клик в приложении.

Более простым решением будет использовать методы распределения и диплинкинг, который поддерживается Apple Universal Links и поэтому будет автоматически выполнять этот тип отслеживания за вас.

Более наглядно на диаграмме.

Deep linking to your tab

You can create deep links to entities in Teams. This is used to create links that navigate to content and information within your tab. For example, if your tab contains a task list, team members can create and share links to individual tasks. When you select the link, it navigates to your tab which focuses on the specific item. To implement this, you add a copy link action to each item, in whatever way best suits your UI. When the user takes this action, you call to display a dialog box containing a link that the user can copy to the clipboard. When you make this call, you also pass an ID for your item, which you get back in the context when the link is followed and your tab is reloaded.

Alternatively, you can also generate deep links programmatically, using the format specified later in this topic. You can use deep links in bot and connector messages that inform users about changes to your tab, or to items within it.

Note

This deep link is different from the links provided by the Copy link to tab menu item, which just generates a deep link that points to this tab.

Note

Currently, shareDeepLink does not work on mobile platforms.

Show a deep link to an item within your tab

To show a dialog box that contains a deep link to an item within your tab, call .

Provide the following fields:

  • : A unique identifier for the item within your tab to which you are deep linking.
  • : A label for the item to use for displaying the deep link.
  • : An optional field with a fallback URL to use if the client does not support rendering the tab.

Generate a deep link to your tab

Note

Personal tabs have a scope, while channel and group tabs use or scopes. The two tab types have a slightly different syntax since only the configurable tab has a property associated with its context object. See the manifest reference for more information on tab scopes.

Note

Deep links work properly only if the tab was configured using the v0.4 or later library and because of that has an entity ID. Deep links to tabs without entity IDs still navigate to the tab but cannot provide the sub entity ID to the tab.

Use the following format for a deep link that you can use in a bot, connector, or messaging extension card:

Note

If the bot sends a message containing a with a deep link, then a new browser tab is opened when the user selects the link. This happens in Chrome and in the Microsoft Teams desktop app, both running on Linux.
If the bot sends the same deep link URL into an , then the Teams tab is opened in the current browser tab when the user selects the link. A new browser tab is not opened.

The query parameters are:

Parameter name Description Example
The ID from your manifest. fe4a8eba-2a31-4737-8e33-e5fae6fee194
The ID for the item in the tab, which you provided when configuring the tab. Tasklist123
or   An optional field with a fallback URL to use if the client does not support rendering the tab. or
or   A label for the item in your tab, to use when displaying the deep link. Task List 123 or «Task 456
  *   *   A JSON object containing the following fields: * An ID for the item within the tab. * The Microsoft Teams channel ID that is available from the tab context.
An ID for the item within the tab. Task456
The Microsoft Teams channel ID that is available from the tab context. This property is only available in configurable tabs with a scope of team. It is not available in static tabs, which have a scope of personal. 19:cbe3683f25094106b826c9cada3afbe0@thread.skype

Examples:

  • Link to a configurable tab itself:
  • Link to a task item within the configurable tab:
  • Link to a static tab itself:
  • Link to a task item within the static tab:

Important

Ensure that all query parameters are properly URI encoded. You must follow the preceeding examples using the last example:

Consume a deep link from a tab

When navigating to a deep link, Microsoft Teams simply navigates to the tab and provides a mechanism through the Microsoft Teams JavaScript library to retrieve the sub-entity ID if it exists.

The call returns a context that includes the field if the tab is navigated through a deep link.

Link resolution

The method takes the following parameters:

  • — the deep link that opened the application.
  • — the custom domains of the configured campaigns that need to be resolved.
  • — the callback that will contain the final URL.

The method will check the deep link against the domains in the . If it does not find any matches, it will forward the deep link URL as is. If it does find a mach, it will attempt to resolve the link and return the resulting deep link. It will then store this in the parameter. You can then use the returned deep link to reattribute your user. To do this, pass the deep link to the method.

Note:

The Adjust SDK will follow up to ten redirects when attempting to resolve a URL. It will return the latest URL it has followed as the URL. If there are more than ten redirects, the SDK will return the tenth redirect URL.

Java

Dynamic Link от Firebase

Создание глубинной ссылки в Firebase

Перейдя в Firebase Console -> Dynamic links вы можете приступить к созданию новой ссылки. Вы указываете желаемую целевую страницу, поведение на Android и iOS устройствах.

Создание Dynamic Link

Более того, вы можете указать, что если установленная версия вашего приложения на устройстве меньше заданной, то нужно перейти в Google play.

Настройка Deeplink для Android

При желании можно разметить ссылку UTM метками. Все, остается передать готовую ссылку потенциальным пользователям.

Программное создание Deeplink в Firebase

Для конкретных записей и маркетинговых кампаний все ссылки могут быть созданы руками. Но часто может понадобиться динамически создавать такие ссылки. Например, взять те же социальные сети. Если пользователь поделился ссылкой вне сети, то мы хотим также обеспечить корректную навигацию независимо от устройства.

Для решения такой задачи у Firebase есть API для программного создания ссылок.

Обработка Dynamic link в приложении

<activity android:name="com.dimlix.samplesapp.MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>

    <intent-filter android:autoVerify="true">
        <action android:name="android.intent.action.VIEW"/>
        <category android:name="android.intent.category.DEFAULT"/>
        <category android:name="android.intent.category.BROWSABLE"/>
        <data
            android:host="dimlix.page.link"
            android:scheme="https"/>
    </intent-filter>
</activity>

Далее в заданной в обрабатываем Deeplink.

    private void handleDeepLink() {
        FirebaseDynamicLinks.getInstance()
                .getDynamicLink(getIntent())
                .addOnSuccessListener(this, new OnSuccessListener<PendingDynamicLinkData>() {
                    @Override
                    public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) {
                        // Get deep link from result (may be null if no link is found)
                        Uri deepLink;
                        if (pendingDynamicLinkData != null) {
                            deepLink = pendingDynamicLinkData.getLink();
                            if (deepLink != null) {
                                String path = deepLink.getLastPathSegment();
                                handleDynamicLinkPath(path);
                            }
                        }
                    }
                })
                .addOnFailureListener(this, new OnFailureListener() {
                    @Override
                    public void onFailure(@NonNull Exception e) {
                        Log.w(TAG, "getDynamicLink:onFailure", e);
                    }
                });
    }

В примерах я использую Deeplink, для того, чтобы с определенной статьи вести на нужный экран где реализован разобранный материал.

    private void handleDynamicLinkPath(String path) {
        for (Sample sample : mSamples) {
            if (sample.dynamicLinkPath.equals(path)) {
                Intent sampleActivity = new Intent(this, sample.classtoStart);
                sampleActivity.putExtra(BaseSampleActivity.HEADER_KEY, sample.header);
                sampleActivity.putExtra(BaseSampleActivity.PATH_KEY, sample.dynamicLinkPath);
                startActivity(sampleActivity);
                return;
            }
        }
        showDynamicLinkResolveError();
    }

Getting Data From Incoming Intents

When you open the destination, you can now access data from the link because it’s available with the intent. You can get this data either in or .

First, navigate to PromoActivity.kt. Add the following method below :

private fun handleIntent(intent: Intent?) {
  val appLinkAction: String? = intent?.action
  val appLinkData: Uri? = intent?.data
  showDeepLinkOffer(appLinkAction, appLinkData)
}

In the code above, you get the and from the intent. You then pass them to .

Now, you might see some warnings due to missing imports. At the top of the file, add:

import android.content.Intent
import android.net.Uri

Now, all the import errors are gone. But you still have an error on . To resolve this, add the following method below :

private fun showDeepLinkOffer(appLinkAction: String?, appLinkData: Uri?) {
  // 1
  if (Intent.ACTION_VIEW == appLinkAction && appLinkData != null) {
    // 2
    val promotionCode = appLinkData.getQueryParameter("code")
    if (promotionCode.isNullOrBlank().not()) {
      activityPromoBinding.discountGroup.visibility = View.VISIBLE
      activityPromoBinding.tvPromoCode.text = promotionCode
      // 3
      activityPromoBinding.btnClaimOffer.setOnClickListener {
        activityPromoBinding.tvOfferClaimed.visibility = View.VISIBLE
      }
    } else {
      activityPromoBinding.discountGroup.visibility = View.GONE
    }
  }
}

Here’s a code breakdown:

  1. You check if the action from the intent is and also if the intent has data.
  2. Then you check if the link has a query parameter and set the visibility of the discount UI to visible. You also display your promotion code to a .
  3. Then you show a with an offer claimed message when you click .

You’re one step away from claiming the discount. :] To claim your discount, add the following code to the end of :

handleIntent(intent)

Here, you call and pass the intent from .

Build and run. The UI is still the same. Now, run the ADB command as before and select the PromoApp option.

You’ll see the following screen:

Tap and boom! You claimed your offer as shown in the screenshot below:

You learned how to get data from incoming intents. In the next section, you’ll see how you can support other scheme types in your deep link.

Сервисы для создания диплинк в социальных сетях

Большинство сервисов предлагают работать с Instagram, но некоторые могу создавать ссылки для Google Play или Spotify. Алгоритм простой: копируйте рекламную ссылку в генератор и… получаете готовую ссылку, которую можно использовать в РК.

Важно помнить: Facebook Ads Manager не любит диплинк-ссылки и за их использование можно получить бан. Модераторы могут посчитать диплинк-ссылку «системой для обхода средств безопасности»

К тому же, если сервис по созданию ссылок сломается, то рекламную кампанию могут остановить из-за битых ссылок.

Вот, например, таргетолог на VC.ru жалуется на бан из-за диплинк-ссылок, но, поговорив со службой поддержки, проблему решили – РК запустили с той же ссылкой.

Какие сервисы поддерживает: Instagram, Telegram, VK, Facebook, Twitter, TikTok, Viber, WhatsApp, Spotify, YouTube, OK.ruФишки: есть личный кабинет с аналитикой, генератор utm-меток, возможность подключать личные домены.Недостатки: не замечено.Цена: бесплатно до 500 кликов.

Интерфейс Deeplinkr

Какие сервисы поддерживает: Instagram, Facebook, VK, Telegram, TikTok, Twitter, YouTube, Google Play, AppStore.Фишки: поддерживает создание ссылок для приложений в магазинах Android и iPhone.Недостатки: ограниченный по функционалу личный кабинет, требуют номер телефон для регистрации в сервисе, нет возможности подключать свои домены.Цена: от 490 рублей за 5 000 кликов (дарят 500 пробных кликов за регистрацию).

Интерфейс BMBE deeplink

Какие сервисы поддерживает: Instagram, Telegram, WhatsApp, Viber, LinkedIn.Фишки: создает микролендинги с кнопками для перехода, визитки, есть телеграмм-бот, неограниченное число кликов.Недостатки: нет личного кабинета, вся работа ведется через бота.Цена: бесплатно для одной кнопки-ссылки. Если несколько — то 90 рублей в месяц за каждую ссылку-кнопку.

Интерфейс Jusl

Какие сервисы поддерживает: Instagram.Фишки: неограниченное число кликов.Недостатки: только для Instagram, нет личного кабинета и статистики.Цена: от 300 рублей в месяц за неограниченное число кликов.

Интерфейс Instadeep

Какие сервисы поддерживает: Instagram.Фишки: полностью бесплатный сервис для создания диплинк-ссылок.Недостатки: поддерживает только Instagram, нет личного кабинета и возможности отследить ссылку.Цена: бесплатно, без регистрации.

Интерфейс Hoversignal

Callback values

Key

Usage

Automatically generated 18 digit ID number for the link that drove the install/open, if present (0 for dynamic and 3P links)

The referring link that drove the install/open, if present

Where the link was created ( API
, Quick Link, SDK, iOS SDK
, Android SDK
, Web SDK, Dynamic, Third party)

If the match was made with 100% accuracy

The referrer for the link click, if a link was clicked

if first session (install), if any other session (open).

Default is .

Whether or not the user clicked a Branch link that triggered this session.

Default is .

App was opened from a non Branch link (third party, invalid Branch deep link, or Branch key mismatch).

Что такое диплинк?

Диплинк (Deeplink) ― глубокая ссылка. Так чем же она отличается от обычной? Простая ссылка, которая отправляет пользователя в приложение, приведет его на главную страницу (если оно у него уже установлено). Если нет ― юзер попадает в Гугл Плей или Эпл Стор.

А можно гораздо лучше! Допустим, у вас есть свое мобильное приложение, в котором проходит какая-либо акция. Траф берете из соц. сетей. И вам хочется, чтобы юзер попал в ваше приложение именно на эту страницу

И не важно, установлено оно или нет. Самое важное, чтобы клиент пришел на этот экран

К тому же, можно отслеживать все действия пользователя (откуда он пришел, сколько провел времени в приложении, купил ли ваш товар).

Все это умеют глубокие ссылки.

Understanding Deep Links

A deep link is a URL that navigates to a specific destination in your app. When you click a deep link, Android:

  • Opens the user’s preferred app that can handle the link, if it’s available.
  • If the preferred app isn’t available, it opens the only app that can handle the link.
  • If multiple apps can handle the link, it opens a dialog that lets the user select from one of the apps that can open the link.

Now you know what a deep link is. Next, you’ll learn about the different parts of a deep link.

Building Blocks of a Deep Link

Consider the link https://www.raywenderlich.com/test/code=abcd. It has the following parts:

  • https: Identifies the protocol used to access the resource on the internet.
  • www.raywenderlich.com: The host, which is the name or address of the web server being accessed.
  • /test: The path which specifies a particular page of content.
  • code: The query parameter you can extract from intents in your destination. abcd is the value of the parameter.

Now that you understand the parts of a deep link, it’s time to create one for your app.

Custom link behavior

Fallback to a specific URL

  • Determine where a deep link will navigate to if either

    • Your app is not installed

    • Another app prevent links from deep linking outside their app

  • Fallback overrides (ordered by precedence)

    • Add query string
    • Add link data ()
    • Add link data for a deep view ()
    • Enable a Deep View globally on the Branch Dashboard
    • Add link data ()
    • Add on the Branch Dashboard
    • Add Default URL () on the Branch Dashboard

Open web instead of app

  • Your app is not installed
  • Your app is installed
    • iOS: need to override
      • Add ()
      • Add redirect ()
      • Append

        e.g. https://example.app.link/fzmLEhobLD -> https://example.app.link/e/fzmLEhobLD

        to the deep link

    • Android: need to override
      • Uncheck and then hit on the Branch Dashboard
      • Add redirect ()
      • Add a broken URI Scheme with ()
  • Add in the link domain: e.g. ->

Что такое Deeplink

Глубинная ссылка (deeplink) – по сути тоже самое что и обычная ссылка. Разница лишь в том, как обрабатывается ее открытие.

К примеру у нас есть URL: . Из параметров мы видим, что данная ссылка ведет на каталог на страницу 3. Если у нас кроме сайта есть мобильное приложение, то мы хотим, чтобы наш пользователь открыл его а не браузер, верно? Если просто открыть программу на главном экране, то теряется пользовательский контекст, а именно то, что он был в каталоге на третьей странице.

Deeplink в мобильное приложение подразумевает то, что мы откроем приложение, перехватим параметры и покажем экран релевантный контексту пользователя.