Resources
Attribution models and how to evaluate an MMP
Short answer
Attribution assigns credit for a conversion across the touchpoints that preceded it. There is no universally correct model: last-click works for tactical operations, multi-touch models distribute credit better across longer journeys, and only causal experimentation measures real impact. An MMP is the operating system for that signal on mobile — not the final judge of causality. Choose your MMP by use case (deep linking, UA scale, pricing transparency, omnichannel measurement), not by generic ranking.
The problem most teams frame backwards
Teams argue about which attribution model to use before solving the prior question: what can they actually observe?
Today's binding constraint isn't mathematical, it's observability. Third-party cookie restrictions, storage partitioning, consent requirements for certain identifiers, aggregated and delayed postbacks on iOS, and cross-device fragmentation all reduce your ability to connect a given exposure to a given conversion at the user level.
Debating time-decay versus position-based while 40% of your conversions arrive modeled is optimizing the set dressing. Fix collection first; argue about credit allocation second.
How attribution works, operationally
The system needs three things: log an eligible touch, retain enough identity or context to recognize the user at conversion time, and apply window and priority rules to assign credit.
| Component | What it does | What usually breaks it |
|---|---|---|
| Client-side tracking | Browser or SDK sends events from the user's session (gtag, Tag Manager, Firebase SDK) | Ad blockers, cookie loss, JS/SDK errors, browser restrictions, missing consent |
| Server-side tracking | Backend sends events over HTTP (Measurement Protocol, MMP S2S APIs) | Incomplete identity stitching, duplication with SDK when dedup rules are missing, bad timestamps, dropped click IDs |
| Deep links / referrers | Carry campaign context into the app or landing page | Redirects that strip parameters, blocked link decoration, in-app webview opens |
| Self-attributing networks (SANs) | Meta, Google and TikTok report their own attribution via API | Cross-network over-counting, mismatched windows, non-reconcilable with last-click |
| Privacy frameworks | SKAdNetwork, AdAttributionKit, Attribution Reporting API | Aggregation, privacy thresholds, postback delays, loss of granularity |
The practical takeaway: the more your measurement leans on the client-side layer, the more fragile it is. Server-side is sturdier, but introduces its own risk — duplication and broken stitching — unless you implement explicit dedup rules.
Attribution models compared
| Model | How it assigns credit | Where it works | Primary bias |
|---|---|---|---|
| Last-click | 100% to the last eligible touch | Tactical operations, simple reconciliation, smaller accounts | Overvalues branded search, retargeting and closing channels |
| First-click | 100% to the first touch | Measuring discovery and funnel entry | Ignores everything that follows |
| Linear | Even split | Short journeys with comparable touch weight | Treats all touches as equivalent when they aren't |
| Time-decay | More weight to recent touches | Short purchase cycles | Still penalizes the discovery phase |
| Position-based | Typically 40/20/40 | Compromise between discovery and close | Weights are arbitrary, not data-derived |
| Data-driven / algorithmic | Model trained on observed sequences | High volume with workable identity data | Still observational — it inherits the bias of what was observable |
| Incrementality | Treatment vs. control comparison | Budget allocation decisions | Doesn't trace the journey; answers a different question |
The academic evidence here is consistent and a little uncomfortable: attribution models are useful for organizing information, but they can fail badly at approximating true causal effect. Large-scale field experiments at eBay (Blake, Nosko and Tadelis, Econometrica, 2015) and at Meta (Gordon et al., Marketing Science, 2019 and 2023) show that observational methods routinely overstate the causal effect of search and social, sometimes by wide margins.
ADEX rule of thumb: use attribution for tactical decisions within a channel, and incrementality for budget allocation across channels. They answer different questions.
What to check before blaming the model
Before you switch models or switch vendors, this is the diagnostic order we run:
- Parameter integrity. Do click IDs survive every redirect, shortener and consent wall?
- Deduplication. Is the same event counted twice when it arrives via SDK and via server?
- Windows. Are click and view windows identical across your MMP, the ad platforms and the CRM? They almost never are.
- Scopes. Are user-, session- and event-scoped metrics being mixed in the same report?
- Consent coverage. What share of traffic sits in denied mode, and how is it being modeled?
- Event coverage. Are business events — not just installs — mapped and firing?
- Platform discrepancy. What's the delta between MMP and each SAN, and is it stable over time?
When step 7 shows an unstable delta, the problem is almost always in steps 1 through 4, not the model.
MMP landscape, compared
The market still concentrates around six vendors, with Firebase/GA4 as an adjacent analytics stack that isn't equivalent to a neutral MMP.
| MMP | Strongest at | Best fit for | Consideration |
|---|---|---|---|
| AppsFlyer | Scale, partner coverage, enterprise ecosystem | High-volume mobile UA, teams with many integrations | Cost and complexity scale quickly with volume |
| Adjust | Fraud prevention, automation, product ergonomics | Growing apps with small growth teams | Less depth on some web-to-app cases |
| Singular | Cost + attribution unification, ETL to warehouse | Teams needing normalized spend and raw data | More technical implementation curve |
| Branch | Deep linking and web-to-app journeys | Products where linking is part of the product | Attribution is solid, but linking is the differentiator |
| Kochava | Omnichannel measurement, CTV, free entry tiers | Teams measuring beyond mobile | Thinner partner presence in some markets |
| Tenjin | Pricing transparency, app/gaming focus | Gaming studios and cost-sensitive apps | Fewer enterprise features |
| Firebase / GA4 | Product analytics and web+app reporting | Analytics core, not a neutral MMP substitute | Not an independent third party relative to Google |
There is no universal winner. The right choice depends on which question hurts most: is my problem linking, scale, cost, transparency or data unification?
How ADEX approaches it
We work attribution in four layers, in this order:
- Collection. SDK validation, business event mapping, server-side tracking where client-side is fragile, and explicit deduplication rules.
- Reconciliation. Systematic comparison across MMP, SANs and CRM, with acceptable discrepancy thresholds defined up front.
- Model. Model selection driven by the decision, not by fashion. We document which model feeds which decision.
- Causal validation. Incrementality tests or geo-experiments whenever the decision moves material budget.
ADEX is certified across all four major MMPs — AppsFlyer, Adjust, Singular and Branch — and has completed 12+ MMP migrations. That coverage matters for one concrete reason: when the recommended vendor is also the vendor selling, the advice isn't neutral.
When this isn't your priority
Be honest about the threshold. If you're spending under roughly $10K/month on paid media, running a single channel, or closing purchases inside one session, sophisticated attribution architecture returns very little. Fix product, offer and landing page conversion first.
Attribution starts paying when multiple channels compete for the same credit, your purchase cycle spans devices or days, and your budget is large enough that a bad reallocation costs real money.
FAQ
What is an MMP and why does it matter? A Mobile Measurement Partner is a neutral third party that attributes installs and in-app events across multiple ad networks. It matters because networks self-attribute: without a common referee, the sum of conversions your channels report will exceed your actual conversions.
Which attribution model is best? None in the abstract. Last-click for daily operations, data-driven for reading journeys once you have volume, and incrementality for budget decisions. Using one model for all three is the most common mistake.
How much discrepancy between my MMP and Meta or Google is normal? There's always discrepancy, because windows, view criteria and deduplication differ. What matters isn't the absolute number but its stability: a constant delta is a known configuration issue; a moving delta is a collection problem.
Do SKAdNetwork and AdAttributionKit replace an MMP? No. They are Apple's aggregated attribution frameworks, with delays and privacy thresholds. An MMP integrates and reconciles them with the rest of your measurement, but it cannot recover granularity Apple never delivers.
Can I migrate MMPs without losing historical data? Yes — with a 7–14 day parallel run, historical raw data export and event-by-event validation before cutover. What you can't do is retroactively reconstruct attribution the new vendor never observed.
Do I need a data warehouse to do this properly? Not to start. Yes to scale. The moment you need to join spend, attribution, CRM and retention in the same question, a warehouse stops being optional.
Next step
If your dashboards and your ad platforms don't reconcile, the model is rarely the culprit. Review my MMP setup →
Related reading
- Broken attribution and CAC: how bad measurement destroys decisions
- ROAS vs incrementality: which metric for which decision
- Service: MMP attribution
- Service: MMP migration
External sources
- Blake, Nosko and Tadelis (2015). Consumer Heterogeneity and Paid Search Effectiveness: A Large-Scale Field Experiment. Econometrica. https://doi.org/10.3982/ECTA12423
- Gordon, Zettelmeyer, Bhargava and Chapsky (2019). A Comparison of Approaches to Advertising Measurement: Evidence from Big Field Experiments at Facebook. Marketing Science. https://doi.org/10.1287/mksc.2018.1135
- Gordon, Moakler and Zettelmeyer (2023). Close Enough? A Large-Scale Exploration of Non-Experimental Approaches to Advertising Measurement. Marketing Science. https://doi.org/10.1287/mksc.2022.1413
- Shao and Li (2011). Data-driven Multi-touch Attribution Models. ACM SIGKDD. https://doi.org/10.1145/2020408.2020453
- Product documentation from Apple (SKAdNetwork, AdAttributionKit), Google (GA4 attribution) and each MMP referenced.