How to detect app install source / deferred deep link on Android (Kotlin) and iOS (Swift) after web popup campaign login?


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:

  1. User visits website

  2. User clicks popup/banner

  3. User installs the mobile app from App Store / Google Play

  4. User opens app and logs in

  5. App should know the install came from the web popup campaign

  6. 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_001
    
    

iOS (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!

0
May 12 at 4:20 AM
User AvatarNguyễn Đức Thành
#android#ios#swift#kotlin#mobile

Accepted Answer

give the person the "right to choose". Generate the code at the advertising location and request it during registration in exchange for the promise of some kind of bun or just as a registration component. The user will identify the installation source himself.

User Avataruser31774114
May 12 at 10:35 PM
0