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 3, 2026

Who runs this

  • Mobile product teams
  • Growth marketers

What it uses

  • 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