SpendSignoffSpendSignoff
Tutorial7 min read··SpendSignoff

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 → ConnectionsAdd 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

Approval happens in the SpendSignoff dashboard, authenticated by your Clerk session. The ChatGPT conversation is read-only from SpendSignoff's perspective once a draft is staged — no chat message can trigger execution.

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_campaigns tool 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.

Book a demo

Related reading

    Connect ChatGPT to Google Ads via MCP — step-by-step guide — SpendSignoff · SpendSignoff