Before you start
- Install the iOS or React Native SDK and confirm an
app_installevent in Events. - Connect your revenue source: RevenueCat, Superwall, or Stripe.
- Use a physical device for every test. A simulator does not reproduce store handoff, App Tracking Transparency, or the install referrer.
The four bridges, in order of accuracy
A browser cookie can’t reach a native app, so we use four different bridges instead.
Build the first two. Treat the last two as fallbacks.
Build the tracking link
- Open Track.
- Create a link and choose the app destination.
- Add the App Store URL and the Play Store URL.
- Use the link in your ad, keeping the platform’s click-ID macro intact.
$link_click, then shows an interstitial on your own host that fires
$app_download_click and forwards to the store.
On Android, Datalyr appends the Play Store referrer parameter carrying dl_click_id,
dl_click_id_type, and your UTMs. The SDK reads it after install.
These click IDs pass through a link: fbclid, gclid, gbraid, wbraid, ttclid,
sclid, msclkid, twclid, li_fat_id, epik, dclid.
Bridge by email
This is the only deterministic bridge on iOS.- Turn on
Auto-capture emailin Settings → Identity & Attribution. - Capture the email on your web landing page.
- Call
identify()in the app with the same email trait.
Bridge by client IP
After a first install, the mobile SDK asks Datalyr whether a recent web session shares the device’s IP address.The ambiguity rule is what keeps this honest on carrier-grade NAT. Widening the window
returns nothing more often, not less, because more visitors collide on one IP address.
$web_attribution_matched with
match_confidence: "probabilistic".
SKAdNetwork
- Set
NSAdvertisingAttributionReportEndpointin your app’sInfo.plisttohttps://ingest.datalyr.com. - Ship the build.
https://ingest.datalyr.com/.well-known/skadnetwork/report. The path is
fixed by iOS, so it carries no workspace ID. Datalyr maps the postback to a workspace by
its Apple app ID.
We verify Apple’s signature and store the result either way, so a postback that fails
verification is flagged rather than dropped.
Verify
- Uninstall the app from a physical device.
- Open your tracking link on that device.
- Install from the store and open the app.
- Open Events and confirm
app_installarrives. - Confirm the event carries
utm_sourceor a click ID. - Sign in to the app.
- Complete a test purchase.
- Open Conversions and confirm the row carries the same campaign.
When it does not work
Next
- iOS SDK and React Native SDK: install and method reference.
- Mobile: the full mobile setup path.
- Identity: how the email bridge picks a touch.