Web-to-app: how not to lose the user halfway
In mobile marketing, web-to-app is when a user first lands on a website and then proceeds to the App Store or Google Play to install an app. This scenario is classic for some types of businesses: first, the person sees an ad, learns about the product on a landing page, and then downloads the app and registers. But if mobile measurement platform (MMP) analytics is misconfigured, the entire path can be wasted: installs won’t be attributed to the ads, and analytics will show “organic” instead of the actual source.
Why standard tracking scripts are a pain
At Power-UP agency, we tested popular solutions from AppsFlyer and Adjust. Their logic is simple: the script reads UTM tags from the current page, inserts them into a deep link, and redirects the user to the app store. But there are two serious downsides:
-
If the user browses the site and doesn’t immediately click “Download”, the UTM tags are lost. The deep link is formed without parameters, and all analytics becomes inaccurate.
-
The scripts don’t retain the source between sessions. If the person returns to the site the next day without tags, the install is counted as “direct” instead of being attributed to the ad.
In multichannel campaigns, this is a disaster: the budget is spent, but reports show “organic”.
How we solved this without developers
The solution that actually works:
-
On the first visit to the site, UTM tags are stored in the browser’s cookies. Even if the user navigates between pages — the source is not lost.
-
Each time the user returns, the script checks: if the new visit is direct but a previous source exists in the cookie — we use it. If the user came from a new channel — we update the source.
-
The deep link is generated dynamically based on the current source, and all “Download App” buttons are automatically replaced with the correct links with parameters.
All this functionality was implemented by Power-UP’s web analyst through Google Tag Manager — without involving developers or changing the site’s code. This allowed us to quickly test the hypothesis and scale the solution.
Result: analytics became accurate
Now AppsFlyer and Adjust receive accurate data about the actual channel that brought the user. All installs and events are correctly attributed, and I see an objective picture of campaign effectiveness.
Checklist for web-to-app tracking:
-
Use the full UTM tag structure:
?utm_source=google&utm_medium=cpc&utm_campaign=test-campaign&utm_term=creative
The utm_term field is not mandatory, but useful for passing details (keyword, creative, etc.). -
Don’t rely on standard scripts — they don’t preserve the source during navigation and repeat visits.
-
Store UTM tags in cookies and generate deep links dynamically.
-
Implement everything via GTM — it’s fast, flexible, and doesn’t require developers.
Conclusion
If you want to see real results from your advertising campaigns in mobile analytics, this approach is essential. It’s a must-have for a modern marketer who values time, money, and data accuracy. To implement the solution, contact the Power-UP agency for performance marketing and web analytics. This material is taken from a case study on our page at the following link — case study on accurate install channel tracking for a FinTech mobile app project