Marginal ROAS: the number that decides “spend more?”
“Can I safely spend more on this?”
A campaign at ROAS 3.0 tells you the average of every euro spent so far. It says nothing about the next one. Returns fall as spend rises – you exhaust the cheapest, most interested audience first – so the only number that answers “spend more?” is what the last increment earned.
Average versus marginal
Δ revenue ÷ Δ spend, between two spend levels
Spend went from €10,000 to €14,000/day. Revenue went from €30,000 to €36,400. Marginal ROAS = 6,400 ÷ 4,000 = 1.6, while average ROAS still reads 2.6.
In that example the account looks healthy and the increment is close to the edge. At a 62% margin, break-even is 1.61 – so the last €4,000 per day earned essentially nothing. Average ROAS would have encouraged you to keep going.
The average stays comfortably above break-even the whole way. The marginal return – what the next euro actually earns – crosses below it long before the account looks like it is in trouble.
Running the test properly
- 1Change one thing. Raise budget on a single campaign, leave the rest of the account alone.
- 2As a rule of thumb, move in increments of 20–30%. Smaller tends to be lost in noise; larger can reset the learning phase, so you measure the reset instead of the increase. There is no universal threshold – it depends on the account.
- 3Wait for a full conversion cycle plus the learning phase. For most stores that is 7–14 days, not 3.
- 4Compare like periods. Same days of the week, no payday, no campaign, no holiday in one side and not the other.
- 5Compute marginal ROAS on the increment, then compare it against break-even – not against your average.
Reading the result
| Marginal ROAS vs break-even | Interpretation | Next move |
|---|---|---|
| Well above | You are under-spending. The audience is not saturated. | Increase again by the same increment and re-measure. |
| Slightly above | You are near the efficient frontier. | Hold. Look for new audiences or creative rather than more budget. |
| At or below | The increment paid for itself and nothing more. | Roll back to the previous level. The extra spend is buying volume, not profit. |
| Negative revenue change | Either noise or a genuine delivery problem. | Re-run once before concluding. Two consistent results, not one. |
The saturation curve
Plot marginal ROAS against spend level over several tests and you get the shape that actually governs the channel: high and flat at low spend, bending down as you exhaust the responsive audience, crossing break-even at a point that is specific to your business. That crossing point is your ceiling for this campaign, this creative, this audience – and it moves when any of those change.
In short
- ✓Average ROAS describes the past; marginal ROAS answers the decision.
- ✓Move in 20–30% increments and wait a full cycle plus learning phase.
- ✓Compare the increment to break-even, never to the account average.
- ✓Every winner has a ceiling. Saturation is measurable before it is painful.
Where this method runs out
Everything above works in a spreadsheet. Keeping it current, and matching every order back to the ad that actually caused it, is the part that does not. That is what Kepra does – and the demo runs on sample data with no signup, so you can judge it before believing any of this.
Open the demo →Read next
Creative testing that proves something
Most creative tests are decided by noise. Here is how to size a test properly, what to change, why platform A/B tools flatter their own winners, and how to.
Incrementality tests for small ad budgets
Most incrementality advice assumes an enterprise budget. Here are three designs that work at SMB scale, what each can and cannot prove, and how to avoid.