Campaign limited by budget and beating its ROAS target? Find capped winners with budget utilization and D7 ROAS vs target, then scale them in safe steps.
Oct 16, 2026 - 15 minutes

Almost every audit you run on an ad account looks for something going wrong. This one looks for money left on the table. A campaign limited by budget while beating its ROAS target is the cheapest growth available in the account: the demand is proven and the only thing stopping it is a number you set. The trap is that average ROAS above target doesn't mean the next dollar will clear it. So finding budget-capped winners is only half the job. The other half is proving the win is real and the cap — not the audience — is what's binding.
In this guide: Why it matters · The two formulas · Four gates · By dimension · False positives · How to scale
On Google Ads, "Limited by budget" is a campaign status meaning the average daily budget is below what's needed to capture all available impressions at current settings. Google responds by showing ads less often, not by stopping them. On Meta there is no equivalent status label, but the behavior is the same: spend flatlines at the daily budget early in the day, day after day.
Neither signal tells you whether the extra delivery would be profitable. A budget-capped winner is the intersection of two conditions:
Platform status gives you condition 1 on Google only. Condition 2 needs MMP cohort data joined to the campaign — which is why most teams never run this check systematically.
From the PvX Delta audit spec's sample results (a fictional account; illustrative numbers). An iOS US campaign targeting value-optimized users:

Three campaigns are capped. Only one is a scale call. Illustrative data.
The action: raise the cap 25% to $1,000 a day in a single increment, not uncapped. Then watch CPI, frequency and early cohort quality daily, and stop raising when marginal ROAS stops clearing the 40% target.
Budget utilization = spend ÷ budget, over the same period. Read it daily over at least three days. A useful starting threshold is ≥95%.
ROAS vs norm = entity Dx ROAS ÷ account (or peer-group) Dx ROAS, on matured cohorts only. D7 for fast-monetizing apps, D30 where payers convert later — use the day your ROAS target is set on. See D7 ROAS explained.
Budget sits in different places depending on structure, so compute utilization at the level where the budget actually lives:

The main reading level. Rank all campaigns at ≥95% utilization by ROAS versus norm, then run the four gates on the top of the list.
Ad set ROAS clears the validity floor less often than campaign ROAS, so artifact risk is higher. Pool several weeks before you trust it. And with campaign-level budget optimization, the ad set's own cap may not be the limiter at all.
In a second spec sample, an ad set was beating a 40% D7 target by 14 points across four weekly reads, but the parent campaign's budget optimizer kept it pinned at about $110 a day. The fix wasn't a bigger budget. It was isolating the ad set into its own campaign and funding it directly.
A capped campaign whose ROAS win comes from one country should be scaled in that country, not everywhere the campaign runs. Split ROAS by geo and OS before raising a multi-geo budget.
Headroom varies by network. On Google App Campaigns, a budget increase gives the algorithm more room across Search, Play, YouTube and Display at once. On an ad network with thinner inventory, the same raise may saturate quickly.
When to scale is a broader question — when to scale a campaign covers order and pacing. The inverse problem, campaigns that can't spend their budget, is in budget pacing. For how to set the ROAS target these comparisons depend on, see our post What Should Your ROAS Target Actually Be?
Delta runs this check nightly — connect your data. Free, read-only, official APIs. See how PvX Delta works →

Oct 15, 2026 - 15 minutes

Oct 02, 2026 - 15 min

Sep 29, 2026 - 15 min
Some of the fastest growing businesses in the industry