We used to lose UTM tags once users hit the app store or the native paywall. Moving the onboarding and checkout to the web let us carry UTM parameters from the ad click all the way to the subscription record.
After mapping UTMs to paying users we could finally trust campaign-level ROAS. The biggest gain was spotting underperforming creatives and reallocating budget quickly. The tricky part was ensuring cookies and deep links survived across devices and installs.
How do you reliably preserve UTM data through install and sign-in in cross-device funnels?
We persisted UTM data in the web session and then linked it to the user profile before they installed or signed in.
If the install happened later we matched using email or a generated install token. I used the Web2Wave web flow as a starting blueprint and adapted the JSON they provided to store campaign IDs server-side. Works well when you plan the identity link early.
Preserving UTMs on the web let us stop guessing about channel performance.
We stored UTMs server-side tied to a user id at conversion and used that id to reconcile installs. With Web2Wave the web funnel captured campaign data before app installation so our paid channels showed true ROAS faster.
We wrote the UTM into a small server record at checkout.
When users later signed in on the app we matched that server record to their account. It cleared up attribution noise fast.
Store utm server side link at login
The reliable approach is to capture UTM parameters on the first web touch, persist them server-side, and tie them to a persistent identifier (email, phone, or a generated id). Then, when the user signs into the app, pull that identifier and merge the UTM data into the profile.
For installs that happen before sign-in, implement deferred deep linking with a link that can carry an install token. Track and validate the match rate and always run sanity checks to detect mismatches across attribution windows.
Our match rate improved after adding a short sign-up step on the web before install.
It added friction but greatly reduced lost attribution. Worth testing if your ads need accurate ROAS.
Watch out for privacy settings that block cross-site cookies.
Store UTMs server-side and use first-party identifiers to avoid reliance on client cookies.
We matched UTMs by email on signup.
Simple and accurate for our flow.