Deep Link is a link that leads not to a web page but to a specific screen in a mobile app. According to Branch.io Mobile Deep Linking Report 2025, apps with configured deep links show 42% higher conversion to installs and 28% higher retention. Let's explore how deep links work on iOS and Android, what types exist, and what tools are available.
Key Takeaways
Deep Link is a URL for mobile apps that contains information not only about which app to open, but also about which screen to show. For example, the link myapp://profile/42 opens the myapp app and immediately navigates to the user profile with ID 42. Without a deep link, the user would only land on the app's main screen.
Deep links are critical for marketing and user experience. They are used in email campaigns, push notifications, ad campaigns, and QR codes. According to AppsFlyer (2025), campaigns with deep links show 35% higher CTR (click-through rate) compared to regular links to the main screen.
At IT Sectr, we have been implementing deep links in all our projects since 2019. Our experience shows that proper deep link configuration in mobile apps increases user engagement by 25–30% through relevant content immediately after the redirect.
On iOS, there are two main ways to implement deep links: URL Scheme (custom protocol) and Universal Link (standard https link). Both methods allow configuring deep links for mobile apps and have their advantages and disadvantages.
URL Scheme is a custom protocol like myapp://path/to/screen. It has been available since iOS 3.0 and requires no server configuration. The downside: if the app is not installed, Safari cannot open such a link, and the user sees an error. Additionally, URL Schemes can be intercepted by other apps since the protocol is not unique.
Universal Link (iOS 9+) is a regular https link that works both as a web page and as a deep link. If the app is installed, iOS intercepts the link and opens the app. If not, the web page opens. Universal Links are more secure (the domain is verified) and do not show a warning.
Setting up Universal Links requires two steps: place the apple-app-site-association file on the server and add an entitlement in Xcode. The AASA file contains JSON with information about supported paths and app ID. iOS downloads this file when the app is installed and verifies it when following a link.
Important: the AASA file must be accessible over HTTPS without redirects. At IT Sectr, we recommend configuring Universal Links instead of URL Scheme for all new projects — they are safer, more reliable, and provide a better user experience.
App Links (Android 6.0+) are the Android equivalent of Universal Links for mobile apps. The app specifies which https URLs it can handle and verifies this through a digital file on the server. Android checks the domain-app association without user intervention.
To implement App Links, you need to: add an Intent Filter to AndroidManifest.xml with autoVerify="true", place the assetlinks.json file on the server, and sign the app. After that, Android automatically directs all links from the specified domain to the app (if installed).
Intent Filter is a declaration in AndroidManifest.xml that tells the system what types of intents an Activity can handle. For deep links, the Intent Filter contains data elements: scheme (http/https), host (domain), and path.
<activity android:name=".MainActivity">
<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:scheme="https"
android:host="example.com"
android:pathPrefix="/product/" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="myapp"
android:host="product" />
</intent-filter>
</activity>
The first Intent Filter handles App Links (https links verified through assetlinks.json). The second handles URL Scheme (myapp://). Important: autoVerify="true" tells Android to verify the association when the app is installed. If verification fails, the system will show an app selection dialog.
| Parameter | iOS | Android |
|---|---|---|
| Deep link type | Universal Link (iOS 9+), URL Scheme | App Links (Android 6+), Intent Filter |
| Verification file | apple-app-site-association (JSON) | assetlinks.json (JSON) |
| HTTPS required | Yes | Yes |
| Without app | Web page opens | Web page opens |
| Can another app intercept | No (domain is unique) | No (domain is verified) |
| URL Scheme conflicts | Yes (any app can register the same scheme) | Yes |
Table 1. Comparison of iOS and Android approaches to deep linking. Universal Links and App Links are the modern standard. URL Scheme and Intent Filters without autoVerify are legacy but still used methods.
Firebase Dynamic Links (Google service) and Branch.io are platforms for managing deep links that solve the main problem: what to do when the app is not installed. They create smart links that redirect to the App Store / Google Play for installation, and after installation — to the desired screen.
Firebase Dynamic Links is a free service (as of 2025). It allows creating links like https://yourdomain.page.link/xxx that work as deep links on both platforms. Firebase Dynamic Links support deferred deep linking and attribution.
Branch.io is a commercial platform with broader functionality: social media links, QR codes, analytics, and attribution. Branch.io is used by major apps (Pinterest, Reddit) and integrates with major MMPs (AppsFlyer, Adjust).
Deferred Deep Link is a deep link for mobile apps that triggers after installation. The user clicks a link before installing the app, installs it, and after the first launch automatically lands on the target screen. This is a key mechanism for ad campaigns: a user clicked on a product ad → installed the app → immediately saw that product.
Attribution is determining the installation source. Which ad campaign brought the user? Which channel? Attribution platforms (AppsFlyer, Adjust, Branch) identify every deep link click and link it to the installation. According to AppsFlyer (2025), deferred deep links increase purchase conversion by 30% compared to regular installation.
At IT Sectr, we configure deferred deep links for e-commerce projects. For example, in a mobile shopping app: a user sees an ad for a specific product, clicks the link, downloads the app, and immediately lands on that product page. Purchase conversion in this scenario is 2 times higher than with standard installation.
Frequently Asked Questions
Universal Link is a type of Deep Link for iOS that uses the standard https protocol. Deep Link is a general term for any link that leads into an app. Universal Link is a specific case that is safer and more reliable than a regular URL Scheme.
This is a link that remembers the user's intent (which screen to open) until the app is installed. After installation, the app receives the link parameters and opens the desired screen. Without this, the user would land on the main screen after installation.
On iOS, use the command xcrun simctl openurl booted "https://your.link". On Android, use adb shell am start -W -a android.intent.action.VIEW -d "https://your.link". You can also use services like Branch.io for testing.
No, if the app is already installed — Universal Links and App Links are sufficient. Firebase Dynamic Links or Branch.io are only needed for the "link before install" scenario (deferred deep linking). For most apps, basic deep links are sufficient.
Summary
We will develop a mobile application turnkey
IT Sectr creates iOS and Android applications for startups and businesses since 2017. We will advise you and propose the best solution.