Run Google Ads from the AI client you already talk to.
Reallocate budgets, adjust bids, and cut search-term waste across Search, Performance Max, and Shopping — every change staged as a draft you approve.
My branded Search campaign is fine but Performance Max is over-pacing. Shift $300/day from PMax to the campaigns that are actually converting, and flag any search terms wasting spend.A draft that moves $300/day daily budget from "PMax — Catalog" into two converting Search campaigns and adds 7 zero-conversion search terms as campaign-level negatives. Projected to recover ~$2,100 of monthly spend at the current run rate — pending your approval.
Staged as a draft. Nothing reaches Google Ads until you approve it.
SpendSignoff connects to a Google Ads account over Google’s own OAuth and starts read-only. Ask your AI client what’s happening in plain English and it pulls live campaign, ad group, and search-term data through the MCP server — no spreadsheet export, no tab-switching.
When the operator spots a fix — a Search campaign pacing 40% over, a Performance Max asset group eating budget at a thin ROAS — it writes a draft. The draft shows the before→after on the exact Google Ads field it would change. Nothing pushes live until you approve it.
What it does
Search & PMax budget drafts
Move daily budget between Search and Performance Max campaigns based on the ROAS each is returning this week. The draft names the campaigns, the dollar shift, and the projected pacing change.
Bid and tCPA/tROAS adjustments
Lower a target CPA on a campaign that’s starving on volume, or raise a target ROAS where margin is thin. Each bid-strategy change is a separate draft with the current and proposed value side by side.
Search-term waste cleanup
Surface search terms burning spend with zero conversions and draft them as negative keywords at the right level — campaign or ad group — so you stop paying for queries that never convert.
Shopping & feed pacing
Catch Shopping campaigns over-spending on low-margin product groups and draft budget caps or priority changes. The draft cites the product group and the spend it’s been pulling.
Pacing and overspend fixes
When a campaign is on track to blow past its monthly budget, the operator drafts a corrective daily cap and shows the run-rate math behind it.
A client-ready record of every change
Every change SpendSignoff drafts — and every change Google’s own automation makes — is read from Google’s change_event log and saved, so you can hand a client an itemized record of what changed and when. Google keeps only ~30 days of that history queryable, so it’s captured on a schedule.
How it works
Read, read-only
Connect Google Ads over OAuth. SpendSignoff reads campaigns, ad groups, keywords, and search terms — and can’t touch spend, because connections start read-only.
Draft the fix
The operator proposes a budget shift, bid change, or negative keyword as a draft, with the exact Google Ads field and a before→after diff.
Approve, then push
You review the diff and use the two-step Approve and push live → Confirm control. The change lands in Google Ads and a signed audit entry, with one-click rollback.
Questions
Does SpendSignoff support Performance Max and Shopping, not just Search?
Yes. The operator reads and drafts across Search, Performance Max, and Shopping campaigns, including asset-group budgets and product-group pacing.
Can the AI change my bids or budgets on its own?
No. Every budget shift, bid change, and negative keyword is staged as a draft. Going live requires the two-step approval from a signed-in human — there is no autonomous spend.
How does it connect to my Google Ads account?
Through Google’s own OAuth, starting read-only. Write access stays dormant until you approve a specific draft, and tokens are KMS-vaulted, never returned to the model.
Can I show a client exactly what changed in their Google Ads account?
Yes. SpendSignoff reads Google’s own change history — who changed what, the old and new value, and when — and turns it into a client-ready ledger, including changes Google’s automation made on its own. Google keeps about 30 days of that history queryable, so it’s captured on a schedule.
Drive it from
Put Google Ads on autopilot — with your hand on the switch.
Free to connect and read. You only pay when you want the operator drafting around the clock.