Google Ads in Claude, with an approve button

I built Camberstack, a hosted MCP server that connects Google Ads to Claude (and ChatGPT, Cursor, or any MCP client). This post is the setup and a real example of using it, so you can decide whether it's useful for your account.

Why connect Google Ads to an AI at all

Most of what I do in Google Ads is the same handful of questions: what did each campaign cost last month, which searches are eating budget without converting, what should I block. The Google Ads UI answers all of them, but it's a lot of clicking. Claude can answer them in one sentence each, if it can read the account.

The catch is that letting an AI change an ad account is scary. So the design rule is: the AI can read anything, but every change is a proposal you approve, and every applied change can be undone.

Setup (about two minutes)

You need a Google account with access to Google Ads. No developer token or Google Cloud project, because the server is hosted.

Claude (web or desktop):

  1. Settings → Connectors → Add → Add custom connector
  2. Name it Camberstack, URL: https://camberstack.io/mcp
  3. Sign in with Google. The consent screen shows exactly what's shared: Google Ads, plus optional read-only Search Console.

Claude Code:

claude mcp add --transport http camberstack https://camberstack.io/mcp

The full guide with screenshots covers Team/Enterprise plans and troubleshooting. There's also a ChatGPT version.

A real example

Everything below uses the built-in demo account: a fictional plumbing business with six months of sample data. Changes there never reach Google, so you can repeat this yourself. Just ask Claude: "Show me Camberstack's demo account." (The sample numbers shift a little day to day.)

"How did each campaign do in the last 30 days?"

Campaign Spend Conversions Cost/conv
Emergency Plumbing – Search $346.51 7.2 $48.13
Performance Max – Services $270.73 1.5 $180.48
Water Heaters – Search $199.23 1.8 $110.68
Drain Cleaning – Search $158.37 0 –
Brand – Northwind $15.06 2.2 $6.85

Drain Cleaning spent $158 with zero conversions. So:

"Which search terms cost money without converting?"

Among the top results: "how to unclog a drain" (9 clicks, $19.77) and "tankless water heater reviews" (7 clicks, $19.82). Those are people researching, not people about to call a plumber.

"Block those kinds of searches. Show me the change first."

Claude doesn't change anything yet. It creates a proposal, which is dry-run against Google so it either works or fails before you approve, and shows it to you:

1. Add 1 negative keyword(s) to campaign "Drain Cleaning – Search": "how to"
2. Add 1 negative keyword(s) to campaign "Water Heaters – Search": "reviews"

You say "apply it", and only then does it go to the account. If you change your mind later: "Undo that." It reverses exactly what it applied, and nothing else.

What it can and can't do

It can change negative keywords, budgets and end dates, pause/enable, bids, bid strategy, location and language targeting, and conversion goals. It can also build whole Search campaigns, which are always created paused, so building and spending are two separate approvals. Risky changes (turning a campaign on, doubling a budget) carry a warning in the proposal.

It can't delete anything you built, touch billing, or change anything outside Google Ads. With Search Console connected, it can also tell you which searches you're paying for that already rank organically.

One honest caveat: Claude asks before running tools that change things, unless you've set that tool to "always allow". Keep the confirmation on for apply_changes.

Try it

If you try it, I'd like to hear what broke or what you wished it could do. I read every comment.

添加评论
点赞收藏
点踩分享查看原文
评论
?
参与讨论