Skip to main content
Pick this if you ship an iOS or Android app and want installs and subscription revenue credited to the campaign that drove them. When you finish, an install that came from your ad reports the campaign, and the subscription that follows attributes to the same person.

Before you start

  • List the platforms you ship: iOS, Android, or both.
  • Choose your subscription provider: RevenueCat, Superwall, or Stripe.
  • Have a physical device. A simulator does not reproduce store handoff, App Tracking Transparency, or the Play install referrer.

The path

Initialize the SDK before the first screen renders. Events tracked before init() warn and return, and the install attribution lookup runs only on the first launch, so a late init costs you the campaign permanently.

Use one identity everywhere

Pass the same internal user ID to Datalyr, to RevenueCat, and to Superwall. Without datalyr_id, the subscription resolves to revenuecat_<app_user_id> or superwall_<app_user_id>. You keep the revenue and lose the campaign behind it. Never use an email address or an advertising identifier as the primary user ID. Both change, and the journey splits when they do.

Verify

  1. Uninstall the app from a physical device.
  2. Open your Datalyr tracking link on that device.
  3. Install and open the app.
  4. Open Events and confirm app_install arrives with a campaign.
  5. Sign in.
  6. Complete a sandbox purchase.
  7. Open Conversions and confirm the same campaign on the revenue row.

When it doesn’t work

Next