We preserved UTMs from our ad campaigns through the web onboarding and into subscription events. That let us build channel level cohorts and compare lifetime metrics instead of just installs.
The biggest surprise: one channel had great trial conversion but terrible month one retention. Without preserved UTMs that channel looked like a winner. With the web funnel we stopped spending on it until we fixed the creative and targeting.
What reporting do you use to compare channel cohorts over 30 and 90 days?
I kept things simple. UTMs in cookies then attach to subscription events. We used a small ETL to push that data into our analytics so we could compare channels.
It was low effort and gave immediate clarity on churn by channel.
I map channel cohorts by UTM and look at D1 D7 and D30 retention. Web funnels let me trace creative to month one churn which made reallocation decisions obvious.
Once I had that I scaled only channels with clean downstream retention.
We store UTM on signup and join it to subscription events. Reporting on month one churn by UTM changed our budget mix.
It made performance clearer.
UTM to subscription was the single best move
We added creative ids to UTMs and that let us find a single underperforming creative that inflated installs but tanked retention.
Fixing the creative fixed the channel.
Include a holdout where possible. It proved that some channels were only shifting installs not creating net new paying users.
Make sure your analytics keeps the UTMs even if users later install the app. That mapping is key.