Mobile Attribution Methods Compared: Deterministic, Probabilistic, SKAN and AdAttributionKit by MMP

Every mobile measurement partner (MMP) promises to tell you which ad drove an install. How it does that depends on the device, the store and the user’s consent, and the method behind each number decides how much you can trust it. An install matched by Google Play’s referrer is a fact. An install credited by an IP address match is an estimate. An iOS install reported through SKAdNetwork arrives a day or more later, at campaign level, with no user attached.

This guide explains the five methods in use today, the order MMPs apply them in, and what changed in 2025 and 2026: Apple’s AdAttributionKit took over from SKAdNetwork for Apple Ads, and Google retired the Android Attribution Reporting API. We read the attribution documentation of Apple, Google and six MMPs on November 3, 2026, and the comparison at the end shows how AppsFlyer, Adjust, Singular, Branch, Kochava and Airbridge handle each method.

Mobile attribution methods at a glance

Card comparing five mobile attribution methods: install referrer, device ID matching, self-attributing networks, probabilistic modeling and SKAdNetwork or AdAttributionKit, by platform, consent, data level and accuracy
Sources: Apple, Google, AppsFlyer, Adjust and Branch documentation, read November 3, 2026. Chart by About Martech.
MethodPlatformNeeds consent?Data levelType
Install referrerAndroid (Google Play and other stores)NoUser levelDeterministic
Device ID matching (IDFA, GAID)iOS and AndroidiOS: yes, ATT opt-inUser levelDeterministic
Self-attributing networks and Apple Ads APIiOS and AndroidDepends on the networkUser level, claimed by the networkDeterministic
Probabilistic modelingiOS and AndroidiOS: restricted to cases Apple permitsUser level, estimatedProbabilistic
SKAdNetwork and AdAttributionKitiOS (AdAttributionKit from iOS 17.4)NoCampaign level, delayedDeterministic, aggregated

Branch’s method table lists the same building blocks plus preload attribution for pre-installed apps and direct deep links for users who already have the app (Branch). AppsFlyer’s table uses the same split (AppsFlyer). For how these methods feed tool choice, see our mobile attribution tools guide. If you are weighing a move off Branch, see our Branch alternatives.


How MMPs choose a method: the attribution waterfall

When an install or reopen comes in, an MMP looks back over the clicks and impressions it recorded and picks one winner. Adjust publishes its order: deterministic click matching and store referrers first, then probabilistic click matching, then deterministic impression matching, then probabilistic impression matching, and finally organic if nothing matches (Adjust waterfall).

The rules are similar across vendors. AppsFlyer gives priority to clicks over impressions and to deterministic over probabilistic matches (AppsFlyer). Kochava says a click wins against an impression even if the click is further back, and a deterministic match outranks a modeled one (Kochava). Within a tier, the most recent eligible touch usually wins.

Two settings decide whether a touch is eligible at all:

  • Lookback windows. AppsFlyer lets you set click lookback from 1 to 30 days (default 7 days) and view lookback from 1 to 24 hours (default 24 hours) (AppsFlyer). Adjust defaults device-matched clicks to 7 days, with a range of 1 to 30 days (Adjust).
  • Separate windows for probabilistic matches. Every MMP we checked runs a much shorter window for probabilistic matches, because IP addresses change often. Kochava says its modeled lookback is shorter for this reason (Kochava).

If you are coming from web analytics, this is last-touch logic with a priority list on top. Our multi-touch vs last-touch attribution explainer covers why most MMPs stay last-touch for installs.


Deterministic attribution methods

A deterministic match ties an install to a touch through an identifier both sides share, so there is no guessing. There are four ways to get one.

Install referrer (Android)

When a user installs from Google Play, the Play Install Referrer API gives the app the referrer URL of the store listing, the time of the referrer click and the time the install began (Android Developers). The MMP puts its click ID in that referrer, so the match is exact and needs no device ID. It requires Play Store app version 8.3.73 or later. Branch also reads referrers from the Huawei, Samsung and Xiaomi stores (Branch), and Adjust checks the Play Store referrer in the first step of its waterfall (Adjust). Kochava and Singular also use Google’s referrer (Kochava, Singular).

Device ID matching (IDFA, GAID and others)

Here the ad network passes the device’s advertising ID with the click or impression, and the MMP’s SDK reads the same ID on first open. Adjust lists IDFA, GAID, IDFV, Android ID and OAID (used on devices without Google Play services) as identifiers it can match on (Adjust), and says deterministic matching is its primary method. On iOS, apps need the user’s permission through App Tracking Transparency to track or to read the IDFA (Apple). Branch notes it only collects IDFA and GAID when users have opted in through ATT or the equivalent platform consent (Branch).

One change to watch in Europe: Apple says that from iOS 27.2, developers can use an alternative version of the ATT prompt in the EU, and that only the alternative version is available for apps distributed in Germany, France, Italy, Poland and Romania. The rules on when you must ask permission stay the same (Apple).

Self-attributing networks

Large platforms such as Google, Meta and TikTok do not pass click data to the MMP. Instead the MMP sends each install to the network, the network checks its own logs and claims the install if it served a qualifying ad. The match is deterministic on the network’s side, but you are relying on the network’s own lookback rules, which is why the same install can be claimed by more than one network and the MMP has to deduplicate. Airbridge lists SAN attribution as a separate deterministic method ({a(“ab_m”,”Airbridge”)}).

Apple Ads attribution API

Apple Ads works through Apple’s own AdServices attribution API or AdAttributionKit. MMPs request an attribution token through AdServices, and Apple counts a download within 30 days of a tap or one day of a view. Apple counts the App Store download while MMPs count the first open, so the two numbers will not match exactly (Apple Ads Help).


Probabilistic attribution vs fingerprinting

Probabilistic attribution matches a click to an install by comparing signals both events share. Singular lists platform, IP address, OS name, OS version, user agent and timestamp, all of which come from standard HTTP headers (Singular). Kochava uses IP address and user agent, and its glossary states that probabilistic matching is 85% to 90% accurate (Kochava). That is Kochava’s own figure, not an independent test.

On iOS, this is where policy bites. Apple’s user privacy page says “you may not derive data from a device for the purpose of uniquely identifying it”, and apps that reference SDKs which do this may be rejected (Apple). So MMPs have narrowed what probabilistic matching is used for on iOS:

  • Adjust limits it on iOS 14.5 and later to owned media, cross-promotion and web-to-app flows where the user has consented (Adjust).
  • Branch runs its Predictive Modeling (PREM) on iOS paid channels only when the user has granted ATT permission, and enables it by default for non-paid channels (Branch).
  • Kochava says it supports only two compliant cases: owned media where data is not linked to another company, and mobile web touches where the user opted in to tracking in the target app (Kochava).
  • AppsFlyer describes probabilistic modeling as an aggregate, campaign-level report for the developer’s own campaigns, such as ads, website links, emails, QR codes and SMS (AppsFlyer).

On Android, probabilistic matching is mostly a fallback when there is no referrer and no device ID, which in practice means mobile web, email and connected TV campaigns. Singular names exactly those cases (Singular).

Probabilistic windows by MMP

MMPProbabilistic windowSource
Adjust1 to 24 hours, default 6 hoursAdjust attribution windows
SingularDefault 24 hours, up to 168 hoursSingular probabilistic FAQ
Airbridge6 hoursAirbridge identity matching
BranchCapped by the Deep Linking Duration settingBranch attribution windows
KochavaShorter than the device match window, set per partner or trackerKochava attribution overview

If your web-to-app flows depend on probabilistic matching, our web-to-app attribution tools guide covers the deferred deep linking options that replace it where possible.


SKAdNetwork: how iOS attribution works without consent

SKAdNetwork (SKAN) is Apple’s privacy-preserving attribution API. Ad networks sign their ads, and when a user installs and opens the app, the device sends a cryptographically signed postback that contains no user or device data (Apple). Starting in iOS 16.1 with SKAN 4, apps can update conversion values during three conversion windows, which can produce up to three postbacks per install. One ad network receives the winning postback and up to five others receive a non-winning one.

The detail you get depends on crowd anonymity. Apple assigns each install a postback data tier based on volume, and the tier decides whether the postback carries a fine conversion value, a coarse one or none, and how much of the source identifier is included (Apple). Rocketship’s breakdown gives the specifics: conversion windows of 0 to 2, 3 to 7 and 8 to 35 days; a fine value from 0 to 63 in the first postback only, and coarse values of low, medium or high; a 24 to 48 hour random delay for the first postback and 24 to 144 hours for later ones (Rocketship).

Because SKAN postbacks go to the ad network, you also want copies sent to your MMP. AppsFlyer, Adjust and Singular each publish a postback copy endpoint you add to your Info.plist (AppsFlyer, Adjust, Singular). The MMP then decodes conversion values into events and revenue ranges using its conversion value tool.


AdAttributionKit vs SKAdNetwork

AdAttributionKit (AAK) is Apple’s newer framework, available from iOS 17.4. Apple’s SKAdNetwork documentation now opens by telling developers to “use AdAttributionKit for app ad campaigns on the App Store and alternative marketplaces” (Apple). It keeps SKAN 4’s privacy model and adds re-engagement attribution in iOS 18, so a returning user who taps an ad can be credited (Apple).

SKAdNetwork 4AdAttributionKit
Minimum iOS16.1 for three conversion windows17.4; re-engagement from iOS 18
Where installs come fromApp StoreApp Store and alternative marketplaces
Re-engagement attributionNoYes
Attribution windowsFixedConfigurable: views 1 to 7 days, taps 1 to 30 days
Attribution cooldownNoYes, 0 to 720 hours
Conversion windows and valuesThree windows, fine and coarse valuesSame model as SKAN 4
User or device data in postbackNoneNone

Sources: Apple ad attribution, Apple SKAdNetwork documentation and Rocketship. The two frameworks compete for the same conversion: only one impression wins across both, taps beat views, and the most recent impression wins after that (Rocketship). Conversion value updates made through SKAN are mirrored into AAK, so you do not need two conversion schemas.

The iOS 26.2 change for Apple Ads

Branch told customers that for Apple Ads campaigns, AAK replaces SKAN as iOS 26.2 rolls out, that SKAN postbacks mirror AAK postbacks for users on iOS 26.2 and later, and that apps must add AAK to their Info.plist alongside SKAN or Apple Ads attribution will be interrupted for those users (Branch). Branch’s AAK support covers Apple Ads only for now and requires its Ads (Performance) product. If you set up SKAN years ago and never revisited your Info.plist, check this first.


What happened to Android’s Attribution Reporting API?

Google’s Privacy Sandbox for Android included an Attribution Reporting API meant to replace GAID-based matching. In October 2025, Google said it would retire the Privacy Sandbox technologies, including Attribution Reporting on Chrome and Android (Google Privacy Sandbox). Its status page lists the API as “Deprecate and remove” (Privacy Sandbox status).

In practice, Android attribution in 2026 still runs on the Play Install Referrer and GAID, with probabilistic matching as the fallback for web and email traffic. If an MMP pitch leans on Android Privacy Sandbox support, ask what it means now.


Attribution methods by MMP

Matrix of six MMPs, AppsFlyer, Adjust, Singular, Branch, Kochava and Airbridge, showing support for install referrer, device ID matching, probabilistic matching, iOS probabilistic scope, SKAN and AdAttributionKit postback copies
Sources: each vendor’s help center, read November 3, 2026. Chart by About Martech.
MMPInstall referrerDevice IDProbabilisticSKANAdAttributionKit
AppsFlyerYesYesAggregate, own campaignsYes, postback copiesYes, postback copies
AdjustYesYes, incl. OAIDYes, 6 h default; iOS owned media and consented webYes, postback copiesYes, postback copies
SingularYesYesYes, 24 h default, 168 h maxYes, postback copiesYes, incl. re-engagement copies
BranchYes, incl. Huawei, Samsung, XiaomiWith consentPREM; iOS paid needs ATTYesApple Ads only, Performance plan
KochavaYesYesModeled IP and user agent; iOS limitedYesYes, via SDK
AirbridgeYesYes6 h windowYesNot named on its methods page

Sources: AppsFlyer model, AppsFlyer postback copies, Adjust methods, Adjust SKAd, Singular probabilistic, Singular postbacks, Branch methods, Branch AAK, Kochava overview, Kochava Apple SDK, Airbridge. “Not named” means the method page we read does not mention it, not that the feature is missing; ask the vendor.

Method support is now close to table stakes. The differences buyers feel are price, SKAN conversion value tooling and fraud protection, which we compare in MMP pricing, AppsFlyer vs Adjust and Singular vs AppsFlyer.


Which method answers which question

QuestionMethod to trustWhy
Which Android campaign drove this install?Install referrer, then GAIDExact match from the store
Which iOS campaign drove installs from users who opted in?IDFA matchingUser level, deterministic
How are my iOS campaigns doing overall?SKAN and AAK postbacksCovers users who did not opt in
Did my email or web banner drive installs?Probabilistic, short windowNo ID or referrer available
Did Apple Ads drive this download?AdServices API and AAKApple’s own attribution
What is each channel’s true lift?Incrementality tests or MMMAttribution only assigns credit

The last row matters. Every method above assigns credit for installs that happened; none tells you which installs would have happened anyway. For budget questions, pair your MMP with marketing mix modeling software.


Setup checklist

  • Integrate the MMP SDK and the Play Install Referrer library on Android.
  • Decide when to show the ATT prompt on iOS. Apple does not allow you to gate features on it or reward users for allowing tracking (Apple).
  • Add your MMP’s SKAN and AdAttributionKit postback copy endpoints to Info.plist.
  • Declare AdAttributionKit alongside SKAdNetwork if you run Apple Ads.
  • Map fine conversion values to the early events that best predict revenue, since only the first postback carries a fine value.
  • Set probabilistic windows to the shortest period that still covers your flows, and switch probabilistic matching off where policy does not allow it.
  • Review lookback windows per network so one partner is not claiming installs on a 30-day click while others use 7 days.

How we researched this guide

We read Apple’s developer pages on SKAdNetwork, AdAttributionKit and user privacy, Apple Ads Help on MMPs, Google’s Play Install Referrer and Privacy Sandbox pages, and the attribution help pages of AppsFlyer, Adjust, Singular, Branch, Kochava and Airbridge on November 3, 2026. Where a figure comes from one vendor, we name the vendor. We did not test any SDK on a live app.


Frequently asked questions

What are the main mobile attribution methods?

The main methods are install referrer matching on Android, device ID matching with IDFA or GAID, self-attributing network claims, probabilistic matching on IP address and user agent, and Apple’s SKAdNetwork and AdAttributionKit for iOS users who have not opted in to tracking.

What is the difference between deterministic and probabilistic attribution?

Deterministic attribution matches an install to a click through a shared identifier, such as a referrer click ID or an advertising ID, so the match is exact. Probabilistic attribution compares signals such as IP address and user agent within a short window and estimates the match. MMPs always prefer deterministic matches.

Is probabilistic attribution allowed on iOS?

Only in limited cases. Apple does not allow deriving data from a device to uniquely identify it. MMPs restrict probabilistic matching on iOS to cases such as owned media, cross-promotion and web-to-app flows where the user has consented to tracking.

What is the difference between SKAdNetwork and AdAttributionKit?

AdAttributionKit is Apple’s newer framework, available from iOS 17.4. It keeps SKAdNetwork 4’s privacy model but adds re-engagement attribution from iOS 18, configurable attribution windows, a cooldown setting and support for alternative app marketplaces.

Do I still need SKAdNetwork if I use AdAttributionKit?

Yes, keep both in your Info.plist. The frameworks work together, only one impression wins across both, and SKAN conversion value updates are mirrored into AdAttributionKit. Branch says Apple Ads attribution breaks on iOS 26.2 and later without AdAttributionKit declared.

How long is a probabilistic attribution window?

It is short. Adjust defaults to 6 hours with a range of 1 to 24 hours, Singular defaults to 24 hours with a maximum of 168 hours, and Airbridge uses 6 hours. Branch caps it at its Deep Linking Duration setting.

What is the Google Play Install Referrer?

It is an Android API that gives an app the referrer URL of the Play Store listing, the referrer click time and the install start time. MMPs place their click ID in the referrer, which gives an exact match without a device ID.

Is the Android Attribution Reporting API still coming?

No. Google said in October 2025 that it would retire its Privacy Sandbox technologies, including Attribution Reporting on Chrome and Android, and its status page lists the API as deprecate and remove.

Related reading

Ethan Brooks
Ethan Brooks

Ethan Brooks writes about the post-sale side of the martech stack at About Martech: customer success platforms, retention and loyalty software, and the attribution tools that tie marketing spend back to revenue. He compares platforms by team size, budget, and how much implementation work each one actually takes, rather than by feature count.

Articles: 33