Deep linking for mobile apps: open the right screen

Deep linking sends a user from a link straight to a specific screen inside your app instead of the home screen. On iOS and Android it uses verified domain files, and deferred deep linking carries the destination through install. Smler hosts those files per domain and tracks every click.

01

What is deep linking?

A normal link opens a web page. A deep link points at a place inside your app, like one plan, one product, or one invite. When someone taps it, the operating system decides whether your app should handle that URL. If it should, the app opens on that screen.

Link types
URI scheme, Universal Link, App Link
App not installed
Store, then deferred link
Attribution window
90 days by default, configurable
Web sales after a click
400-day first-party cookie option
Free plan
25,000 installs

02

How do deep links work on iOS and Android?

Both platforms use the same idea: your domain proves it belongs to your app. On iOS that proof is the apple-app-site-association file. On Android it is assetlinks.json. When the file checks out, a tap on an https link on that domain opens your app instead of the browser. Smler also uses device-based routing, so one short link can send each visitor where they should go.

https://go.yourbrand.com/summer-toteOne link, shared anywhere

Smler checks

Platform and whether the app is installed

  • App installed

    Universal Link (iOS) or App Link (Android) hands the URL to your app

    Opens /products/summer-tote in the app

  • App not installed

    Device routing sends iOS to the App Store and Android to Google Play

    Store, then the same screen on first open (deferred deep link)

  • Desktop or no app

    Web fallback for the same content

    Opens the web page for the product

The same short link covers installed, not-installed, and desktop visitors.

04

What is deferred deep linking, and when do you need it?

A plain deep link has one weak spot. If the app is missing, the person goes to the store and the destination is lost. Deferred deep linking keeps it: the click is held across the install and the first open routes to the screen the link promised. You need it whenever the click might be what causes the install. Below, the same four steps run twice.

Deep link

App not installed yet

Home screen

Product lost at the store

Deferred deep link

App not installed yet

Summer tote

Install credited to the link

A deep link opens the store and the product id is lost, so the new install lands on the home screen. A deferred deep link holds the payload through the store and the install, so the first open lands on the Summer tote and credits the install to the link.

The mechanics for Android and iOS, with code, are on the deferred deep linking page.

05

How do you set up deep links with Smler?

Smler hosts the AASA and assetlinks files per domain. The shapes look like this, with your own ids in place of the placeholders.

// https://go.yourbrand.com/.well-known/apple-app-site-association
{
  "applinks": {
    "details": [
      {
        "appIDs": ["TEAMID.com.yourbrand.app"],
        "components": [{ "/": "/summer-plan" }]
      }
    ]
  }
}
// https://go.yourbrand.com/.well-known/assetlinks.json
[{
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.yourbrand.app",
    "sha256_cert_fingerprints": ["AA:BB:...:FF"]
  }
}]

Check both files with the free AASA validator and assetlinks validator before you test on a device. Then follow the deep linking introduction and the device-based routing docs for the store and web fallbacks.

06

How do you track clicks, installs and conversions from a deep link?

Smler records every click. When the app opens from the link after install, that open is counted as an attributed install against the link. The default attribution window is 90 days and it is configurable. Leads and sales are recorded with server calls, and Shopify, WooCommerce, Stripe and Polar webhooks can send sales without custom code. For web visits, sm.js is served from /api/v2/attribution/sm.js?key=..., and a server-set first-party cookie option keeps a later web sale tied to the click for 400 days. Bot filtering and duplicate-sale protection keep the counts clean.

# Report the open for the click id the link carried
POST /api/v2/track/:clickId

# Tie a lead or sale to the same click (x-code header required)
POST /api/v2/conversion/track/lead
POST /api/v2/conversion/track/sale

07

What happens when the app is not installed?

Take a fitness app that emails the link https://go.yourbrand.com/summer-plan. The same URL behaves differently for each reader.

What happens and what is logged for each device state
ReaderWhat opensWhat is logged
InstalledOpens the plan screen in the appThe click
Not installed (phone)Store, then the plan screen on first open (deferred)The click, then the attributed install on first open
DesktopWeb page for the same planThe click

Installed readers go straight to the plan screen. Readers without the app get the store first, and the deferred link brings them to the same plan screen on first open, as covered on the deferred deep linking page. Desktop readers see the web page.

08

Which use cases fit deep links?

  • Influencer links

    One link per creator, so installs and sales stay with the creator who drove them.

  • Referral links

    A per-user link carries the referrer through install. Smler records attribution. It does not pay rewards.

  • Email

    A message points at one screen, like a plan or a product, instead of the home screen.

  • QR codes

    Print and packaging clicks open the right screen for new and existing users.

  • Paid social

    The ad click and the install are split by the store. A deferred link keeps the screen the ad promised.

Scenarios for each one are on the deep linking use cases page. Planning creator campaigns? Use the influencer ROI calculator, earned media value calculator, and influencer rate calculator.

09

How much does deep linking cost?

Smler plans
Free$025,000 attributed installs
Builder$19 / month50,000 attributed installs
Team$49 / month100,000 attributed installs
Scale$129 / month500,000 attributed installs
EnterpriseFrom $299 / monthCustom volume

Every plan includes deferred deep linking, and the Free plan covers 25,000 attributed installs a month. See pricing for the full plan details.

Frequently asked questions

What is the difference between a deep link and a normal link?

A normal link opens a web page in a browser. A deep link opens a specific screen inside a mobile app, like one plan or one product. On iOS and Android that uses a Universal Link or App Link on your domain, or a custom URI scheme. If the app is missing, a Universal Link or App Link falls back to the web page.

Do I need an SDK for deep linking?

Opening an installed app from an https link relies on the association files on your domain, not on an SDK. Carrying the link through an install, which is deferred deep linking, needs a read on the first app open. Smler has the @smler/deferred-link (React Native) and smler_deferred_link (Flutter) packages for that, and the deferred deep linking page shows the native Android read.

Does deep linking work if the app is not installed?

A plain deep link cannot open an app that is missing, so the person goes to the store or the web page. With deferred deep linking, the destination is kept through the install and the first open routes to the same screen. Desktop visitors fall back to the web page for the same content.

How do I host the apple-app-site-association (AASA) and assetlinks files?

Smler hosts the AASA and assetlinks files per domain, so you do not have to serve them from your own servers. Add your iOS and Android app details, then check both files with the free AASA validator and Android assetlinks validator before testing on a device.

How long does attribution last?

The default attribution window is 90 days, and it is configurable. For web sales after a click, a server-set first-party cookie option extends tying a sale back to the click to 400 days.

Create your first deep link free

The Free plan includes 25,000 installs. Read how deferred deep linking carries the link through install.