Your attribution layer may have missing events, inconsistent revenue, debatable windows or platform discrepancies. It is still the system your UA team uses every morning to inspect campaigns and make operational changes.
So the useful question is not:
It is:
Otherwise a measurement roadmap becomes a shopping list: repair the existing attribution layer, run a lift study, build an MMM, then try to reconcile three imperfect answers.
Do not start with the method
These are three different operating problems:
- Can the UA team trust yesterday's campaign and cohort reporting?
- Did this campaign create outcomes that would not have happened without it?
- How should next quarter's budget move across a portfolio of channels?
Attribution, incrementality experiments and MMM answer different versions of those questions. They should not compete for one universal truth metric.
Attribution is the daily campaign read. A lift test asks whether one intervention created additional conversions. MMM asks how a portfolio of channels relates to total business results over time. The methods are different because the decisions are different—not because one is a more mature version of another.
Five possible terminal states
- 01
Fix attribution first
The MMP and backend disagree on paid conversions or revenue. Do not give a new model the same broken target.
- 02
Choose a workable uplift test
Use a user or regional comparison when possible. If neither can be separated, measure uplift across campaign-on and campaign-off periods.
- 03
Prepare MMM
The blocked decision is how to move next quarter’s budget across channels—not how to tune a campaign this morning.
- 04
Decide which evidence can change what
Your team already uses attribution, experiments and MMM. Stop averaging them; give each method a specific decision.
- 05
Add nothing
No recurring budget decision would change after the study. Keep the reporting you have until a real decision is blocked.
State 1: attribution is not healthy enough yet
Suppose the MMP reports a purchase, the backend reports a paid order and finance reports recognized revenue—but the totals do not reconcile. Or campaign windows changed without a documented comparison. The unsupported decision is not incremental ROAS. It is more basic: can we trust the operational unit we are optimizing?
The next capability is an attribution contract: canonical events and revenue, timestamp rules, credit windows, primary versus secondary attribution, backend reconciliation, privacy gaps and one owner for changes. Adding a lift test or MMM over an unstable outcome gives a second method a broken target.
State 2: attribution works, but one intervention may harvest demand
A branded, retargeting or upper-funnel campaign can report strong attributed performance while many exposed users would have converted anyway. Attribution assigns operational credit under declared rules. It cannot observe the customer who was never exposed.
The unsupported decision is whether this intervention created enough additional outcomes to justify spend. This is where one scoped incrementality experiment belongs.
The cleanest design keeps a comparable set of users or regions unexposed. But “we cannot split users or geos” does not end the analysis. Time can become the split: measure uplift across several comparable periods with the campaign on and off. The off periods form the holdout.
This time-based design is less clean because demand also changes over time. Make it useful by repeating the on/off cycle, avoiding launches and major promotions, keeping the rest of the acquisition setup stable and comparing all on periods with all off periods. Do not compare one unusually good week with one unusually bad week.
SPLIT: USER / GEO / TIME · ON/OFF WINDOWS · BACKEND OUTCOME · ESTIMATED UPLIFT / HOLDOUT · DECISION IF POSITIVE · DECISION IF INCONCLUSIVE
State 3: portfolio planning exceeds channel attribution
Attribution can still run daily campaign decisions while failing to answer a larger question: should next quarter move money from paid social into search, video or another market?
A folder of historical exports is not MMM readiness. The history must contain differences the model can learn from. If Meta and TikTok budgets always rise and fall together, the model has little evidence for separating them. If every large sales week also had a discount, but promo history is missing, the model can credit media for the discount.
What “outcome” and “controls” actually mean
The stable weekly business number the model must explain: paid conversions, revenue, installs or another count that means the same thing across the whole history.
Non-media forces that moved the outcome and may also have influenced spend: price, promotions, launches, availability, competitor pressure or demand.
The useful readiness check is concrete: did channel budgets move differently, can the outcome be reconstructed consistently, are the largest non-media shocks recorded, and will someone actually use the result to change a portfolio budget? If not, keep attribution and start building the missing history. Do not commission the model yet.
State 4: all three exist—assign decision rights
Here “in use” means recurring decisions—not three dashboards that exist. Attribution may stop a broken campaign today; a powered experiment may change spend on one intervention; a validated MMM may frame the quarterly portfolio. The failure mode is to average their estimates or let the most sophisticated deck overrule every other signal.
State 5: no new method is needed yet
Ask one blunt question: if the answer changed, what would we actually stop, start or move?
If every plausible result leads to the same budget, or the money at stake is smaller than the time and disruption of the study, there is no measurement decision yet. Improve the reporting you already use and revisit when a recurring budget choice is genuinely blocked.
Get a decision—not a readiness spreadsheet
The useful terminal output is one sentence: what should the team do next, why, and what should it explicitly not build yet. Answer the three questions below.
What should your team add next?
No upload. No lead form. The answers stay in this browser.
If the dispute is about credited versus created outcomes, use the attribution and incrementality decision hierarchy. If an MMM estimate is already being promoted into causal iROAS, apply the six-gate causal release standard before it receives budget authority.
Evidence notes
The method was checked against official documentation for AppsFlyer Incrementality for UA, Google Conversion Lift, Google Meridian data collection and control variables, and the Meta Robyn Analyst Guide. Source names remain here for traceability; the article does not send the reader into four external documentation paths.