How Deep Linking Works in Mobile Apps
Deep links send users to specific pages within your app, not just the home screen. Learn how they work and why they matter for user acquisition.

How Deep Linking Works in Mobile Apps
A user clicks your Facebook ad. The app opens directly to the product they saw in the ad, not your home screen.
That's deep linking.
Without it, users click your ad, install your app, open to the home screen, and have to search for what they just saw advertised. Most don't bother.
Deep linking connects the promise in your ad to the experience in your app. Here's how it works.
What Deep Linking Does
Standard app behavior without deep linking:
- User clicks ad for "20% off running shoes"
- App Store opens
- User installs app
- App opens to home screen
- User has to navigate to running shoes manually
With deep linking:
- User clicks ad for "20% off running shoes"
- App Store opens
- User installs app
- App opens directly to running shoes with discount applied
The friction between ad click and desired content disappears.
Types of Deep Links
There are three main types:
1. Basic Deep Links (URI Schemes)
Custom URL schemes that open your app.
Format: yourapp://path/to/content
Example: shoestore://products/running-shoes
How it works:
- Your app registers a custom scheme (e.g.,
shoestore://) - Links using this scheme trigger your app to open
- Your app reads the path and navigates accordingly
Limitations:
- Only works if the app is installed
- If app isn't installed, link breaks (user sees error)
- iOS shows confirmation dialog asking if user wants to open the app
- No fallback to web or App Store
2. Universal Links (iOS) / App Links (Android)
Standard HTTPS URLs that open your app when installed, fall back to web when not.
Format: https://yourapp.com/products/running-shoes
How it works:
- Your website hosts a verification file (apple-app-site-association or assetlinks.json)
- This file tells the OS which URLs should open your app
- When installed: Link opens the app
- When not installed: Link opens in browser (where you can redirect to App Store)
Benefits:
- Seamless fallback experience
- No confirmation dialogs
- Works across platforms
- Same URL works for web and app
Requirements:
- Control over your website's domain
- HTTPS hosting
- Proper verification file configuration
3. Deferred Deep Links
Deep links that work even when the app isn't installed yet.
Format: https://yourapp.com/products/running-shoes (processed by an MMP or deep linking platform)
How it works:
- User clicks link (app not installed)
- Link records intended destination
- User redirects to App Store
- User installs and opens app
- App retrieves saved destination
- App routes user to intended content
Use case:
Paid advertising, referral programs, email campaigns—anywhere you're driving new users.
We'll cover deferred deep linking in detail separately.
How Deep Links Work Technically
The flow for an installed app:
1. User clicks link
Link format: yourapp://product/123 or https://yourapp.com/product/123
2. Operating system intercepts
iOS or Android recognizes the URL scheme or domain as registered to your app.
3. OS opens your app
Your app launches (or comes to foreground if already running).
4. App receives the URL
The URL gets passed to your app's code via system callbacks.
5. App parses the URL
Your routing logic extracts parameters:
URL: yourapp://product/123?discount=20
Parsed:
- Screen: Product detail
- Product ID: 123
- Discount: 20%
6. App navigates to content
Your app displays the product with the discount applied.
Implementation Requirements
To make deep linking work, you need:
On iOS:
- Register URL scheme in Info.plist
- (For Universal Links) Create apple-app-site-association file on your server
- Implement URL handling in AppDelegate
- Add routing logic to navigate based on URLs
On Android:
- Declare intent filters in AndroidManifest.xml
- (For App Links) Create assetlinks.json file on your server
- Implement URL handling in your Activity
- Add routing logic to navigate based on URLs
Most developers use deep linking platforms (Branch, Adjust, AppsFlyer) that handle much of this automatically.
Parameter Passing
Deep links can include parameters that customize the experience:
URL: https://yourapp.com/product/running-shoes?color=blue&size=10&discount=20
Parameters extracted:
- Product: running-shoes
- Color: blue
- Size: 10
- Discount: 20%
Your app reads these and:
- Displays the blue running shoe, size 10
- Applies 20% discount automatically
- Customizes the view based on campaign context
This lets you create personalized experiences for different traffic sources.
Deep Linking for Attribution
Deep links serve two purposes:
1. User experience: Route users to relevant content
2. Attribution: Track which campaigns drive installs
When you click a deep link from a Facebook ad:
- The link includes campaign identifiers
- Your MMP (via the deep link platform) records the click
- When the app opens, attribution connects the install to that specific Facebook campaign
This is how MMPs attribute installs to specific ads, even without device IDs.
Common Use Cases
Paid advertising:
- Facebook ad for specific product → App opens to that product
- TikTok ad for discount → App opens with discount applied
- Google ad for content → App opens to that article
Referral programs:
- Friend shares product → App opens to product with referral credit applied
Email marketing:
- Email about abandoned cart → App opens to cart
Push notifications:
- Notification about order update → App opens to order details
QR codes:
- Physical poster with QR code → App opens to event details
Fallback Strategies
When the app isn't installed, deep links need fallback behavior:
Option 1: Redirect to App Store
User clicks link → Redirected to App Store → After install, opens to home screen
Limitation: Loses context. User doesn't get to the intended content.
Option 2: Show web version
User clicks link → Opens mobile website → Shows product on web → Banner prompts install
Benefit: User sees content immediately, can install if interested.
Option 3: Deferred deep link
User clicks link → Redirects to App Store → After install, opens to intended content
Benefit: Best of both worlds. User installs and gets to the right content.
Analytics and Tracking
Deep links enable granular tracking:
- Which ad sent users to which content
- Conversion rates from specific product pages
- Drop-off points in deep-linked funnels
- A/B testing different deep link destinations
Your MMP dashboard shows:
- Clicks on deep links by campaign
- Install rates from deep-linked campaigns
- Conversion from deep-linked content vs. generic home screen
- Revenue attributed to specific deep link destinations
Testing Deep Links
Before launching campaigns:
1. Test with app installed:
- Click deep link
- Verify app opens to correct screen
- Confirm parameters pass correctly
2. Test without app installed:
- Click deep link
- Verify fallback behavior (App Store, web, etc.)
- Check that deferred deep link works after install
3. Test across devices:
- iOS and Android
- Different OS versions
- Various browsers
4. Test from each traffic source:
- Facebook ads
- Email clients
- SMS
- QR codes
Each environment can handle links differently.
Common Issues
App doesn't open:
- Universal Link verification file not properly configured
- URL scheme not registered correctly
- HTTPS required but using HTTP
Opens to home screen instead of specific content:
- Routing logic not implemented
- Parameters not being parsed
- Invalid destination path
Works in testing, not in production:
- Development and production use different URL schemes
- Verification file on staging server, not production
- Ad platform stripping parameters
FAQs
What is deep linking?
Deep linking is a technique that sends users directly to specific pages or features within a mobile app, rather than just opening the app to the home screen. It creates seamless navigation from external sources into your app.
How do deep links work?
Deep links use custom URL schemes or universal links that the mobile operating system recognizes. When clicked, the OS routes the user to the specific content in your app, passing along parameters that tell the app what to display.
What's the difference between deep links and deferred deep links?
Regular deep links work when the app is already installed. Deferred deep links also work for new users—they remember the intended destination during app installation and route the user there after the first app open.
Do I need a deep linking platform or can I build it myself?
You can build basic deep linking yourself using native iOS and Android capabilities. Platforms like Branch, Adjust, or AppsFlyer add deferred deep linking, attribution, analytics, and cross-platform consistency that are complex to build.
Why aren't my deep links working?
Common issues include: verification files not properly configured, URL schemes not registered, HTTPS not used for Universal Links, routing logic not implemented, or parameters being stripped by intermediary platforms.
Deep linking transforms disconnected touchpoints into seamless user journeys. It's essential for paid acquisition, retention campaigns, and any scenario where you're driving users into your app from external sources.
Related Resources

Adjust vs AppsFlyer vs Branch: Which MMP is Right for You? (2025)
Compare the top mobile measurement partners in 2025. Honest breakdown of Adjust, AppsFlyer, and Branch pricing, features, and strengths.

Best Deep Linking Tools for Mobile Apps (2025)
Branch, AppsFlyer, Adjust, and Firebase alternatives compared. Find the right deep linking platform for attribution, routing, and user experience.

Blended vs Platform ROAS: What to Optimize For
Learn the difference between blended ROAS and platform-reported ROAS, which one to optimize for, and how to use both for better budget allocation decisions.