Budget pacing formula: how to calculate ad spend pace in Excel or Google Sheets
Budget pacing uses four formulas. Expected spend to date = monthly budget x days elapsed / days in the month. Pace = actual spend / expected spend. Daily budget to hit = (budget - spend to date) / days left. Month-end forecast = spend to date / days elapsed x days in the month. In Excel or Google Sheets these are one-line formulas per campaign, and NETWORKDAYS turns them into a weekday-only version for B2B campaigns that pause on weekends.
Key takeaways
- Pace is actual spend divided by what should have been spent by now, not by the full monthly budget.
- The daily budget to hit is the number to set in the platform: budget left divided by days left.
- Use business days for weekday-only campaigns, or every Monday looks overpaced.
- Use the same run rate for conversions to forecast cost per conversion at month end.
- Spreadsheets work for a few campaigns; they break on manual exports, time of day and mid-month changes.
Pacing Console at a glance
- What it is
- A budget pacing tool from PlanConversion: hourly pace for every campaign, month-end forecasts and the daily budget that lands the month
- Platforms
- Google Ads, Microsoft Ads and LinkedIn Ads
- CRM
- HubSpot, Salesforce, Pipedrive, or any CRM by CSV or API: lifecycle stage counts by campaign (Pro)
- Pipeline and revenue
- Enterprise: opportunities, pipeline value, average deal size, won revenue, customers, win rate, pipeline-to-spend, ROAS and CAC for every campaign, credited to the campaign that first brought in the contact
- 1 month free
- First month free at any spend, for up to 3 users. Then Pro, or the workspace pauses with its data kept
- Pro
- $49 USD per workspace a month, or $490 a year (12 months for the price of 10); 10 users included, then $5 per extra user
- Enterprise
- $1,500 USD a month, billed annually, 10 users included, then $20 per extra user a month
- With Link Console
- Pro: add Link Console for $39 a month, so both products are $88 per workspace a month ($880 a year); Enterprise adds Link Console for $199 a month for all users. One account for both products: the same login, team and billing
- Start and sign-in
- First month free, no credit card; Google or Microsoft sign-in
The four budget pacing formulas
| Metric | Formula | What it tells you |
|---|---|---|
| Expected spend to date | Monthly budget x days elapsed / days in month | What the campaign should have spent by now |
| Pace | Actual spend / expected spend | 100% is on plan; 110% is 10% ahead; 90% is 10% behind |
| Daily budget to hit | (Monthly budget - spend to date) / days left | The daily budget to set so the month lands on plan |
| Month-end forecast | Spend to date / days elapsed x days in month | Where the month lands if nothing changes |
Days elapsed should include today only if today’s spend is in the data. If you pull spend in the morning, use yesterday as the last full day, or better, count the hours elapsed today as a fraction of a day so a partial day is not compared with a full one.
The spreadsheet layout
Use one row per campaign with these columns: A campaign, B monthly budget, C spend to date, D first day of the month, E last day of the month, F today’s date (or the date of the data pull). The formulas below work the same way in Excel and Google Sheets.
| Column | Calculation | Formula for row 2 |
|---|---|---|
| G days in month | Last day - first day + 1 | =E2-D2+1 |
| H days elapsed | Full days up to the pull date | =F2-D2 |
| I expected spend | Budget x elapsed / total | =B2*H2/G2 |
| J pace | Actual / expected | =IF(I2=0,"",C2/I2) |
| K daily budget to hit | Budget left / days left | =MAX(0,(B2-C2)/(G2-H2)) |
| L month-end forecast | Run rate x days in month | =IF(H2=0,"",C2/H2*G2) |
| M forecast vs budget | Forecast - budget | =IF(L2="","",L2-B2) |
Format J as a percentage and add conditional formatting: red above 110%, amber below 90%, green between. That tolerance band is a starting point; tighten it for large always-on campaigns and widen it for small or new ones.
Bring your funnel numbers to a 30-minute pipeline plan session. We show where spend is leaking against your CRM data and what to fix first.
The weekday-only version for B2B campaigns
Many B2B search and LinkedIn programs run Monday to Friday. Paced on calendar days, they look underpaced every weekend and overpaced every Monday. Replace the day counts with business days: days in month becomes =NETWORKDAYS(D2,E2), days elapsed becomes =IF(F2<=D2,0,NETWORKDAYS(D2,F2-1)), and days left is the difference. NETWORKDAYS also takes an optional holiday range, so a statutory holiday is not counted as a spending day.
If campaigns have flight dates that start or end mid-month, replace the first and last day of the month with the campaign’s own start and end dates. Expected spend should only count the days the campaign is meant to run.
Forecast conversions and cost per conversion too
Add a conversions-to-date column N. The month-end conversion forecast is =IF(H2=0,"",N2/H2*G2). On a run rate, the forecast cost per conversion equals the cost per conversion to date, =IF(N2=0,"",C2/N2), so put it next to your target. On day ten this tells you whether the month will deliver the pipeline it was budgeted for, not just whether the money will be spent.
Read conversions with a lag in mind. Platforms attribute some conversions days after the click, so the first days of a month usually understate the conversion forecast.
When the spreadsheet stops working
- Spend has to be exported by hand from Google Ads, Microsoft Ads and LinkedIn Ads, so the sheet is only as fresh as the last export.
- A morning export compares part of a day with a full daily budget, which creates false alarms.
- Mid-month budget changes, new campaigns and flight dates need manual edits that are easy to forget.
- Each business unit or client keeps its own copy, so finance never sees one version of the forecast.
- Nobody is told when a campaign leaves the tolerance band; someone has to open the sheet.
If two or more of these sound familiar, automate the same formulas rather than adding more tabs. Pacing Console applies them to every Google Ads, Microsoft Ads and LinkedIn Ads campaign every hour, paces weekday-only campaigns on business days and shows the daily budget to hit next to the platform setting.
It also supports flight dates and month-by-month budget plans, and emails the campaigns outside your band each morning. The first month is free, then Pro is US$49 per workspace a month.
Our article on Google Ads going over the daily budget explains why the daily budget to hit matters most.
Frequently asked questions
What is the formula for budget pacing?
Pace = actual spend / expected spend to date, where expected spend to date = monthly budget x days elapsed / days in the month. 100% means on plan.
How do I calculate the daily budget I need for the rest of the month?
Divide the budget left by the days left: (monthly budget - spend to date) / days left. Use business days for weekday-only campaigns.
How do I forecast month-end ad spend in Excel?
Divide spend to date by days elapsed and multiply by the days in the month. In a sheet with spend in C2, days elapsed in H2 and days in month in G2, the formula is =C2/H2*G2.
What is a good pacing tolerance band?
Plus or minus 10% of expected spend is a common starting point. Tighten it for large, stable campaigns and widen it for small or newly launched ones.
How do I pace campaigns that only run on weekdays?
Use business days instead of calendar days. NETWORKDAYS in Excel and Google Sheets counts weekdays between two dates and can exclude a list of holidays.
Related service: Paid media. See also pricing and client results.
We run enterprise B2B demand generation for teams in Montreal, Toronto, Ottawa and the United States.