ARTICLE AD BOX
I’m developing a mobile app for both Android (Kotlin) and iOS (Swift), and I need to identify where the app installation came from.
Use case
On the website, we show a popup like:
“Install the app and get a coupon”
User flow:
User visits website
User clicks popup/banner
User installs the mobile app from App Store / Google Play
User opens app and logs in
App should know the install came from the web popup campaign
Backend sends coupon to that user
What I want to achieve
I want to track:
install source
campaign ID
deferred deep link information
attribution after first install
connect web campaign → app install → user login
Questions
Android (Kotlin)
Is there an official way to detect install referrer?
Should I use:
Google Play Install Referrer API?
Firebase Dynamic Links?
AppsFlyer / Adjust / Branch?
How can I pass campaign parameters safely?
Example:
myapp://coupon?campaign=web_popup_001iOS (Swift)
Since App Store does not support install referrer like Android, what is the recommended approach?
Is Universal Link + deferred deep linking the correct solution?
Which service is commonly used in production?
Additional requirements
Need to work after fresh install
User may install app first and login later
Need backend to identify campaign and reward coupon
Prefer official or stable solution
What I already researched
Android Install Referrer API
Firebase Dynamic Links (seems deprecated?)
Branch.io
AppsFlyer
Adjust
But I’m not sure which approach is recommended in 2026 for cross-platform apps.
I would appreciate:
architecture suggestions
recommended SDK/services
sample implementation flow
best practices for Kotlin + Swift apps
Thanks!
