DEV Community

Cover image for Google Ads can spend up to 2x your daily budget. I built a Chrome extension that catches it before it happens.
Sami
Sami

Posted on

Google Ads can spend up to 2x your daily budget. I built a Chrome extension that catches it before it happens.

If you've ever opened Google Ads and noticed your campaign spent way more than the daily budget you set, you're not imagining it. Google's documentation explicitly says they may spend up to twice your daily budget on any given day, evening it out across the month. That's not a bug — it's how their pacing engine has always worked.

What changed in March 2026: Google now aggressively targets 100% of your monthly limit — which is 30.4× your daily budget. Even with ad scheduling. So if your campaigns only run 22 days a month (weekdays only, for example), Google can push up to 38% more spend per active day than you'd expect from your daily budget setting.

Most PPC managers don't notice until the damage is done. The Campaigns tab in Google Ads doesn't tell you whether you're on pace or headed for overspend. You'd need a spreadsheet, a calendar, and a calculator open in another window — or a SaaS tool that costs $49 to $749 per month.

I got tired of the spreadsheet route. So I built a Chrome extension that does it inside Google Ads, in real time, for free up to 3 campaigns. Walking through the build because the technical approach is interesting and the pricing math vs SaaS tools is genuinely lopsided.

What budget pacing actually requires

The math is simple. For each campaign:

expected_spend_today = daily_budget × (days_elapsed_in_month / total_days_in_month)
pacing_ratio = actual_spend_today / expected_spend_today

# pacing_ratio < 1.10 → on pace
# pacing_ratio 1.10–1.20 → slight overspend
# pacing_ratio > 1.20 → overspend risk
Enter fullscreen mode Exit fullscreen mode

That's the whole core logic. SaaS tools wrap this in dashboards, alerts, multi-account aggregation, and reporting. But the underlying calculation is six lines of code.

The reason SaaS tools charge $49+/month isn't the math — it's the data plumbing. They connect to the Google Ads API (OAuth, refresh tokens, quota management), run server-side jobs to pull your accounts on a schedule, store results in a database, render charts. Real infrastructure cost.

But here's the thing: your campaign data is already visible on your Google Ads screen. Names, budgets, costs, statuses — the information is sitting in the DOM right there. If you're already looking at Google Ads, why does anyone need to call an API to tell you what you're already looking at?

The Chrome extension approach

I built AdPacer as a Manifest V3 Chrome extension that reads the campaign data from the Google Ads page DOM and overlays three pacing indicators directly on the interface you're already using. Architecture:

  • Content script runs on ads.google.com URLs
  • MutationObserver detects when the campaigns table renders or updates (Google Ads is a heavy SPA so this matters)
  • DOM parsing extracts campaign name, daily budget, current spend per row
  • Pacing math runs locally on the extracted values
  • DOM injection adds the colored pacing bars and projected-spend badges next to each campaign row
  • Notifications API for the periodic overspend checks

Zero API calls. Zero authentication flows. Zero backend. Zero data leaves the user's browser. Everything runs in the page's content-script context.

The privacy implication is meaningful: AdPacer cannot exfiltrate your Google Ads data even if it wanted to. There's no network request to anywhere. SaaS tools, however privacy-conscious their privacy policies are, send your campaign data to their servers as a fundamental part of how they work.

What you actually see in Google Ads after install

Three additions to the standard Campaigns tab:

1. Pacing bars — a color-coded bar next to each campaign:

  • Green: on pace, within 10% of expected spend
  • Yellow: ahead of pace, 10–20% over expected
  • Red: overspend risk, 20%+ over expected

2. Projected end-of-month spend — a badge showing what your monthly spend will be if you continue at the current daily run rate. Updates as the page data updates. No spreadsheet required.

3. Browser notifications — when any campaign crosses your threshold (configurable from 10% to 25%). Checks automatically every 30 minutes. Catch problems early instead of at month-end reconciliation.

That's it. Install, open Google Ads, see your pacing.

Pricing — and why this is structured the way it is

I deliberately wanted to make this accessible to freelancers and small teams, not enterprise-priced.

Tier Price Limit
Free $0 Up to 3 campaigns. All core features. No credit card, no trial expiration.
Pro $14/mo Unlimited campaigns, custom thresholds, priority support.
Agency $29/mo Multi-account support, PDF pacing reports, team sharing.

The free tier covers most freelancers managing 1-3 client accounts at a time, or small e-commerce teams running a couple of brand/generic/shopping campaigns. Pro is for in-house PPC managers running 5-50 campaigns. Agency is for teams managing multiple clients.

For comparison with the SaaS landscape:

Tool Lowest tier Notes
TrueClicks $49/mo Broader PPC management
Optmyzr $129/mo Optimization suite
WordStream $299/mo+ Enterprise tier
AdPacer $0–$14/mo Pacing only

If you need full PPC management — bid optimization, A/B testing, audience suggestions, the whole stack — the SaaS tools are doing a lot more than pacing. But if all you actually need is "tell me when a campaign is going to overspend," paying $49-299/month for that single feature is overkill.

Who I built this for

PPC managers running Google Ads daily who want instant budget visibility without context-switching to another tool. Freelancers managing 1-5 client accounts where SaaS pricing eats too much of the margin. Agency teams who need quick pacing checks across multiple campaigns. E-commerce advertisers watching ROAS and budget efficiency in real time.

If you're an enterprise team running 200+ campaigns with complex bid strategies, this isn't for you — you probably already have an Optmyzr-class tool. If you're somewhere between "spreadsheet" and "expensive SaaS," this fills the gap.

What it doesn't do (yet)

Being honest about scope:

  • No Microsoft Ads / Bing Ads support yet (Google Ads only)
  • No Meta / TikTok Ads (different DOMs, different challenges, would be a separate extension)
  • No historical pacing trends beyond current month
  • No bid suggestions or campaign optimization (that's a different problem space)

Pacing is a single, focused use case. The extension does that one thing well rather than trying to be a half-decent everything tool.

Install link

AdPacer on the Chrome Web Store

Free tier covers up to 3 campaigns with no credit card and no trial expiration — install and see if it solves your problem before paying anything.

If you're a PPC manager and the spending pattern Google introduced in March 2026 has been causing you headaches, this is the lowest-friction way to catch overspend before it happens. If you're a developer reading this for the technical approach: yes, the entire thing runs client-side via DOM parsing — no API key, no backend, no data leaves the browser.

Happy to answer questions about either side.

Top comments (0)