Home / Symptoms / iOS

iOS installs attributed far lower than Android

iOS attribution running far below Android is expected after ATT. Learn why user-level matching is limited and where iOS paid results show up in reports instead.

SymptomThe share of installs your MMP attributes to paid campaigns is much lower on iOS than on Android.
Most likely causeWithout ATT permission the IDFA is zeroed, Apple bans fingerprinting, and many iOS results arrive only as aggregate SKAN data.
First checkCompare the MMP's user-level iOS attribution with its SKAN or AdAttributionKit report for the same campaigns.

Short answer: this is structural, not a bug. On iOS 14.5 and later the IDFA is all zeros unless the user grants tracking permission, Apple does not allow fingerprinting, and many networks report iOS results through SKAN or AdAttributionKit. Read iOS paid performance from those aggregate sources.

Why iOS and Android attribution differ

ATT (App Tracking Transparency): Apple's framework that requires an app to ask permission before it can access the IDFA or track the user across other companies' apps and websites.

Apple says the IDFA reads as all zeros if tracking is not requested, denied, restricted or in the Simulator. Without it, an MMP has far fewer ways to match an iOS install to an ad click.

Should iOS and Android attribution rates match?

No. On Android the Google Play Install Referrer still hands same-session click data to the app, so user-level matching works for many more installs. Expect iOS user-level attribution to be lower and fill the gap with aggregate data.

Likely causes

  • ATT denials. The IDFA is zeroed for users who do not grant permission.
  • No fingerprinting. Apple says you may not derive data from a device to uniquely identify it, and treats fingerprint IDs as tracking identifiers.
  • No other identifier workaround. Apple says that without ATT permission you cannot use another identifier, such as a hashed email, to track.
  • SKAN-only network reporting. Meta says third-party tools may only receive SKAdNetwork reporting for its iOS campaigns.
  • The ATT prompt never shows. Apple says it does not appear if tracking is restricted, the user turned off requests, the app is not active, or it is called from an extension.

How to confirm it

  1. Compare iOS user-level attributed installs with the SKAN or AdAttributionKit installs for the same campaigns.
  2. Check whether your ATT prompt appears on a fresh install with tracking requests turned on.
  3. Check that the prompt is called while the app is active, not from an extension or during launch.
  4. Compare the iOS organic share before and after a major iOS campaign launch.

How to fix it

  1. Use SKAN and AdAttributionKit as the main source of iOS paid results.
  2. Use Meta's AEM and other network aggregates for in-platform optimisation.
  3. Make sure the ATT prompt is shown at a sensible moment while the app is active.
  4. Do not try to rebuild user-level matching with fingerprinting or hashed identifiers; Apple's policy forbids it.
  5. Set separate attribution expectations for iOS and Android in your reporting.
AndroidiOS without ATT permission
Advertising IDNot limited by ATTIDFA all zeros
Store referrerPlay Install ReferrerNone
Aggregate sourceNetwork reportsSKAN, AdAttributionKit

See paid installs showing as organic for the broader picture, the SKAN 4 postbacks guide for iOS measurement, and the organic installs troubleshooter to rule out other causes.

FAQ

Common questions

Why is iOS attribution so much lower than Android?

Because most iOS users' devices return a zeroed IDFA without ATT permission and Apple bans fingerprinting. MMPs therefore match fewer iOS installs at user level.

What is a typical ATT opt-in rate?

There is no primary source that publishes one, and rates vary widely by app and prompt design. Measure your own from your app's ATT responses.

Can I use email or phone numbers to match iOS installs instead?

Apple says that without ATT permission you cannot use another identifier, such as a hashed email, to track the user.

Where do iOS paid installs show up then?

In SKAN or AdAttributionKit postbacks and in networks' aggregate reporting such as Meta's AEM. These do not need ATT permission.

What is mobile attribution?

Mobile attribution is the process of crediting each app install or in-app event to the ad, link or channel that drove it. A mobile measurement partner (MMP) does this across all your channels so each install is counted once.

Why do ad networks report more installs than my MMP?

Each network counts every install it touched within its own windows, including views, while an MMP gives each install to a single source. Adding the networks' numbers together therefore overstates real installs.