How to Connect Google Ads to Claude (Official MCP Guide)
Step-by-step guide to connecting Google Ads to Claude via the official MCP server — plus what the read-only connection still can't do after setup.

Updated July 2026.
You connect Google Ads to Claude by self-hosting Google's official open-source MCP server, which gives Claude read-only access to your account data through three tools. Unlike Meta's paste-a-URL connector, there is no hosted endpoint — you bring a developer token, a Google Cloud project, and OAuth credentials. This guide covers the verified setup, what the connection is actually good for, and — the part most tutorials skip — what it still can't do afterward.
Before you start: what you need
Per Google's official integration guide (last updated June 24, 2026), gather:
- A Google Ads developer token — the 22-character string issued through a manager account's API Center. Its access level matters: test-level tokens only work against test accounts.
- A Google Cloud project ID.
- OAuth 2.0 credentials — a client ID/secret pair or application default credentials.
- Python tooling on your machine (the documented install uses
pipx).
If that list reads like developer work, that's accurate. Google's server is aimed at people comfortable with API credentials; it is not a consumer connector.
How to connect Google Ads to Claude: 6 steps
- Get your developer token. In a Google Ads manager account, open the API Center and copy your token (apply for basic access if you only have test access).
- Set up Google Cloud auth. Create or reuse a GCP project and create OAuth credentials for it, or configure application default credentials.
- Add the server to Claude's MCP configuration. In Claude Desktop that's
claude_desktop_config.json; in Claude Code it'sclaude mcp add. Use Google's documented config: thepipxcommand pointed atgit+https://github.com/googleads/google-ads-mcp.git, withGOOGLE_PROJECT_IDandGOOGLE_ADS_DEVELOPER_TOKENas environment variables. - Restart Claude and complete the OAuth flow in your browser when the server first authenticates.
- Verify with a discovery prompt. Google's own suggested starter: "What customers do I have access to?" — which exercises the
list_accessible_customerstool. - Ask real questions. "Give me the top spending campaigns split by device over the last 7 days for account 1234567890" is the canonical example from the docs.
(Teams that want a shared server can instead deploy the same code to Cloud Run — Google documents that path too — but local stdio is the fast route for one person.)
What to expect once Claude is connected
Claude translates your questions into Google Ads Query Language and runs them through the server's search tool, using get_resource_metadata to check what fields exist. In practice it's strong at ad-hoc slicing — spend by device, budget pacing, campaign status sweeps, quick anomaly hunts — and it removes the "export to Sheets first" step from most one-off questions. Expect occasional GAQL retries on complex queries; that's normal.
Also expect the defining constraint: the official server is strictly read-only. Google's docs are explicit that it "cannot modify bids, pause campaigns, or create new assets." Claude can tell you a budget looks wrong; it cannot fix it. The full constraint list is in our Google Ads MCP limitations breakdown.
After setup: what the connection still can't do
- It can't remember. MCP is stateless. Every session, Claude re-reads the account from scratch; yesterday's analysis, your CPA targets, the weird ad group it flagged — all gone unless you re-paste them.
- It can't watch. Nothing runs between your prompts. There are no alerts, no scheduled checks, no weekend coverage. An AI agent that monitors your ads is a fundamentally different architecture than an assistant that answers when asked.
- It can't keep a change record. It can query Google's change_event data, but the API only exposes a recent window — there's no permanent, reviewable history of who changed what and when.
- It can't prove causality. Ask why conversions dropped and you'll get a plausible story from current data, not a measured link between a specific change and the move it caused.
- It can't act. Read-only means every fix routes back through a human in the Google Ads UI.
- It can't see your other platforms. Google only — blending Meta or LinkedIn into the same analysis is manual.
When you need a persistent layer instead
The honest framing: connecting Google Ads to Claude is worth the hour of setup. Ad-hoc questions get dramatically faster, and read-only means it can't hurt anything. But everything on the can't-do list above comes from the same root — MCP holds no state. If the job is "know when something changes, keep the receipts, and explain what caused what," you need software that persists between sessions.
That's the layer The Ad Spend provides: it monitors Google Ads (plus Meta, LinkedIn, TikTok, and Reddit) roughly every 6 hours with 1,900+ detection algorithms, maintains a permanent version-controlled record of every account change, traces performance moves to the exact change that caused them, and sends alerts, reports, and Q&A to Slack. Setup is OAuth — no developer token, no self-hosting — and it runs happily alongside your Claude MCP setup. Here's the full picture of how the two layers divide the work.
FAQ
How do I connect Google Ads to Claude?
Self-host Google's official open-source MCP server: get a developer token and Google Cloud OAuth credentials, add the documented pipx-based config to Claude Desktop or Claude Code, restart, and authenticate. Claude then queries your account through the server's three read-only tools.
Can Claude make changes to my Google Ads account?
Not through the official MCP server — it is strictly read-only in its current release and cannot modify bids, pause campaigns, or create assets. Any tool offering write access is a third-party implementation, not Google's.
Is there a hosted Google Ads connector like Meta's?
No official one. Meta hosts its MCP at mcp.facebook.com/ads; Google only ships open-source code you run yourself, locally or on your own Cloud Run deployment.
Does connecting Claude to Google Ads cost anything?
The server code is free and open-source. You'll need a Google Ads developer token (free to request) and, depending on how you run Claude and any cloud hosting, the usual costs of those services.
Can Claude monitor my Google Ads account continuously?
No. MCP only executes during an active chat session. Continuous monitoring, alerting, and a permanent change history require a persistent layer that runs between sessions.