An introduction to app install attribution on iOS

Rita Zerrizuela
iguanafix-engineering
4 min readNov 22, 2018

A common way to fuel the growth of a mobile app is to run an ad campaign that directs leads to the Google Play / App Store. To measure the success of such a campaign we need a way to find out which ads lead to which installs. Attributing each install to specific ads, campaigns and ad networks is what referral tracking is about.

Android supports adding special parameters to the Play Store URL to uniquely identify where the conversion came from. Most analytics platforms support tracking these parameters automatically, so it’s pretty straightforward.

On iOS things get a bit more complicated. The App Store keeps the referrer data siloed in App Analytics, so the only way to get attribution data that we can actually access is to use a third party attribution service. These services cross reference data across platforms and ad networks, allowing to follow a lead past installation and forward the referrer data to our analytics platform of choice.

Matching identities

Some attribution services (like AppsFlyer or Adjust) have partnerships with the most popular ad networks (like Facebook or Google Ads). In those cases they will get the attribution data directly from the network. Otherwise, we’ll need a different approach:

It’s a two-step process that involves reading some data when the lead clicks on the ad and then comparing it to some other data when the app runs for the first time.

First, the attribution service takes the ad’s destination URL (the app’s page on the App Store, or a deferred deep link) and creates another with the referrer data baked in. We must use this URL in the ad instead of the original. When the lead clicks the ad the attribution service will read the data and then perform a transparent redirection to the ad’s original destination.

Once the user installs and opens the app for the first time, the service SDK will ‘call home’ to match the user with the data recorded before. The matched data can be beamed back to the app or forwarded automatically to a supported analytics platform.

How it works

Attribution services rely on a number of techniques to do the matching; chief among them are IDFA matching and fingerprinting. The difference lies in the kind of identity data used to perform the comparison.

IDFA Matching

IDFA (or IDentifier For Advertisers) is an Apple-provided unique identifier. It’s device-specific and allows an advertiser to track a user across apps and sessions. Any app can read it, effectively taking the place of web cookies in the iOS world.

The attribution service will include the IDFA in the specially crafted URL (among other bits of data we want to track, like the campaign and medium) and read it back when the lead clicks on the ad. Once the app runs for the first time, their SDK will get the device’s IDFA and send it back to compare it.

Fingerprinting

This method involves collecting some device details when the lead clicks on the ad, like the IP address, screen size and iOS version. When the app runs, the service’s SDK will then recapture those details and send them back to check if they match.

This is a probabilistic method so it’s never 100% accurate. Plus its accuracy will drop quickly until the user runs the app for the first time. To deal with this, attribution services define a time limit to track the conversion (generally 24 hours).

Using an attribution service

While the specifics will be up to each attribution service provider, the broad strokes remain the same:

  1. Sign up for the provider
  2. Configure it with your ad network, campaign details and analytics platform
  3. Register the app bundle ID and other details
  4. Install the provider’s SDK
  5. Initialize and configure it in the AppDelegate

Wrapping up

So far we’ve seen what referral tracking is about, how to use a third party attribution service and the basics of how they work.

All in all, if the ad network has a partnership with the attribution service provider then you’re all set. If not, you’ll need to set up your ads with special urls to triangulate identity data. And if the provider integrates with your analytics platform it can forward the referral data automatically. Otherwise, it’s up to you to do it.

Enjoyed this article? Follow us and stay tuned for more.

--

--