Deep Links and Universal Links in Mobile Development: What They Are, Types, and How to Configure

Author: IT Sectr Published: 2026-05-07 Reading time: 9 min

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 — a link that opens an app to a specific screen. Increases conversion by 42% (Branch.io, 2025).
  • iOS uses Universal Link (a single https link for web and app) and URL Scheme (a custom protocol like myapp://).
  • Android uses App Links (verified https links) and Intent Filters.
  • Firebase Dynamic Links and Branch.io — platforms for deferred deep linking: the link works even if the app is not installed.
  • Deferred Deep Link — a redirect after installation to the desired content. Used for attribution and retargeting.

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.

URL Scheme vs Universal Link (iOS)

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

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.

xml

<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 typeUniversal Link (iOS 9+), URL SchemeApp Links (Android 6+), Intent Filter
Verification fileapple-app-site-association (JSON)assetlinks.json (JSON)
HTTPS requiredYesYes
Without appWeb page opensWeb page opens
Can another app interceptNo (domain is unique)No (domain is verified)
URL Scheme conflictsYes (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 and Branch.io

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

What is the difference between Deep Link and Universal Link?

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.

What is a Deferred Deep Link?

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.

How to check if a Deep Link is working?

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.

Do I have to use Firebase or Branch.io?

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

  • Deep Link — a link that leads to a specific app screen. Increases conversion and engagement.
  • Universal Links (iOS) and App Links (Android) — the modern standard: https links verified through JSON files on the server.
  • URL Scheme (myapp://) — a legacy but still used method. Easier to configure but less secure.
  • Intent Filter in AndroidManifest.xml — a declaration of which URLs an Activity can handle. The autoVerify="true" parameter enables verification.
  • Firebase Dynamic Links and Branch.io — platforms for deferred deep linking (links work before app installation).
  • Deferred Deep Link — a redirect to the target screen after installation. Key tool for ad campaigns and attribution.
  • Proper deep link configuration increases purchase conversion up to 2 times (IT Sectr data, 2024–2025).

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.

Discuss the project