← Blog
FIELD NOTE

When Does Scaling Budget Start Raising CPA?

You have probably had this exchange.

"This channel's CPA is 30% under target." "Then double the budget."

So you doubled it. Week one looked fine. Week two started drifting. By week three blended CPA was over target, and a meeting got booked: "why did CPA go up?"

It takes a couple of rounds of that cycle to notice the real problem — the number people look at and the number the decision actually needs are two different numbers.

The short version:

Scale on marginal CPA, not average CPA. The average is a report card on the past. The margin is the price tag on the next unit of spend.

Average and marginal CPA answer different questions

Average CPA asks: across everything spent so far, what did one conversion cost? A report card on the past.

Marginal CPA asks: if I spend one more unit right here, what will that unit's conversion cost? Scaling decisions need this one.

Ad channels generally follow diminishing returns. Cheap inventory and responsive audiences get consumed first, and larger budgets reach progressively more expensive people.

So this state is extremely common: average CPA sits under target while marginal CPA has already passed it. Scaling in that zone slowly degrades the average, and a few weeks later someone asks why CPA went up. That is exactly the cycle above.

Saturation is one ratio

No need to complicate it.

Saturation index = marginal CPA ÷ average CPA
  • Near 1 — still in the linear zone. Scaling will not hurt efficiency much.
  • Well above 1 — saturated. More spend buys proportionally less.
  • Below 1 — headroom remains. Highest priority for additional budget.

On a ROAS basis the direction inverts: a lower marginal-to-average ROAS means more saturated. That one is easy to get backwards, so check it twice.

Campaign saturation analysis computes this index per channel from a CSV with date, channel, cost, and outcome.

Some channels will come back "withheld"

There is an important precondition here. A channel whose spend stayed flat cannot produce a curve.

Which makes sense — if every data point sits at the same spend level, the slope is unknowable. A channel that spent the same $50k every month contains no information at all about what $100k would do.

So some channels return a withheld verdict. That is not the tool failing; it is the data declining to answer. It is tempting to read that as an error and start changing options until a number appears, but a number produced that way is invented, not measured.

What you need is not a statistical option but a period where spend was deliberately varied. Raise one channel's budget noticeably for two or three weeks, then bring it back down. Next quarter the curve becomes estimable. Those three weeks feel expensive in the moment and routinely pay for themselves by changing how the following quarter gets allocated.

Saturated does not only mean "stop"

A saturation verdict is not an instruction to halt. Moving that budget to a channel with headroom raises overall efficiency without increasing total spend.

Budget allocation simulator uses the per-channel curves to compute where to add and where to cut at the same total. When a request for more budget gets blocked, this is usually the faster path — reallocation clears approval far more often than a raise does.

Try this today

One. Take the channel that currently looks best and check how much its spend actually varied over the last 8–12 weeks. If it barely moved, that channel has no basis for a scaling decision right now — good CPA or not.

Two. Deliberately vary that channel's budget over the next two or three weeks. Up then down, or down then up; the direction matters less than the variation. That becomes the raw material for next quarter's curve.

Let's be honest

Saturation is an association-based estimate, not a causal experiment. It reads "when spend was this much, outcomes were that much" out of history and fits a curve to it.

So the curve moves when seasonality or competition moves. A curve fitted in summer does not describe November.

Before a large budget move, shift a small slice first and check whether reality follows the prediction — moving about a third of the calculated amount, confirming the direction, then moving the rest is a reasonable default.

If computing this per channel every cycle is tedious, upload your existing report CSV. Marginal CPA and saturation get calculated per channel, and channels without enough spend variation are honestly marked as withheld rather than given a fabricated number. Data is processed in your browser and never sent to a server.

A CPA under target is not automatically a scaling signal. Check what the last unit of spend costs first.

Frequently asked questions

If CPA is still under target, can I keep scaling?
Average CPA can sit under target while the CPA of the next unit of spend already exceeds it. Scaling decisions belong to marginal CPA, not the average.
How is marginal CPA calculated?
Fit a curve to outcomes across spend levels, then measure how much additional outcome one more unit of spend produces at the current point. Channels whose spend barely varied cannot support a curve, so the verdict is withheld.