How it works
Budget Opportunities is an advisory engine: it looks at every campaign over the date range you have selected and recommends moving daily budget from under-performers toward high-ROAS campaigns that are being held back by their budget — across every connected Source (Google Ads and Meta Ads).
Each recommendation comes with a Why — a short, fixed reason explaining exactly which rule fired. There is a closed set of these messages, one per rule.
How it decides
Section titled “How it decides”For every campaign that has a defined budget, over the selected date range, the engine computes three things:
- ROAS — conversion value ÷ spend.
- The blended median ROAS across all campaigns. This is the benchmark shown in the page header; every campaign is judged against it.
- Whether the campaign is budget-constrained (its budget is capping delivery):
- Google → it is losing impression share to budget (
search_budget_lost_impression_share≥ 5%). - Meta → its daily spend is near the cap (≥ 85% of the daily budget).
- Google → it is losing impression share to budget (
It then classifies each campaign:
| Action | Condition | Suggestion | Suggested daily budget |
|---|---|---|---|
| ▲ Scale up | ROAS ≥ median and budget-constrained | Raise the budget | current × 1.25 |
| ▼ Pull back | ROAS < 70% of the median | Lower the budget | current × 0.70 |
| (no action) | ROAS in between, or strong but not budget-constrained | — | not shown |
In short: a proven performer that is hitting its budget ceiling is a candidate to scale up; a campaign clearly under the pack on ROAS is a candidate to pull back. Everything else is left alone.
The “Why” messages
Section titled “The “Why” messages”There are exactly three reasons you will see:
- Scale up · Google — “ROAS X.XX (≥ median) and losing YY% impression share to budget” — profitable, but the budget is throttling it.
- Scale up · Meta — “ROAS X.XX (≥ median) and spending near its daily cap” — profitable and bumping against its spend limit.
- Pull back — “ROAS X.XX is well below the median Y.YY” — clearly under-performing versus the rest.
Impact / day
Section titled “Impact / day”Each row also shows an estimated daily impact:
- Scale up → estimated extra daily revenue ≈
(suggested − current budget) × ROAS. - Pull back → daily budget freed =
current − suggested.
The header totals roll these up: daily budget to reallocate (sum of pull-backs) and estimated extra daily revenue (from funding the scale-ups).
Things to keep in mind
Section titled “Things to keep in mind”- It is ROAS-only: it does not yet account for target CPA, margins, seasonality, or saturation curves.
- The thresholds (5% lost impression share, 85% of cap, median × 0.7, ×1.25 / ×0.70) are currently fixed.
- Results follow the global date filter in the header — change the range to evaluate a different period.
