I automated the most anxious 15 minutes of my workday.
A budget pacing alarm for paid media. It checks every campaign each morning and only speaks up when one drifts, with the day it runs out and the daily budget that lands it on target.
Every campaign, one board.
This is the same math as the sheet, running in your browser. It starts with five fictional clients. Import your own exports or connect your sheet and it becomes your board. Nothing leaves your browser.
—
The numbers
Quiet when it's fine. Loud when it isn't.
At 9 AM the sheet checks every campaign. Inside the threshold, nothing is sent. Outside it, you get one short message per campaign that says what to change.
Plug every platform into one alarm.
Your Google Sheet is the hub. Google Ads and Meta can fill it on their own every morning; everything else comes in as a daily export. Connect the sheet here and this page becomes a live view of all of it.
Your Google Sheet
Setup + Spend in, Pacing + alerts out. The 9 AM trigger emails or Slacks the owner.
Six formulas. No black box.
Everything is a plain Sheets formula you can read and change. The worked numbers below use the campaign selected on the board: —.
- Copy the sheetOne click. Or open the .xlsx in Google Drive.
- Fill SetupOne row per campaign: budget, flight dates, owner.
- Feed SpendPaste exports, or let the Google Ads and Meta connectors do it.
- Add the scriptExtensions ▸ Apps Script ▸ paste Code.gs.
- Turn on alertsPacing Alarm ▸ Turn on daily alerts. Done.
Free. Copy it, break it, make it yours.
If it saves you a morning, tell me on LinkedIn what you'd add next. The weekly summary email and weekday weighting are on my list.
sample clients are made up, the math isn't