Connect ChatGPT to Google Ads via MCP — step-by-step guide
ChatGPT added remote MCP support in early 2026, which means you can now point it at SpendSignoff and talk to your Google Ads account in plain English — with every proposed change staged as a draft before anything goes live.
Before you start
You need three things: a Google Ads account with at least one campaign, an SpendSignoff account (free tier works for this walkthrough), and ChatGPT Plus or Team with MCP connections enabled. The free tier covers 50 read calls and 10 draft proposals per month — enough to complete this setup and run a few real queries.
- Google Ads account with Manager access (owner or admin role).
- SpendSignoff account — sign up at spendsignoff.com, takes 90 seconds.
- ChatGPT Plus, Team, or Enterprise with "Connections" enabled in settings.
Step 1 — Connect your Google Ads account in SpendSignoff
Log in to SpendSignoff, go to Accounts, and click "Add account." Select Google Ads and complete the OAuth flow. SpendSignoff requests read + write scopes — write scope is needed to push approved drafts, but the model itself only ever receives mcp.read and mcp.draft tool access. Your OAuth token is KMS-encrypted at rest and never returned to the AI client.
After OAuth completes, SpendSignoff runs a test read and displays your account name and spend-to-date. If that shows correctly, the connection is live.
Step 2 — Add SpendSignoff as an MCP server in ChatGPT
Open ChatGPT settings → Connections → Add MCP server. Paste your SpendSignoff MCP URL (format: https://mcp.spendsignoff.com/mcp?token=YOUR_TOKEN) and click Connect. ChatGPT will handshake with the server, discover the tool manifest, and show you a list of available tools including list_campaigns, get_account_snapshot, and propose_change.
Example ChatGPT prompt after connecting
Show me my top 5 Google Ads campaigns by spend this month,
then draft a 10% budget increase on any campaign with ROAS above 4.Step 3 — Review and approve your first draft
When ChatGPT calls propose_change, SpendSignoff stages a draft. You will see a before→after diff in the SpendSignoff dashboard: the current budget figure on the left, the proposed budget on the right. Click "Approve & push live" to execute, or "Reject" to discard. The model cannot proceed past the draft stage regardless of what you type in the ChatGPT conversation.
The approval event is written to the append-only audit log with your user ID, timestamp, and the exact payload sent to Google Ads. You can export the log as CSV from the Audit page.
The model never sees the Approve button
FAQ
- What happens if ChatGPT loses the MCP connection mid-conversation?
- Any draft already staged in SpendSignoff stays in the queue. Reconnecting restores tool access. No partial writes happen — changes are atomic: either the full payload is approved and pushed, or nothing changes.
- Can I connect multiple Google Ads accounts?
- Yes. SpendSignoff supports multiple accounts per workspace. In ChatGPT you can ask "switch to account X" and the
list_campaignstool will scope to that account.
Connect an account read-only and watch the operator work.
Reads are free on every plan. Nothing spends without your two-step approval.
Related reading