Use case

Deferred deep linking, without an SDK

Someone taps your link in an ad, a WhatsApp message, or a QR code. They do not have your app yet, so they detour through the App Store or Play Store. With a normal link, that detour is where the journey ends: the user lands on your app’s home screen and whatever you promised them is lost. Deferred deep linking keeps the destination alive across the install. LinkTrace does it with two HTTP calls — one from your server to create the link, one from your app after install — with no SDK to embed, and it is included on every plan, including the free one.

Start tracing — freeRead the deferred deep linking docs

What is deferred deep linking?

Deferred deep linking is a link that takes a user to a specific screen inside your app even when the app is not installed yet. The tap first sends them to the app store to install; when they open the app for the first time, they still land on the exact screen the link pointed to. “Deferred” means the navigation intent survives the install gap.

How deferred deep linking works with LinkTrace

Three steps, two API calls.

  1. Create the link. Your server calls POST /api/v1/referral-links with the target screen encoded in customPayload — for example screenName: "promo_screen". You get back a short link to share anywhere.
  2. The user taps and installs. LinkTrace records the click server-side, detects the device, and sends the user to the App Store or Play Store. If the app is already installed and you have set up Universal Links and App Links on a branded subdomain (Scale plan), the link opens the app directly instead — see deep linking.
  3. The app resolves the destination on first launch. After install, your app calls POST /api/v1/attributions once — on first launch or right after sign-up. If the install matches a recorded click, LinkTrace returns the original link metadata, including your customPayload. Your app reads screenName and navigates there.
Step 1 — create the link (server)
http
POST https://api.linktrace.in/api/v1/referral-links
Content-Type: application/json
x-api-key: YOUR_API_KEY

{
  "referrerIdentifier": "user_9821",
  "campaign": "summer_referral",
  "customPayload": {
    "screenName": "promo_screen",
    "promoCode": "SAVE20"
  }
}
Step 3 — attribution response (app)
json
{
  "success": true,
  "data": {
    "attributed": true,
    "referrerIdentifier": "user_9821",
    "campaign": "summer_referral",
    "customPayload": {
      "screenName": "promo_screen",
      "promoCode": "SAVE20"
    }
  }
}

The full request and response shapes, with iOS, Android, React Native and Flutter routing examples, are in the deferred deep linking guide and the API reference.

Where deferred deep linking breaks down

Being honest here saves you debugging time later.

  • Matching is probabilistic. Without an SDK, LinkTrace matches installs to clicks with device fingerprint matching. It works best when the tap and the first app open happen close together, on the same device and network. When there is no confident match, the API returns attributed: false rather than a guess.
  • The window is 24 hours. The user must install within 24 hours of tapping the link. Installs outside that window return attributed: false. A user who taps today and installs next week starts fresh.
  • Some contexts strip signals. Private browsing, some in-app browsers, and a user switching devices between tap and install can all break the match. Plan your onboarding so a missed match degrades to your default home screen, not an error.

Deferred deep linking on Android and iOS

The integration is the same two HTTP calls on both platforms. There is no Android SDK and no iOS SDK: your server creates links, and your app calls the Attribution API once after install. Platform-specific setup — Universal Links on iOS, App Links on Android — is only needed when you want links to open an already-installed app directly, which is covered on the deep linking page.

The deeper engineering story — why fingerprint matching and deterministic attribution differ, and where iOS and Android implementations silently break — is in our implementation walkthrough. For the conceptual difference, read deferred vs standard deep links.

What LinkTrace does not do

LinkTrace is deferred deep linking, install attribution, and referral tracking for apps growing through links: referrals, social, messaging, QR and influencer campaigns. It is not a paid-media measurement suite. If you need SKAdNetwork management, ad-network postbacks, fraud scoring and paid-media cost aggregation, you need a full MMP — our MMP alternative page has an honest breakdown.

Frequently asked questions

Is deferred deep linking free with LinkTrace?

Yes. Deferred deep linking is included on every plan, including the free Starter plan (a one-time allowance of 100 dynamic links and 1,000 attributed installs). See pricing.

Do I need to install an SDK?

No. Integration is two HTTP calls: one from your server to create a link, one from your app to resolve attribution after install. There is nothing to embed in your app binary beyond that single API call.

How does LinkTrace match an install to a click without an SDK?

When someone taps a link, LinkTrace records the click server-side with device signals. After install, your app calls the Attribution API, and LinkTrace matches the install to the recorded click using device fingerprint matching. When it matches, you get the original link’s full metadata back; when it does not, you get attributed: false.

What is the attribution window?

24 hours. The user must install within 24 hours of tapping the link for the install to be attributed to that link.

Does it work for both the App Store and Google Play?

Yes. The same link detects the user’s device and routes to the right store, and the same Attribution API call resolves the destination afterwards.

Start tracing — free plan, no credit card

Two HTTP calls, no SDK, and deferred deep linking, install attribution and referral tracking on every plan.

Start tracingRead the deferred deep linking docs

Further reading