Mobile Measurement: MMPs, Attribution, and the Cross-Surface Gap

Mobile measurement attributes app installs and events to the campaigns that drove them. Here's what an MMP does — and why app and web numbers rarely reconcile.

Ethan Lowe6 min readExplainer
Loose dowels crossing at random beside dowels linked in a diamond lattice

Mobile measurement is the practice of attributing app installs, opens and in-app events to the campaigns that drove them. It is dominated by mobile measurement partners (MMPs such as Adjust, Branch and AppsFlyer) which sit between the ad networks and the app, receive attribution signals, and deduplicate competing claims.

MMPs do that job well inside the app. The unsolved problem is outside it. The same campaign almost always runs on web as well, measured by an entirely different system using entirely different identifiers, and the two views are joined, if at all, by hand. Reconciling them does not need a better MMP. It needs the campaign to carry one identity that both the MMP and the web analytics platform can recognize, which is something neither of them issues.

What is mobile measurement?

Rebuilding the connection between an ad and what happened inside an app afterward.

The problem is specific to apps. On the web, a click carries parameters to a page and the analytics tag on that page reads them, so the connection between ad and outcome travels with the visit. An app install breaks that chain: the user leaves the ad, goes to an app store, and arrives in a freshly installed app that has no memory of where they came from.

Everything distinctive about the field follows from that one fact: the link has to be reconstructed rather than carried.

What an MMP does

Receives attribution claims from networks, deduplicates them, and reports a single attributed source.

The deduplication is the part worth understanding, because it explains why the category exists at all.

Each ad network reports its own installs. If a user saw a Meta ad, then a TikTok ad, then installed, both networks will claim that install, and each is reporting honestly under its own rules. Adjust’s definition of a mobile measurement partner (accessed 2026-09-11) and AppsFlyer’s account of the same category (accessed 2026-09-11) both describe this arbitration role: the MMP is a neutral party that applies one consistent rule across every network so the advertiser gets one answer rather than a sum that exceeds reality.

That makes an MMP structurally an arbiter rather than just a measurement tool: it is trusted because it is not one of the claimants. Branch’s glossary entry on MMPs (accessed 2026-09-11) covers the mechanics underneath.

Worth noting who those three sources are. Adjust, AppsFlyer and Branch are the three largest MMPs, each defining a category it sells into. They agree closely on mechanics, and all three scope the account to the app, which is the limit at issue here.

How app attribution differs from web

Different identifiers, different windows, different arbiters.

WebApp
How the link travelsParameters carried on the URLReconstructed after an app-store detour
IdentifierCookie or first-party ID on your domainDevice or vendor-scoped advertising ID
Who arbitratesYour analytics platformThe MMP, across competing network claims
Attribution ruleSet in your analytics configSet in the MMP, applied to all networks
Campaign labelWhatever your parameters saidWhatever the network passed the MMP

The final row is where the cross-surface problem originates. On web, you control the campaign label because you built the link. In app, the label arrives from the network, in whatever form the network and the trafficking team agreed on, and the MMP records what it was given.

The same campaign across every channel: Cross-channel measurement — what breaks when one campaign spans several.

Signal loss and what changed

Platform privacy changes reduced deterministic identifiers and pushed attribution toward modeling.

App attribution was long largely deterministic: a stable per-device advertising identifier let a network’s click and an install be matched with confidence. Platform privacy changes made that identifier available for a much smaller share of users, and the industry substituted probabilistic and aggregated methods: modeled conversions, aggregated install reporting, statistical matching.

The durable consequence, rather than the specifics: a growing share of app attribution is estimated rather than observed, and estimates carry confidence intervals that deterministic matches did not. That changes what an app number means when it sits in a report next to a web number derived a different way.

It also changes the direction of the reconciliation problem. When both surfaces were deterministic, a mismatch was a bug to be hunted. Now some of the gap is inherent to the method and cannot be closed, only characterized, which makes it more important rather than less that the part of the gap caused by inconsistent campaign naming is eliminated, since it is the only part still fixable.

Why app and web will not reconcile

Two systems, two identifier schemes, one campaign, and nothing common between them.

Run one campaign across app and web and you end up with two reports that cannot be added together:

  • Different identifiers. A device advertising ID and a first-party web identifier describe the same person and share no key.
  • Different arbiters. The MMP resolves competing network claims under its rule; your web analytics resolves its own attribution under a different one.
  • Different campaign labels. The network passed the MMP whatever the trafficking team entered; your web links carry whatever your parameters said. These agree only by coincidence.

“The MMP is right and the web analytics is right and the total is still wrong.” — Rob Allanach, Sr. Solutions Architect, Claravine

The first two are genuinely hard and partly permanent. Identity resolution across surfaces is a real technical problem; differing attribution rules is a real methodological one. Neither has a cheap fix.

The third is not hard at all, and it is the one that gets left. It requires no identity graph and no methodological agreement, only that the same campaign carries the same identifying value in both places. Teams work on the difficult two and tolerate the easy one, because the easy one does not look like measurement work.

What would make them reconcile

One campaign identity applied in both surfaces at setup.

Not a shared user identity. That is the hard problem, and it is not required here. What is required is far smaller: that the campaign itself is identifiable as the same campaign on both sides.

  1. One campaign vocabulary across surfaces. The same permitted values for channel, initiative, region and period, whether the campaign is being trafficked to an app network or a web placement.
  2. Applied at trafficking, in both places. Into the network’s campaign fields and into the web link’s parameters, generated from the same source rather than typed twice.
  3. Accept what remains. Identity resolution and differing attribution rules still produce a gap. Characterize it, state it in the report, and stop trying to close it.

The result is not one number. It is two numbers that can be placed side by side and discussed, which is what teams actually needed. “App: 4,200 installs attributed by the MMP; web: 1,800 conversions, last-click 30-day; not additive, overlap unmeasured” is more useful than a single figure that quietly assumed the two were comparable.

One campaign identity, everywhereApproved values applied where campaigns are created.Explore campaign tracking and measurement

Frequently asked questions

What does MMP mean in marketing?

Mobile measurement partner. It is an app-attribution term; the acronym has other meanings in other fields.

What does an MMP do?

Receives attribution claims from ad networks, deduplicates competing claims for the same install, and reports one attributed source under a consistent rule.

What is an MMP for apps?

The same thing: the term is app-specific by definition. There is no web equivalent, because on the web your own analytics platform performs the arbitration.

Do I need an MMP if I only run web campaigns?

No. MMPs exist for in-app attribution, and the problem they solve does not arise when the link travels on the URL.

Why don’t app and web campaign numbers match?

Different identifiers, different attribution arbiters, and usually no shared campaign identity between them. The first two are partly permanent; the third is fixable and is the one most often left alone.

Sources

Related Posts

Free guideHow to Build a Marketing TaxonomyA 17-page guide with example marketing taxonomies — the critical steps in building one, the role of metadata in your marketing ecosystem, the questions to settle for an enterprise-wide taxonomy, and examples from a range of industries.Get the guide
Upright bolts giving way to a solid enclosure and an open wireframe lattice

Data Democratization: Wider Access Without Worse Data

Open bins scattered loosely beside bins packed tightly in a dense grid

Data Silos: What They Are, and the One Integration Cannot Fix

Scattered cube clusters beside a uniform chevron pattern of blocks

Data-Driven Content: What Has to Be Tagged Before the Data Means Anything