Skip to content
All features

Budget pacing for Google Ads and Meta agencies

Expected vs actual spend per client over 2 to 365-day windows, Google Ads and Meta split, flagged at 2% and 5%. Read-only and on every Adswave plan.

Adswave's Budget Pacing view compares each client's expected spend with actual spend over rolling windows of 2, 14, 30, 90, 180 and 365 days ending today, plus a custom range. Expected spend is the monthly budget divided by 30.4, times the days in the window. Google Ads and Meta are shown separately. The variance is green within 2%. It turns amber above 2% and red above 5%.

Overspend and underspend get the same colours. The view is read-only and on every plan. It tells you a client is off pace. You change the budget in Google Ads or Meta yourself.

SpecBudget Pacing
Windows2, 14, 30, 90, 180 and 365 days ending today, plus one custom range
Expected spendMonthly budget / 30.4 x days in the window
Variance coloursGreen within 2%, amber within 5%, red beyond 5%, over or under
PlatformsGoogle Ads and Meta, each with expected and actual, plus totals
Daily chartExpected, actual and trend line, with the last 90 days of actual spend
Budget sourcePer linked ad account, in the client dialog, carried forward
ClientsOne card per client, every visible workspace under "All"
ExportCSV of the period table
PlanEvery plan, from €19.99 a month
Writes to Google or MetaNone

What the pacing view shows for each client

Each client gets one card. The header shows the client's monthly budget, its daily budget and its 30-day variance.

Below it, a period table has one row per window. Every row shows expected and actual spend in total, for Google Ads and for Meta. The variance column compares the totals. You can also pick one custom date range. It cannot end in the future.

A client 9% under expected spend shows red, the same as a client 9% over. Underspend is a delivery problem, and the view treats it as one.

Each card has a collapsible daily chart of expected against actual spend, with a trend line. Export CSV downloads the period table for the clients on screen.

How to see every client in one list

Choose All in the workspace selector and the view lists every client in every workspace you can see. A client in two workspaces appears once. A client filter narrows the list to one. Teammates with the Member role see only the workspaces they were granted.

Spend is fetched live from Google Ads and Meta and cached for five minutes. Opening the view uses no analysis run. Refresh clears the cached spend and uses one run for each workspace it refreshes. With All selected, that is every workspace you can see.

How expected spend is calculated

daily budget  = monthly budget / 30.4
expected      = daily budget * days in the window
variance %    = (actual - expected) / expected * 100

Take a client with €3,040 a month on Google Ads and €1,520 on Meta. That is €4,560 in total, and €4,560 / 30.4 = €150 a day. Over the 14-day window, expected spend is €150 x 14 = €2,100. That splits into €1,400 on Google and €700 on Meta.

If the client spent €2,184 in those 14 days, the variance is €84 / €2,100 = +4.0%. That shows amber. At €2,247 it would be +7.0%, which shows red.

30.4 is 365 divided by 12, rounded to one decimal. Google uses the same constant for the monthly spending limit of most campaigns. From Google Ads Help, checked 3 September 2026:

Your monthly spending limit (30.4 times your average daily budget for most campaigns) in any particular month.

If you set a Google daily budget as the monthly figure divided by 30.4, Adswave's expected line uses the same daily figure. How budget pacing is calculated walks through the arithmetic.

Where the monthly budget comes from

You enter the budget per linked ad account, in the client dialog on the Clients page. Each linked Google Ads or Meta account has its own Monthly budget field. Adswave sums them per client and per platform.

A budget you save applies to the current month. It carries forward to later months until you change it. You cannot enter next month's figure in advance. A blank or zero amount is not saved, so the earlier figure stays in force.

The budget is not a cap. It is never sent to Google Ads or Meta.

Where the pacing number can be off

Today counts as a full day. Every window expects a full day of spend for today, while today's spend is still coming in. Every window leans toward underspend until the day ends. Take the €150-a-day client, paced exactly, with €60 spent by mid-morning. The 2-day window reads €210 against €300, which is -30%. The 14-day window reads €2,010 against €2,100, which is -4.3%. Today is the server's calendar date. Your organisation's time zone setting does not change it.

The 30.4-day month does not match the calendar. In a 31-day month the expected line runs about 2% above an even split of the budget. A client spending evenly shows about -1.9%, which is green. In a 28-day February the expected line runs about 7.9% below an even split. The same client shows about +8.6% on windows inside February, which is red. A 30-day month gives about +1.3%, which is green. A 29-day February gives about +4.8%, which is amber.

No currency conversion. Spend from accounts in different currencies is added together as it is. Budgets carry no currency. Keep each client's accounts in one billing currency.

Long windows use this month's budget. The 90, 180 and 365-day rows expect this month's daily budget on every day. A budget that changed during the year skews them.

No budget reads green. A client without a budget has an expected spend of zero. Its variance shows 0.0% in green. Set budgets before you trust the colours.

Chart history is 90 days. The chart has 180 and 365-day buttons, but actual spend older than 90 days shows as zero. Read longer periods from the table.

If a platform's data cannot be fetched, the card says "Google Ads data unavailable" or "Meta Ads data unavailable". The variance is withheld rather than shown as a false underspend. Reconcile client invoices against each platform's billing, not against a figure from any third-party tool, including this one.

What Budget Pacing does not do

  • No month-end projection. The view shows no projected month-end spend and no month-to-date figure. The free budget pacing calculator does project, as actual spend / days elapsed x 30.4. It flags a variance beyond 5% either way.
  • No changes to your accounts. Adswave never writes to Google Ads or Meta. On Meta it requests ads_read, never ads_management. On Google it calls only the Ads API's search and account-listing endpoints. Why Google Ads asks for full access explains the Google permission.
  • No ranking by risk. Cards are sorted by client name, not by how far off pace they are.
  • No email from this view. Pacing alerts are a separate rule type on the Alerts page. Overspend alerts covers them.
  • No rollover. Unspent budget is not added to next month's figure.
  • No view across organisations. All covers the organisation you are in.

Which plan includes Budget Pacing

Budget Pacing is on every plan. Basic is €19.99 a month, Standard €47.99 and Pro €129.99. Pacing works the same on each. The plan sets how many clients and ad accounts it covers. Basic covers 5 clients, Standard 12 and Pro 35. By plan, each client can link 1, 2 or 3 Google Ads accounts and as many Meta accounts. Seats are unlimited on every plan.

Pricing has the full comparison. You can start with a 7-day free trial, no card required.

Questions people ask

What is a budget pacing tool?

A budget pacing tool compares what a client has spent with what they should have spent by now, given the monthly budget. Budget pacing has the full definition.

Does Adswave forecast month-end spend?

No. The in-app view compares expected and actual spend over windows ending today. The free calculator projects a month of spend at the current daily rate, over a 30.4-day month.

Why does an evenly paced client show red in February?

Because expected spend uses a 30.4-day month. A 28-day February is shorter, so a client spending its budget evenly runs about 8.6% ahead of the expected line. That is past the 5% red threshold. In a 29-day February the figure is about +4.8%, which is amber.