Google Ads in Claude Code

Connect Google Ads to Claude Code with one command

Claude Code lives in your terminal, so there is no connector settings screen to click through.

  • Official Google sign-in, no developer token
  • Every change previewed first
  • Agency and multi-account ready
Claude CodeOpus Growth connected
Audit the last 30 days of Google Ads and write the findings to reports/google-ads.md.

Figures in these pictures belong to a sample business, Shopwell. The steps, previews and approvals are how Opus Growth really works.

TrustpilotTrustScore 4.2 · 13 reviews
4.7 / 5Panel rating
Google AdsGoogle Ads APIOfficial platform APIs
PaddleSecure payments

Do I need a developer token or my own MCP server?

No. Opus Growth is a hosted remote MCP server, so Claude Code reaches Google Ads through one command and one Google sign-in. There is no Google Ads developer token to apply for, no OAuth client to register and no credential file to keep out of git.

One line, claude mcp add --transport http opus-growth https://mcp.opus-growth.com/mcp, registers Opus Growth as a remote MCP server, a single OAuth approval links your Google Ads account, and the agent that already reads your codebase gains Google Ads tools, with Meta Ads, Microsoft Advertising, TikTok, LinkedIn and ChatGPT Ads on the same connection.

What you need before you start: Claude Code installed and signed in on a plan that includes it (Claude Pro, Max, Team or Enterprise) or Anthropic API billing, a reasonably current version, remote HTTP MCP servers are a newer capability, and a Google account that already has access to the ad account you want to manage. That is the whole list. No Google Ads developer token to apply for, no API key to paste, nothing to self-host, and the free trial starts at your first sign-in, without a card, and the 75 credits never expire.

A self-hosted Google Ads MCP server
  • Runs wherever you install it
  • Needs a developer token, an OAuth client and a refresh token
  • Credential files on every machine
Opus Growth
  • One claude mcp add command
  • Hosted OAuth, nothing secret in the repository
  • Google Ads, Meta, Microsoft, TikTok and LinkedIn on one connection

What Claude Code can do with your Google Ads account

Each picture is a real terminal session: the request, what the agent reads, and what it writes or proposes.

Your ad account and your repository in the same context

This is the thing only a coding agent can do. Claude Code can read the conversion events your analytics module actually fires and compare them with the conversion actions configured in Google Ads, check the final URLs on live ads against the routes that exist in the app, or reconcile campaign tracking templates with the UTM conventions in your source. A browser assistant cannot see the repo; a reporting connector cannot see the code.

Claude CodeOpus Growth connected
Compare the conversion actions in Google Ads with the events this repo actually fires.

Recurring account work becomes a cron line

Headless mode, claude -p, turns weekly ad ops into a scheduled job: dump last week's spend into a dated markdown file, diff it against the previous run, drop the summary into a pull request. One detail worth knowing before you write that cron entry: Claude Code does not auto-approve MCP tools in headless mode. You pass the --allowedTools flag and name the Opus Growth tools, or their shared prefix, that the run may call. Allowlist the reporting tools and the job runs unattended; leave the write tools off the list and no scheduled run can touch spend.

Claude CodeOpus Growth connected
Write a cron entry that sends last week's spend to a dated file every Monday, read-only.

Manager-account sweeps, on the Agency plan

Manager (MCC) hierarchies are handled natively through login-customer-id, so on the Agency plan a single request can sweep every client account and come back with one ranked answer: missing conversion tracking, budgets pacing over, campaigns with no active ads. In a terminal that output is a file, a diff or a table you can commit, not a screenshot. Free and Pro connect one ad account per platform, so cross-account sweeps are an Agency capability; single-account audits work on every plan.

Claude CodeOpus Growth connected
Sweep every client under my manager account for missing tracking and campaigns with no active ads. Save it as a CSV.

Guardrails sized for an agent that already has shell access

Claude Code can edit files and run commands, which makes unguarded spend authority a genuinely bad idea. So every write tool answers first with a dry run and nothing else: which account, which entity, the current value, the proposed value, then it stops. The change reaches the ad platform only on a second, confirmed call. A budget can never rise more than 50% in one step or 100% within 24 hours, nor drop more than 80% in one step, and every applied action is written to an audit log you can read back later. That gate lives in the connector rather than the client, so it holds identically in a terminal, a browser or an editor.

Claude CodeOpus Growth connected
Raise the Brand campaign budget from $100 to $400 a day.

One command instead of a settings screen

The entire install is one line in your terminal: claude mcp add --transport http opus-growth https://mcp.opus-growth.com/mcp. The default scope keeps the server in the project you are standing in; adding -s user makes it available in every project on your machine; -s project writes a shared.mcp.json file your teammates pick up with a git pull. Nothing to self-host, no package to install, no local proxy process to babysit.

One line, three scopes
claude mcp add
DefaultThis project only
-s userEvery project on this machine
-s projectWrites .mcp.json for the whole team
claude mcp add --transport http opus-growth https://mcp.opus-growth.com/mcp

No advertising credentials anywhere near your repo

The connector is hosted and each developer authorizes their own Google account through OAuth, so the only thing that ever lands in.mcp.json is a public URL. There is no Google Ads developer token to apply for, no client secret, and no service-account JSON file to gitignore and hope nobody commits by accident.

.mcp.json in the repository
Created with -s project
typehttp
urlmcp.opus-growth.com/mcp
SecretsNone, each person signs in with Google
Committing the file shares the server, not anyone's access.

How to connect Google Ads to Claude Code

Four steps, all in the terminal. The only browser moment is the Google sign-in.

  1. 1

    Add the server with one command

    In your terminal, run: claude mcp add --transport http opus-growth https://mcp.opus-growth.com/mcp, the default scope registers it for the current project. Add -s user to make it available across every project on your machine, or -s project to create a.mcp.json file your team can commit to the repository.

  2. 2

    Authenticate from inside the session

    Start Claude Code, type /mcp, select opus-growth and choose Authenticate. Claude Code opens your browser once for the hosted OAuth flow: sign in with Google, approve access, and choose which ad accounts the connector may work with. Working over SSH on a machine with no browser? Copy the printed authorization URL into a browser on your laptop, the callback completes exactly the same way.

  3. 3

    Verify before you trust it

    Run claude mcp list and confirm that opus-growth reports as connected. Then, in the session, ask it to list your ad accounts. If the account names come back, the Google Ads tools are live for this session. Meta Ads, Microsoft Advertising, TikTok Ads, LinkedIn Ads and ChatGPT Ads sit on the same connector but each has its own one-time sign-in, ask the agent to connect whichever ones you run.

  4. 4

    Run a real job and save the output

    Start with something you would otherwise do by hand: audit the last 30 days and write the findings to a file in the repo. Reads execute immediately. The moment the agent proposes a change, a budget cut, a negative keyword list, a paused ad group, it prints the dry run and waits for your confirmation in the terminal.

Claude Code prompts for Google Ads

Paste any of these into a Claude Code session inside your project.

List my Google Ads accounts, then write a 30-day campaign performance table to reports/google-ads.md with spend, conversions and CPA.

Compare the conversion actions configured in my Google Ads account with the conversion events this repo actually fires, and tell me which ones never trigger.

Check the final URLs on every enabled search ad against the routes in this app and flag any that would 404 or redirect.

Pull the last 14 days of search terms, draft a phrase-match negative keyword list, and show me the dry run before applying anything.

Sweep the client accounts under my manager account for missing conversion tracking and campaigns with no active ads, and write the results to a CSV file.

Our UTM conventions are defined in src/lib/analytics.ts, audit the tracking templates on my live campaigns against them and list every mismatch.

Write a cron entry that runs claude -p every Monday, allowlisting only the Opus Growth reporting tools, to dump last week's Google and Microsoft Ads spend into a dated markdown file.

Nothing reaches Google Ads without your yes.

Every change comes back as a preview first. If a request breaks a safety limit, the assistant says so and offers what is allowed.

  • Preview before every write

    You see the item, the current value and the new value before anything is applied.

  • Budget limits

    A budget can rise by at most 50% in one step and 100% within 24 hours, and a single cut cannot go deeper than 80%.

  • New items start paused

    Campaigns and ads created from the terminal stay paused until you turn them on.

  • Every action is logged

    Applied changes are recorded with the account and the time.

Claude CodeOpus Growth connected
Pause every campaign with a CPA above $50.

Claude Code or Claude in the browser

Where it runs

Opus GrowthYour terminal, inside the project you are already working in. No browser tab, no separate app, no context switch away from the code.

claude.ai (browser): A browser tab or Claude Desktop. Ideal for planning, exploration and sharing a conversation with a colleague.

How the connector is added

Opus GrowthOne CLI command: claude mcp add --transport http opus-growth https://mcp.opus-growth.com/mcp

claude.ai (browser): Settings, then Connectors, then Add custom connector, and paste the same URL. Custom connectors are available on Pro, Max, Team and Enterprise.

Authentication

Opus GrowthType /mcp in the session, choose Authenticate, approve once in a browser. On a headless or SSH machine, open the printed URL on your laptop instead.

claude.ai (browser): Handled in the browser you are already signed in to: a single approval screen, then pick your ad accounts.

Sharing with a team

Opus GrowthThe -s project flag writes a.mcp.json file you can commit; everyone who clones the repo gets the server, and each person authorizes their own Google account.

claude.ai (browser): Each person adds the connector in their own settings. Nothing to commit, but nothing shared either.

Automation

Opus Growthclaude -p makes reporting scriptable once you allowlist the read tools with --allowedTools: a weekly audit into a dated file, a spend diff inside a pull request.

claude.ai (browser): Interactive by nature. You are present for every step, which is fine for analysis and tedious for repetition.

What it can see besides the ad account

Opus GrowthYour repository, shell, tests and logs, so it can cross-check tracking code, routes and UTM conventions against the live campaign setup.

claude.ai (browser): Only what you type, paste or upload into the conversation.

Write safety

Opus GrowthDry run, explicit confirmation, audit log, the same gate described above, enforced by the connector.

claude.ai (browser): Identical, because the same hosted server enforces it.

Best fit

Opus GrowthDevelopers and technical PPC teams who want repeatable, scriptable account work next to the code that generates the conversions.

claude.ai (browser): Marketers doing exploratory analysis, weekly reviews, or working from a phone.

What users say about running Google Ads this way

Real reviews, shown as written.

5/5
“A team with strong communication skills and dynamism. A results-oriented system. Saves time and performs accurate operations. Congratulations.”
tuğrul taşkın · TR · August 4, 2026 · Trustpilot
Trustpilot
4.2/ 5
4.2 / 5

Based on 13 reviews · All Trustpilot reviews

In-panel rating
4.7/ 5

22 ratings, 19 of them 5 stars

All in-panel ratings come from people who use the product themselves. We check this against purchase records.

Start free trial, upgrade as you grow.

Free

$0

per month

no card needed

Start free trial

Try it on your own ad account before you buy.

What's included

  • 75 credits that never expire*
  • Google, Meta, TikTok, LinkedIn, Microsoft and ChatGPT Ads
  • Use from ChatGPT, Claude and other assistants
  • Every tool, live changes included
  • Preview and approval on every change
  • Budget safety limit and audit log
  • When credits run out, usage pauses; no charge
  • *For example about 37 reports or 25 account audits.

Pro

Most popular

$49

per month

billed monthly

Choose Pro

For a business running its own ads.

What's included

  • 5,000 credits renewed every month*
  • 1 ad account per platform
  • Google, Meta, TikTok, LinkedIn, Microsoft and ChatGPT Ads
  • Use from ChatGPT, Claude and other assistants
  • Data Studio (Looker Studio) reports under your brand**
  • Preview and approval on every change
  • Budget safety limit and audit log
  • Priority support from a person
  • *Every job your AI does uses credits: a report is 2, an account audit 3, building a campaign 8.
  • **Give your client a live report dashboard with your own logo.

Agency

$99

per month

billed monthly

Choose Agency

For anyone managing ads for several clients.

What's included

  • Unlimited credits*
  • Every client account through your manager account (MCC)**
  • Switch clients without reconnecting
  • 1,000 SEO/GEO credits every month***
  • Google, Meta, TikTok, LinkedIn, Microsoft and ChatGPT Ads
  • Use from ChatGPT, Claude and other assistants
  • Data Studio reports, preview and approval
  • Budget safety limit and audit log
  • A dedicated account manager and priority SLA
  • *Ask for reports, audits and changes without counting.
  • **As an agency you don't connect clients one by one.
  • ***Run keyword, competitor, backlink and AI-visibility research from the chat.

All-in-One

$149

per month

billed monthly

Choose All-in-One

For ads, websites and SEO on one subscription.

What's included

  • Everything in Agency: unlimited credits, MCC, client switching
  • AI Server: 30 GB for your websites, up to 15 sites*
  • 15,000 SEO/GEO credits every month**
  • WordPress plugin for one site***
  • Google, Meta, TikTok, LinkedIn, Microsoft and ChatGPT Ads
  • Use from ChatGPT, Claude and other assistants
  • Data Studio reports, preview and approval
  • Budget safety limit and audit log
  • A dedicated account manager and priority SLA
  • *Build, edit and publish your website by telling ChatGPT or Claude what you want.
  • **Run keyword, competitor, backlink and AI-visibility research from the chat.
  • ***Manage posts, pages and plugins on your existing WordPress site from the chat.

Enterprise

Custom

Let's talk

For teams and organizations arriving with their own domain. We listen to what you need and put together an offer for your team.

Contact us

Everything in Agency, plus:

  • Unlimited members; add or remove teammates yourself
  • A role per person: admin, member or read-only
  • Credits per seat; any seat can be made unlimited
  • See each member's credits and connected platforms
  • One central subscription and invoice
  • Your own domain and a dedicated contact

Prices in USD · Secure payment via Paddle · Cancel in one click

Google Ads in Claude Code: frequently asked questions

Two steps. First, in your terminal run: claude mcp add --transport http opus-growth https://mcp.opus-growth.com/mcp. Second, start Claude Code, type /mcp, select opus-growth and choose Authenticate, a browser window opens for the hosted OAuth flow where you sign in with Google and pick the ad accounts you want available. From then on the session has Google Ads tools, with no API key, no developer token and no server of your own to run.

The authorization URL is printed, so you open it wherever you do have a browser, usually your laptop. Sign in with Google there, approve access, and the hosted callback completes the exchange; the terminal session picks up the connected state without a browser ever running on the remote box. This is the normal path for anyone using Claude Code over SSH or inside a dev container, and it is exactly where a hosted remote MCP server beats a self-hosted stdio one that expects local credential files.

Local scope, the default, keeps the server in the project you are currently in. User scope, with -s user, registers it once for every project on your machine; that is the usual choice for a freelancer or a solo in-house marketer. Project scope, with -s project, writes a.mcp.json file you commit, so anyone who clones the repo gets the server definition automatically. That file contains nothing but a public URL: each teammate still authenticates with their own Google account and sees only the ad accounts they were granted, so committing it leaks nothing.

You run the add command and the one-time Authenticate step on each machine or container image, because Claude Code keeps the connector's session token in its own credential store on that machine, never in your project files. What lands in the repository is a URL and nothing else. Your Google credentials are in neither place: Google's tokens stay encrypted on our servers, so a lost laptop exposes no ad account, and revoking access from your Google account page cuts every client at once. The Opus Growth account, plan and connected ad accounts follow you to the new machine untouched.

For reporting, yes, with one flag. Headless runs started with claude -p do not auto-approve MCP tools, so you use --allowedTools to name the Opus Growth tools that run may call. Allowlist the read tools (performance reports, search terms, account audits) and a weekly report becomes a cron job that writes a file and exits. Be deliberate about the write tools: the dry-run preview is enforced by a confirmation parameter on the call, so an agent you have explicitly allowlisted for write tools can also send the confirmed call. Keep scheduled jobs read-only and let a human approve changes in an interactive session.

On the Agency plan, yes: manager (MCC) hierarchies work through login-customer-id, so one request can walk every client account you authorized and return a single ranked list. On Free and Pro the connector uses one ad account per platform, the first one you use, so a sweep on those plans covers that account only, and multi-account work is what the Agency plan is for. The terminal advantage is unchanged either way: the result arrives as a file or a CSV you can diff and commit, not a dashboard you screenshot.

Actions are metered per tool call, weighted by cost. Building a search campaign is 8, adding keywords is 5, an account audit or a keyword planner run is 3, a performance or search-terms report is 2, listing accounts is 1, and connecting an account or checking your balance is 0. So 75 credits is about two full campaign builds with ad groups, keywords and ads, or twenty-five account audits, or thirty-seven performance reports, enough to prove the workflow on a real account, not a month of production ad ops. After that, Pro is $49/month and Agency is $99/month, billed in USD, cancel anytime; reading reports in the customer panel stays free.

Yes. Opus Growth is one hosted remote MCP server, so the authorization you complete in Claude Code is the same account and the same connected ad accounts you see in claude.ai, Cursor, VS Code, Windsurf, Codex or Gemini CLI, only the way you add the connector differs. That one Opus Growth account covers Google Ads, Meta Ads, Microsoft Advertising, TikTok Ads, LinkedIn Ads and ChatGPT Ads, each connected once, from any of those apps, plus Google Tag Manager, GA4, Search Console and YouTube for measurement context, out of the tool catalog.

No. Google Ad Manager is the publisher-side ad server, with orders, line items and ad units for selling inventory on your own site, and we do not support it. Opus Growth connects Google Ads, the advertiser-side platform where you buy Search, Performance Max, Demand Gen and App campaigns, including manager (MCC) accounts. If you searched for Ad Manager but meant the account where you spend on keywords, you are in the right place.

Connect your Google Ads account in a minute.

One command, one sign-in, and the agent that ships your code can audit the account spending money on it. Run claude mcp add --transport http opus-growth https://mcp.opus-growth.com/mcp and start your free trial: 75 credits that never expire, full write access, no card.