Vouch
Links

Deferred deep linking

How a destination survives the trip through the app store, and how honestly the install is matched back to the tap.

Someone taps a link, does not have the app, installs it, and opens it. Deferred deep linking is what carries the destination across that gap, so they land on the thing they tapped rather than your home screen.

Match priority

Vouch tries these in order and takes the first that answers.

OrderMethodDeterministicHow it works
1Session tokenYesThe person was signed in on the web before installing.
2Install ReferrerYesAndroid carries a signed token through Google Play.
3Clipboard tokenYesiOS carries a signed token via the clipboard. Off by default.
4FingerprintNoInferred from device characteristics within the match window.

The first three carry a token, so the match is a fact. The fourth is an inference, and Vouch labels it as one everywhere it appears.

The fingerprint, and its limits

When no token survives, Vouch compares the click and the install on a small set of characteristics: IP address, operating system version, device class, and language. They are combined and hashed with a salt that rotates daily, so what is stored identifies nothing on its own.

Two rules keep this honest:

Exactly one candidate, or nothing. If two different links fit the same fingerprint inside the window, Vouch records ambiguous and delivers no destination. On a shared office network with two people installing the same app, a guess would be wrong about half the time.

The match is consumed once. A destination is delivered to one install and marked used. A reinstall on the same device does not replay it.

Ask for the pending match without consuming it when you want to personalise onboarding before navigating. The SDKs expose this as a peek.

The clipboard on iOS

iOS has no equivalent of the Install Referrer. Vouch can copy a signed token to the clipboard from a landing page the person taps, and read it back on first open, which turns an inference into a fact.

The cost is that iOS shows a paste notification. It is off by default and must be enabled both on the app and in the SDK. When it is off, the SDK never reads the clipboard.

The match window

The window is how long a click stays eligible to be matched, two hours by default and configurable up to seven days.

curl -X PATCH https://api.vouch.dev/v1/apps/app_123/settings \
  -H "Authorization: Bearer sk_live_…" \
  -H "Content-Type: application/json" \
  -d '{"match_window_seconds":7200,"probabilistic_matching_enabled":true}'

A longer window catches people who install later. It also raises the chance of two candidates colliding, which produces an ambiguous match and no attribution at all. Longer is not always better.

Delivery in the app

The SDK holds the destination until your app says its navigation is ready, then delivers it exactly once, on a cold start or a warm one. If you never say you are ready, it delivers anyway after a timeout rather than losing the link.

See the quickstarts for the calls on each platform.

On this page