Budget pacing compares month-to-date spend with what you should have spent by now: pacing % = actual spend ÷ (monthly budget × days elapsed ÷ days in month). Use complete days only, flag anything outside roughly 85–115%, and fix it with the required daily budget: (monthly budget − spend so far) ÷ days left. Across many clients, sum every platform per client and check it every morning automatically.
Why pacing goes wrong in the first place
Google Ads budgets are daily, but clients think in months. Google can spend up to twice your average daily budget on a given day when it sees more opportunity, and balances it out so that, across a calendar month, you are not charged more than your average daily budget times 30.4 (Google's monthly charging limit). So a campaign can be perfectly within Google's rules and still land far from the monthly number your client signed off.
Other causes: budget changes mid-month, campaigns paused and re-enabled, seasonality, bid strategy changes, a new competitor, conversion tracking breaking (Smart Bidding then bids blind), and shared budgets across campaigns. Pacing is how you catch these before the month is gone.
The pacing formulas
All of these use complete days: the 1st of the month through yesterday, in the account's time zone. Today's spend is partial and reported with a delay, so including it makes every account look under-paced in the morning.
| Metric | Formula |
|---|---|
| Days elapsed | Day of the month − 1 |
| Expected spend to date | Monthly budget × days elapsed ÷ days in month (or daily budget × days elapsed) |
| Pacing % | Month-to-date spend ÷ expected spend to date × 100 |
| Run rate | Month-to-date spend ÷ days elapsed |
| Projected month-end | Month-to-date spend + run rate × days remaining (today included) |
| Required daily budget | (Monthly budget − month-to-date spend) ÷ days remaining |
A worked example
A client has a $3,000 monthly budget in a 30-day month. It is the morning of the 11th, so 10 complete days have elapsed and 20 days remain, today included. Month-to-date spend is $1,240.
- Expected spend to date: $3,000 × 10 ÷ 30 = $1,000.
- Pacing: $1,240 ÷ $1,000 = 124%, over-pacing.
- Run rate: $1,240 ÷ 10 = $124 a day. Projected month-end: $1,240 + $124 × 20 = $3,720, $720 over.
- Required daily budget to land on $3,000: ($3,000 − $1,240) ÷ 20 = $88 a day across the client's campaigns.
Because Google can overspend a daily budget on individual days, set daily budgets slightly under the required figure late in the month if landing exactly matters.
Which thresholds to alert on
A common band is ±15%: flag over-pacing above 115% and under-pacing below 85%. Those are the thresholds MegaMCP's pacing tools use. Tighten the band as the month goes on, since a 20% miss on day 3 is noise and a 20% miss on day 25 is a real overspend.
| Signal | What it usually means | First move |
|---|---|---|
| Over-pacing (above 115%) | Demand spike, bid strategy loosened, budget raised mid-month | Check search terms and CPCs; reduce daily budgets toward the required figure |
| Under-pacing (below 85%) | Low demand, tight targets, disapprovals, tracking broken | Check impression share lost to rank, ad approvals and conversion tracking before raising budgets |
| Limited by budget | Search impression share lost to budget is meaningful (MegaMCP flags 10% or more) | Decide whether that campaign deserves more of the month's money |
| Spend anomaly | Yesterday far off its trailing baseline | Look at what changed: change history, search terms, placements |
Heads up. Under-pacing is not automatically a reason to raise budgets. If conversion tracking broke, Smart Bidding may be holding back for good reason. Check that conversions are still recording first.
Pacing across clients and platforms
Native tools pace one platform's campaigns at a time. Agencies budget per client, across Google, Meta, Microsoft and more. That means the useful number is the client's total month-to-date spend across every platform against the client's monthly budget.
MegaMCP's Agency mode does exactly this. On the Portfolio page you set each client's monthly budget, and megamcp_portfolio_pacing sums month-to-date spend across the client's Google Ads, Meta Ads, Microsoft Ads, TikTok, Reddit and Pinterest accounts, then ranks clients worst first with pacing %, projected month-end, the over or under amount and the daily spend needed to land on budget. Different currencies are never added together.
When a client is off, megamcp_propose_client_rebalance drafts one change plan that resets daily campaign budgets across Google Ads, Meta Ads and Microsoft Ads so the month lands on budget, scaling each budget in proportion to today's. You can edit the numbers first; the whole rebalance is approved, rejected or undone as a unit, and spend caps apply. Budgets it can't change (TikTok, Reddit and Pinterest spend, Meta ad-set budgets, shared Microsoft budgets) are held at their current pace in the math.
- You
Rebalance Acme's budgets so the month lands on budget.
- Claude
megamcp_portfolio_pacingDoneAcme 124%megamcp_propose_client_rebalanceWaiting for approvalone planAcme is on track to land $720 over. This plan brings its daily budgets to $88 in total.
Rebalance Acme PlumbingGoogle Ads · Meta Ads · Microsoft Ads3 changes- Change: Google Ads · Emergency Plumber
$62$44/day - Change: Meta Ads · Prospecting
$40$28/day - Change: Microsoft Ads · Brand
$22$16/day - Check passed: Budget bumpers: all within caps
- Change: Google Ads · Emergency Plumber
Automating the morning check
Set the monthly budget per client or account.
Pacing is meaningless without the number you're aiming at. In MegaMCP, set it per client on the Portfolio page.
Read pacing on complete days every morning.
google_ads_budget_pacing,meta_ads_budget_pacingandmicrosoft_ads_budget_pacingcompute month-to-date pacing per campaign in each account's time zone.Alert only when something is off.
The Morning Pacing and Anomaly Alert workflow checks pacing and yesterday's numbers against a 28-day baseline for every Google Ads, Meta Ads and Microsoft Ads account, and emails only when something is outside the band.
Propose the fix, approve it yourself.
Ask the AI for the required daily budgets and a plan. Budget bumpers stop any change above your caps.
Re-check after the change.
Pacing responds over days, not hours. Look again two or three days later before adjusting further.
If you'd rather start with a spreadsheet, the formulas above are all you need. The value of automating it is that it happens every single morning for every account, including the ones you weren't worried about.
Example prompts
Copy these into Claude, ChatGPT or Cursor with MegaMCP connected. Each lists the tools it typically calls; more are in the prompt library.
- Reads data
Which clients are furthest from their monthly budget this month? Show pacing %, projected month-end and the daily spend needed to land on budget.
Tools it calls:
megamcp_portfolio_pacing - Reads data
Show month-to-date pacing for every enabled campaign in this Google Ads account, worst first.
Tools it calls:
google_ads_budget_pacing - Proposes a change
Rebalance Acme's budgets across Google, Meta and Microsoft so the month lands on budget. Show me the plan.
Tools it calls:
megamcp_propose_client_rebalanceAny change becomes a plan you review and approve. Nothing moves until you do.
- Reads data
Did any Google Ads campaign spend unusually yesterday compared with its usual day?
Tools it calls:
google_ads_anomalies - Reads data
Is Meta over-pacing this month for this account?
Tools it calls:
meta_ads_budget_pacing
FAQ
How do you calculate budget pacing?
Divide month-to-date spend by the spend you expected by now (monthly budget × complete days elapsed ÷ days in the month) and multiply by 100. Above 100% is over-pacing; below is under-pacing.
Can Google Ads spend more than my daily budget?
Yes. Google can spend up to twice the average daily budget on a given day, but over a calendar month it won't charge more than the average daily budget times 30.4.
What is a good pacing threshold?
Plus or minus 15% (85% to 115%) is a common alert band. Tighten it toward the end of the month, when there are fewer days left to correct.
Should I include today's spend in pacing?
No. Today's spend is partial and reported with a delay. Use complete days, the 1st through yesterday in the account's time zone.
How do agencies pace budgets across platforms?
Sum month-to-date spend for each client across every ad platform and compare it with the client's monthly budget. MegaMCP's portfolio pacing does this automatically for Google, Meta, Microsoft, TikTok, Reddit and Pinterest.
Integrations in this guide
Google AdsRolling out
Meta AdsRolling outMicrosoft AdsRolling out
TikTok AdsRolling out
Key terms
Budget pacingImpression shareSmart BiddingGuardrail (spend cap)CPA (cost per acquisition)ROAS (return on ad spend)
Try it on fake money first. Every MegaMCP workspace comes with a sandbox ad account. No credit card.
Join the waiting listSpotted something wrong or out of date? Tell us and a human will fix it.