Onboarding

Onboarding that knows where you came from: the first screen matches the ad's promise

'50% off your first order' shouldn't land on a generic welcome screen where the discount has to be found.

Updated Sep 27, 2026

Which teams own contextual onboarding?

  • Mobile product teams
  • Growth marketers

Which LinkTrail features does contextual onboarding need?

  • Deferred deep linking
  • Per-link campaign and creative tagging
  • Post-install events

Every campaign makes a specific promise — a discount, a feature, a use case — and the generic onboarding flow makes none of them. The person who tapped 'try the sleep tracker' gets the same four screens as the person who tapped 'split bills with friends'. Both learn what the app is. Neither gets what they came for.

What problem does this solve?

The first screen after install should match the ad. If the ad offered a code, the code should already be applied. If it promised a feature, onboarding should lead with that feature. That requires the app to know, at first open, what the user was promised — which is exactly what the payload carries across the install.

How do you set the links up?

The campaign link carries the promise in the payload: the promo code, the feature to lead with, the onboarding variant. The app reads it at first open and branches. The campaign tag stays on the link so the variant's performance attributes back to the campaign that used it.

{
  "deepLinkPath": "/onboarding",
  "customData": {"promo": "WELCOME50", "lead": "sleep-tracking", "cmp": "meta-sleep-q3"}
}

What should branch on the payload?

Payload saysOnboarding does
A promo codeApplies it silently and shows the discount already active on the first paywall
A featureLeads with that feature's setup, and defers the rest
A referrerNames the friend and skips the 'how did you hear about us' step
NothingThe default flow, which is now only for genuinely organic installs

Why not just show the code on a screen?

Because every step between the promise and the delivery loses people. A code the user has to type is a code some of them mistype and some of them never enter. Applying it from the payload means the discount is a fact by the time they see a price, not a task.

Which metric should you watch?

Onboarding completion by payload variant, then activation by variant. If the sleep-tracking lead-in completes at 70% and the default at 45%, that gap is the case for building more variants — and the campaign tag tells you which ads deserve one.

Tagged#Onboarding#Promo codes#Activation

Onboarding — common questions

How does onboarding know what the ad promised?

The campaign link carries the promise in its payload — a promo code, the feature to lead with, or the onboarding variant. The app reads it at first open after install and branches, and the campaign tag attributes each variant's performance back to the ad.

What should onboarding change based on the payload?

A promo code is applied silently and shown on the first paywall; a feature leads onboarding; a referrer is named and the 'how did you hear about us' step is skipped. With no payload, the default flow runs for genuinely organic installs.

Why not just show the promo code on a screen?

Every step between the promise and its delivery loses people — some mistype the code and some never enter it. Applying it from the payload makes the discount a fact by the time they see a price.

Questions about your setup?

Email support@linktrail.io or see the plans, starting with a free tier.