Insights
Mobile Game Measurement Partner (MMP)
What an MMP does, how attribution works, what App Tracking Transparency and SKAN changed, how to choose one for a game, and where an MMP stops and the analysis layer begins.
What is an MMP (mobile measurement partner) and why are they needed?
A mobile measurement partner is the neutral third party between a game and the ad networks it buys installs from. Its SDK sits in the game and records installs, sessions, purchases and whatever custom events you define. The networks report the clicks and impressions they served. The MMP matches the two, decides which campaign gets credit for which install, and returns one standardised view across every channel: what each install cost, where it came from, and what it went on to do.
The reason a game needs one is that every network grades its own homework. Meta will report the installs it believes it drove, so will Google, and so will the rewarded network you added last month; the same install can appear in all three. Without a neutral record, ROAS double-counts and the channel mix is decided on flattery. The MMP is the referee, and it is also the plumbing: it aggregates spend across networks, sends postbacks back to them so their optimisers can learn, handles deep links, and screens for install fraud. Publishers commonly run about five ad partners at once (Adjust puts the 2025 average at 5.3, hybrid-casual at 9.8), and past two or three the MMP is the only place the picture is whole.
How MMPs work
Matching an install to an ad
The SDK reports an install; the MMP looks for the click or impression that preceded it. Where a device identifier is available on both sides, the match is deterministic: the Google advertising ID on Android where the user has consented, and the IDFA on iOS only for users who opted in under App Tracking Transparency. Where it is not, the MMP falls back to whatever the platform allows, which on iOS means SKAdNetwork postbacks routed through the MMP rather than a device-level match. Each match happens inside an attribution window, a limit on how long after a click or a view an install can still be credited; the windows are configurable and commonly run days for clicks and hours for views.
Attribution models
Last touch is the default: the last click before the install gets the credit. Most MMPs also offer first touch and multi-touch views, and a view-through model that credits an impression when no click occurred. Re-engagement and re-attribution windows cover campaigns aimed at players who already have the game. Whichever model is on, the numbers it produces are the ones every network gets scored on, so the model choice is a budget decision as much as a reporting one.
What is SKAN, ATT, Privacy Sandbox for Android and the 'post-IDFA world'?
iOS: App Tracking Transparency and SKAdNetwork
Since iOS 14.5 in April 2021, Apple requires an ATT consent prompt before an app can use the IDFA for tracking. Consent moved from implicit with an opt-out to explicit opt-in, and for a user who does not opt in there is no device identifier on the install side to match against the click. The practical effect for most games is that iOS attribution moved from deterministic to aggregated.
The aggregate comes from SKAdNetwork: Apple attributes the install itself and sends a postback carrying a coarse conversion value, delayed, and subject to privacy thresholds that null the value when a campaign is too small. SKAN 4 added multiple postback windows and crowd-anonymity tiers; Apple's newer AdAttributionKit framework adds re-engagement attribution. The timers, conversion values and postback contents are covered step by step in our guide to SKAN and IDFA.
Android: Privacy Sandbox came and went
Google went the other way. It announced Privacy Sandbox for Android, then retired the initiative in October 2025 without deprecating the GAID advertising identifier, so the Android-side migration marketers had prepared for never arrived. GAID-based measurement still works where the user has consented, and for most studios Android is now the deterministic half of their attribution.
How do MMPs provide value in the post-IDFA world?
On iOS the MMP's job changed from matching identifiers to managing SKAN. That is setup work, and it is where the value is. The conversion-value schema decides what the coarse postback can tell you, so it has to be designed around the metric you pay back on (an early purchase, a purchase count, a revenue band) rather than left on the default event list. Campaign structure decides whether postbacks clear the privacy thresholds or arrive as nulls. And the gaps that remain are filled by modelling: probabilistic estimates for the installs SKAN cannot place, and aggregated cohort modelling to turn coarse values into usable ROAS.
Out of the box, SKAN gives a coarse and delayed signal, and a studio that reads it like the old IDFA reports will conclude that iOS UA no longer works. Set up properly, the same data supports cohort-level decisions; it just cannot support user-level ones. The rest of the MMP's value is unchanged: one cost feed across every network, deterministic Android and web data in the same reports, and raw event export to your own warehouse so the data outlives the dashboard.
How to choose an MMP for a mobile game
The major MMPs, including Singular and AppsFlyer, overlap on most features. The differences that matter for a game are in the following order.
| Criterion | What to check |
|---|---|
| SKAN and AdAttributionKit | Conversion-value schema tooling, postback decoding, and what modelling fills the nulls. This is where iOS ROAS is won or lost. |
| Raw data export | Event-level export to your own warehouse, on a schedule you control. You should own the record, not rent a view of it. |
| Cost aggregation | Spend pulled from every network you run, including the rewarded, OEM and regional networks beyond Meta and Google, not only the big three. |
| Ad-revenue attribution | Ad monetisation revenue attributed back to the acquiring cohort. Hybrid-monetised games under-count LTV without it. |
| Fraud protection | Install and click fraud filtering, with the rejected volume reported, not hidden. |
| Deep linking and re-engagement | Deferred deep links, re-attribution windows, and attribution for win-back campaigns. |
| Pricing | Commonly tiered by tracked events or monthly active users. Model your event volume at scale before signing, since it grows with the game. |
The dashboards matter less than the data you can get out. A game's attribution data has to be joined with store, revenue and network data that the MMP never sees, so the deciding question is how cleanly the event-level record lands in your warehouse.
What an MMP does not do
An MMP records and attributes what happened. It does not normalise your networks, your MMP data, the app stores and your finance numbers into one model with one set of definitions, so two dashboards that both say ROAS can still disagree. It does not predict where a cohort's ROAS will land at day 90 or day 360, which is the number the budget decision needs; our predictive ROAS page covers that. It does not decide which network gets next week's budget, and it does not execute the change. Those jobs sit in the layer above the MMP, and that is where SuperScale works.
Is SuperScale an MMP?
SuperScale is not an MMP. We partner with MMPs rather than replacing them, and add the data layer, the predictions and the managed UA on top. Your MMP keeps doing the attribution; we take its output as one of the sources.
How do SuperScale and MMPs work together?
SuperPlatform integrates the major MMPs, including Singular and AppsFlyer, alongside the ad networks, the app stores and your warehouse: 30+ no-SDK integrations into one gaming-native source of truth, deployed in your own BigQuery. You own the data. On top of it, SuperVYZR shows cohort- and creative-level ROAS predictions, so the MMP's attributed installs become a forecast of what each network and creative will pay back.
If you would rather have the campaigns run for you, SuperScale Media runs UA across 35+ networks under one IO, and the onboarding is a tracking link from your MMP rather than an integration project. Our team supports the connector setup from the first source to the finished view.