Deferred Deep Linking
Deferred deep linking that survives the install
WarpLink carries the link's destination and context through the store round-trip and delivers them on first launch, with a confidence score that says how sure the match is. It works on iOS, Android, and React Native through one SDK, with no advertising identifier and no App Tracking Transparency prompt.
How deferred deep linking works
The tap
Someone without your app taps your link. The redirect records the click and stores the signals it can see: the language, the timezone, and the address the request came from. The visitor carries on to the App Store or Play Store, or to whatever fallback you set for that link.
The install
The click waits for the install. On Android a Play Store URL destination lets the store pass the install referrer through the install, and that referrer makes the match exact. The App Store passes nothing through, so the deep link rests on a click still claimable inside the link's match window: six hours by default, never past 24 hours.
First launch
The SDK runs one check on first launch, sends the device signals, and gets back the link the install came from with a match type and a confidence score. Route straight to the screen on a strong match, show a welcome on a weak one, and gate anything sensitive on matchGuaranteed.
One SDK call
import WarpLink
WarpLink.configure(
apiKey: "wl_live_xxx",
options: WarpLinkOptions(onLink: { result in
guard case .success(let deepLink) = result, let deepLink else { return }
if deepLink.isDeferred {
// Survived the App Store install.
navigate(to: deepLink.deepLinkUrl ?? deepLink.destination)
} else {
navigate(to: deepLink.destination)
}
})
)WarpLink.configure(
context = this,
apiKey = "wl_live_xxx",
options = WarpLinkOptions(onLink = { result ->
result.onSuccess { deepLink ->
if (deepLink.isDeferred) {
// Survived the Play Store install.
navigateTo(deepLink.deepLinkUrl ?: deepLink.destination)
} else {
navigateTo(deepLink.destination)
}
}
})
)import { WarpLink } from '@warplink/react-native'
WarpLink.configure({
apiKey: 'wl_live_xxx',
onLink: ({ deepLink }) => {
if (!deepLink) return
if (deepLink.isDeferred) {
// Survived the store install.
navigateTo(deepLink.deepLinkUrl ?? deepLink.destination)
} else {
navigateTo(deepLink.destination)
}
},
})Frequently Asked Questions
It never asks for one. When the same install asks again, the identifier for vendor answers it exactly, and that identifier is exempt from the App Tracking Transparency prompt. A brand new install has no such answer, so the server compares the click and the launch on the request IP, the device language, and the IANA timezone name, stored only as a one-way hash, and returns a confidence score rather than a certainty.
Through the Play Install Referrer. WarpLink attaches the referrer when it sends a visitor to the Play Store, the store carries it through the install, and the SDK reads it on first launch for an exact match at confidence 1.0. Send visitors without your app to the play.google.com store URL, because a visitor who never reaches the store arrives with no referrer and falls back to the probabilistic match.
Six hours by default, and 24 hours at the most. You set it per link in the dashboard rather than in the SDK, and past 24 hours there is no probabilistic match at all. The ceiling is deliberate. The fingerprint identifies a network rather than a device, so every extra hour adds more strangers to the same bucket and almost no real matches.
It is true only for a deterministic match, which means the Play Install Referrer on Android or the identifier for vendor on iOS, and those always score 1.0. A probabilistic match is a best guess from a fingerprint shaped by the network, so it can name the wrong person however high the score reads. Gate automatic sign-in and anything personal on matchGuaranteed, and use the confidence score only to choose how specific a screen to open.
Nothing on top of your plan. Deferred deep linking, install attribution, and real-time analytics are included on every plan, starting with Free at $0 a month and 10,000 clicks. Paid plans run from $19 a month for 100,000 clicks to $149 a month with no click ceiling, and redirects are never blocked at any limit. The current numbers are at warplink.app/pricing.
Your links should open the app.
Your data should tell you why.
Set up deep linking, attribution, and analytics in minutes. Free to start.
Start building, freeHave a question?