Deferred deep linking remembers where a link was meant to go while someone installs your app, then opens that screen on the first launch. On Android, Google Play hands the app the original referrer string through the Install Referrer API. Apple offers no matching install referrer, so iOS apps usually restore the destination through sign-in or a code.
| Ordinary deep link | Deferred deep link | |
|---|---|---|
| App already installed | Opens the screen | Opens the screen |
| App not installed | Web page or store only | Store, then the screen after install |
| Needs data kept across the install | No | Yes |
Updated
Picture a shop that emails a discount link for one product. People who already have the app land on the product. People who do not are sent to the store, install, open the app and see the home screen: the product, and the reason they came, are lost. Deferred deep linking is the set of techniques that carries the destination through the install. Use the simulator below to follow each path.
Add Google's Play Install Referrer library, version 2.2, to your app's Gradle dependencies (the line is at the top of the example), then connect once on first launch.
Store a flag after the first successful read so the call is not repeated on later launches.
// build.gradle.kts: implementation("com.android.installreferrer:installreferrer:2.2")
val client = InstallReferrerClient.newBuilder(context).build()
client.startConnection(object : InstallReferrerStateListener {
override fun onInstallReferrerSetupFinished(code: Int) {
if (code == InstallReferrerClient.InstallReferrerResponse.OK) {
val details = client.installReferrer
val referrer = details.installReferrer // e.g. "route=/product/42"
val clickedAt = details.referrerClickTimestampSeconds
openRouteFromReferrer(referrer)
}
client.endConnection()
}
override fun onInstallReferrerServiceDisconnected() {}
})Replace the numbers with your App Store ID. app-argument reaches the app only when it is already installed.
<meta name="apple-itunes-app" content="app-id=123456789, app-argument=https://shop.example/product/42">| Fact | Detail |
|---|---|
| Android referrer lifetime | 90 days, unchanged unless the app is reinstalled |
| Play Store app version with the API | 8.3.73 or later |
| Firebase Dynamic Links | Shut down August 25th, 2025; links return 404 |
| iOS install referrer | None documented by Apple |
Deferred linking only works if something remembers the person between the web click and the first app launch. Store-provided data, like Android's referrer, is the clean way. Guessing who someone is from their device details, called fingerprinting, is unreliable and raises privacy questions, so avoid building it yourself.
Deferred linking sits on top of normal Universal Links and App Links. Set those up and confirm they work for installed users before adding the install path.
Yes. Firebase's FAQ says Dynamic Links shut down on August 25th, 2025, and that every link clicked now returns an HTTP 404 status to the visitor.
The Google Play Store app exposes the Install Referrer API. Your app reads the referrer URL of the install, plus click and install timestamps, through the Play Install Referrer Client Library.
Apple's universal links documentation describes opening installed apps and falling back to the browser, not passing data through an App Store install. Most iOS apps restore the destination after the person signs in, or by asking for a short code shown on the web page.
Apple describes app-argument as an optional URL that gives your app context. If the person already has the app, they can jump from your web page to the matching place in it. Apple does not say it survives a fresh install.
Not for the basics. Verified links plus the Android referrer cover many small apps. Paid services add cross-platform matching and reports; check each one's privacy terms before use.
Related: What is deep linking, Mobile app testing checklist, Progressive web app guide, UTM builder.
Start for free or see all free tools. We.Inc is free to start, with no card needed. AI building is on paid plans from $20 a month.
We.Inc is an AI-powered website builder you can resell under your own brand. Launch a branded client dashboard, bill on Stripe Connect, and deliver AI-generated websites in minutes. White-label plans start at $99 a month for 25 client sites, with a 7-day free trial and no per-site fees.