MMM or Lift — which one to run
AdPix ships two marketing-measurement studies and they answer different questions. Marketing Mix tells you what each channel returned on today's budget and where it saturates; Lift tells you whether the specific thing you changed last week actually caused anything.
Two tools, two questions#
In the sidebar, the Marketing measurement group holds two screens: Marketing Mix (MMM) and Lift (incrementality). Neither is a day-to-day report. They are studies, and before you open one you should know which of them answers your question.
| If you are asking | Tool | Unit of analysis |
|---|---|---|
| On today's budget, what did each channel return? | Marketing Mix | the whole portfolio, weekly |
| Where does the next dollar go? | Marketing Mix | the whole portfolio, weekly |
| Where does this channel saturate? | Marketing Mix | one channel, response curve |
| I raised Google's budget last week — did it work? | Lift | one action, one date |
| What do I lose if I stop this campaign? | Lift | one action, one date |
| Did the new campaign just eat my organic traffic? | Lift | one action, with an organic control |
They are not competitors. Marketing Mix is a portrait of the whole portfolio over a long window; Lift is a magnifying glass over one decision. If your question is "what is this worth in general", run the model. If it is "did the thing I did work", build a lift test.
Both screens are premium on a property's plan by default. If the selected property is on the Free plan you get the Premium feature notice and an Upgrade plan button instead of the screen. The docs are not wrong — the plan is. Check the property picker at the top of the page first; you may be on a different property than you think.
Marketing Mix — the portfolio view#
The Marketing Mix Model decomposes your weekly history into parts: how much of each week's conversions comes from the non-paid baseline (organic and direct demand, trend, seasonality) and how much from each paid channel. Its inputs are the weekly spend per channel that you import, your on-site conversions, and your organic and direct session volume as a control.
It produces three things you will not find in any attribution report:
- Incremental ROI per channel — incremental conversions per $1k of spend, not last click.
- mROI — the marginal return at your current spend level. That, not average ROI, is the number that answers "where does the next dollar go?".
- A response curve — the point where more spend stops buying more conversions. The grey zone on that chart is spend beyond anything in your history; there the model is extrapolating.
Every estimate carries a 95% credible interval. The interval is not decoration, it is the product: "Search ROI 2.0, interval 1.2 to 3.4" tells you how much weight the number can carry. A point estimate with no interval is a confident claim about something the data cannot support.
When it is trustworthy#
The model is deliberately hard on itself. Each run is stamped a trust tier — TRUSTED, DIRECTIONAL or INSUFFICIENT — and each channel is badged Identified, Uncertain or Not identified. For an insufficient run AdPix hides the point ROIs and the budget optimizer entirely; honest silence beats a confident lie.
| Requirement | Value | If it is not met |
|---|---|---|
| History to fit at all | at least 78 weeks | the model refuses to run |
| History for the trusted tier | at least 104 weeks (two years), at least half the channels identified, and a plausible baseline share | directional at best |
| Per-channel spend variation | coefficient of variation ≥ 0.30 | the channel is badged Not identified and gets no ROI |
| Per-channel collinearity | VIF ≤ 5 | the channel is badged Not identified and gets no ROI |
| Distinct spend levels per channel | at least three | the channel is badged Uncertain — it still gets an ROI, but a soft one |
The variation requirement is mathematics, not taste. If a channel's budget was near-constant every week, no model can separate its effect from the baseline. If every channel moved together — the usual year-end budget swell — the model cannot tell their contributions apart, so it badges them Not identified and prints no ROI for them rather than splitting the credit by guesswork. The practical fix is to vary budgets deliberately, and at different times.
Before any run, the Cost-data readiness card on Cost & ROAS applies these same checks to the data you have actually imported and names what is blocking a run.
Lift — the action view#
A lift test measures one specific action: a budget increase or decrease, a campaign start or stop, a channel added or removed, a creative change. You define the action, its date, the channel and the target metric, and the engine builds a counterfactual from the period before that date — a forecast of what the metric would have done had you changed nothing — then compares it with what actually happened.
The output is a daily observed-versus-counterfactual series with a confidence band, a cumulative lift with a 95% CI, a significance value, and a verdict: Positive, Negative, Neutral or Mixed.
There are two engines. Ensemble (fast) fits several time-series candidates on the pre-period, picks the best by validation error and forecasts the counterfactual; it is the right choice almost always. Bayesian (rigorous) does the same with a Bayesian structural model and gives more careful uncertainty, at the cost of a longer run.
Leave Use organic demand as a control on. It feeds organic and direct session volume into the model as a demand covariate, and that is what nets out cannibalization: a campaign that merely moved existing organic traffic onto a paid channel shows up here.
When it is trustworthy#
- The pre-period has to be long enough. The form starts at 56 days and the field's own hint recommends at least 42. A short history means a poor counterfactual.
- The metric needs daily volume. With two purchases a day, ordinary noise swallows any effect. Pick a higher-volume metric or a longer measurement window.
- The measurement window must have elapsed. A test whose window has not finished sits in Scheduled and runs itself once the window is complete.
- Read the fit quality. Every result prints a fit MAPE. A large value means the model does not explain even the period before the action, and its verdict should not carry weight.
If a seasonal discount started the same day you raised the budget, or another campaign launched on another channel, Lift will not separate that from your action. This is why the default verdict is neutral, and why you should pick an action date on which your change was the only change.
They work together#
The best sequence is to run both and feed one into the other.
The effect is that your observational model is anchored to a causal measurement. A channel the historical data could not pin down now has an external reference point, and its interval narrows. This is the only way a directional model reaches a defensible number sooner than two years of accumulated history.
It runs the other way too: the Marketing Mix Model tells you which channel is near saturation and which still has room — which is to say, where the next lift test is worth running.
Neither replaces the attribution reports#
Acquisition reports are descriptive: each session or order is filed under the touch that preceded it. That is what you need to see what brought traffic and to follow the week, but it is correlation by construction. A channel that harvests existing demand — brand search, retargeting — always looks bigger in attribution than its real contribution.
Marketing Mix and Lift both ask the causal question, so their numbers may disagree with Traffic acquisition. That gap is not a defect; if it were absent, one of the two would not be doing its job.
Before you start#
Both tools need ad spend, and AdPix does not read it from the ad platforms — you import it. The Marketing Mix Model will not run at all without weekly spend; Lift still returns a verdict without it, but incremental ROAS and incremental CPA stay empty.
Start with Importing ad cost, then go on to running a marketing mix model or building a lift test.
Frequently asked questions#
Which should I run first?
Almost always Lift. It works on one to two months of data and answers a specific decision, while the Marketing Mix Model needs at least 78 weeks of spend history before it will fit at all. If you do not have that history yet, Lift is the only causal tool available to you.
Why doesn't the model agree with my traffic acquisition report?
They count different things. Acquisition reports are correlational — which touch preceded the conversion. The model estimates incremental conversions — what you would lose if you switched the channel off. Harvesting channels like brand search always look larger in attribution and smaller in the model.
Can a lift result feed the model?
Yes, and it is the best way to stabilise the model. On Marketing Mix Model, open the Calibration experiments (anchor the model to lift tests) card and enter the result as an ROI plus a standard error; the next run uses it as a Bayesian prior on that channel.
Why is my lift verdict Neutral when sales clearly went up?
Because the cumulative lift's confidence interval still includes zero. Lift deliberately claims nothing it cannot separate from normal variation. Use a longer measurement window, a longer pre-period, or a metric with more daily volume.
Thanks — your feedback helps us improve the docs.