Claude Code logo Google Ads logo

Run Google Ads from Claude Code

Manage Search, Performance Max, Display, and YouTube from your terminal — 39 Google Ads tools, real CPC data, scriptable agent loops.

  • 39 Google Ads tools, all in Claude Code

  • Paused-by-default. Cannot delete campaigns.

  • OAuth setup in ~2 minutes

See it in action

In Claude Code

Pull my Google Ads performance for the last 30 days. Show spend, conversions, CPA, and ROAS by campaign. Highlight any campaigns with ROAS below 2.0 and tell me which to pause first.

Google Ads performance audit — Monthly audit that surfaces underperformers and points you at the quick wins.

Overview

Adspirer is the MCP server that connects Claude Code (Anthropic's terminal CLI) to your Google Ads accounts. Install in one command via the official `claude-plugins-official` marketplace (`/plugin install adspirer-ads-agent@claude-plugins-official`), authenticate once, and Claude Code can run all 39 Google Ads tools from the terminal — keyword research with real CPC data from Google Keyword Planner, Search and Performance Max campaign creation, search-term analysis, wasted-spend detection, negative-keyword management, and PMax search themes + audience signals. Because Claude Code runs in agent loops, you can drop a brief like "audit the last 30 days for wasted spend, generate a negatives list, write a markdown report" — walk away, come back to a finished file. The same setup works in cron, CI, and shell scripts. New campaigns always create paused; Adspirer cannot delete campaigns or modify budgets silently. Free tier covers 15 calls / month.

Safety guarantees

  • New campaigns always created paused for review

  • Adspirer cannot delete existing campaigns

  • Budget changes need explicit confirmation

  • OAuth 2.1 + PKCE — passwords never seen

How it works

How it works

Claude Code

You ask in chat

prompt

Adspirer

39 tools, paused-by-default

tool calls

Google Ads

Live data, paused for review

Step 01

Connect

Paste the MCP URL into Claude Code, OAuth into Google Ads.

Step 02

Manage

Ask in chat. Adspirer routes through 39 Google Ads tools.

Step 03

Scale

Switch accounts in chat. Same audits across every client.

What you can do

39 tools across Google Ads. The ones you'll use most:

  • Launch Search & PMax campaigns — Build Google Search and Performance Max campaigns from a brief — Adspirer runs keyword research, drafts copy, validates assets, and creates the campaign **paused** so you review before going live.

  • Research keywords with real CPC — Pull live data from Google Keyword Planner via `research_keywords` — search volume, CPC estimates, and competition level for any seed keyword or business description.

  • Find wasted spend — Run `analyze_wasted_spend` to surface keywords that have spent your threshold (e.g., $50+) with zero conversions, then pause them or push them to negatives in one prompt.

  • Audit search terms — Use `analyze_search_terms` to see the actual queries that triggered your ads. The `raw_report` mode returns the literal search strings — perfect for finding negative-keyword opportunities.

  • Generate ad copy in-spec — `suggest_ad_content` writes headlines (≤30 chars) and descriptions (≤90 chars) that fit Google's exact limits, so RSAs never get rejected for length.

  • Pause & resume campaigns — Pause campaigns, ad groups, or keywords by name from chat — and resume them later. Adspirer **cannot delete** existing campaigns by design (hard-coded safety).

  • Tune PMax targeting — Add or remove search themes (up to 50 per asset group) and audience signals (in-market, affinity, custom, user lists) on existing PMax campaigns — without rebuilding from scratch.

  • Reallocate budget by ROAS — `optimize_budget_allocation` recommends shifts toward your best-ROAS campaigns. Adspirer never raises an existing campaign budget without your explicit confirmation.

Campaign types

Every Google Ads format Adspirer supports — request one in chat.

Search campaigns

Text ads on Google Search results. Highest-intent traffic — people actively searching for your keywords.

Performance Max

AI-driven campaigns running across Search, Display, YouTube, Gmail, Maps, and Discover from one asset group.

Display campaigns

Responsive Display Ads across 2M+ sites and apps. Full control over audiences, topics, placements, and keywords.

YouTube campaigns

Video ads on YouTube In-Feed, In-Stream, and Shorts via the Demand Gen format with YouTube-only channel controls.

Shopping campaigns

Product-feed-driven ads with images, prices, and merchant info — built for e-commerce catalogs.

Demand Gen

Visual, social-style ads across YouTube, Discover, and Gmail — designed to drive demand earlier in the funnel.

More prompts to try

Claude Code shines on multi-step agent tasks — drop a brief, walk away, get a report.

Diagnose a CPA spike — Anomaly diagnosis that explains why CPA moved, not just that it did.

Diagnose a CPA spike
My CPA on the "Adspirer-pmax-03" campaign jumped 60% in the last 7 days. Diagnose what changed — search terms, audience signals, asset rotation — and tell me what to fix.

Who this is for

Wire Claude Code into the Monday-morning standup: a cron job runs `/adspirer:wasted-spend`, writes findings to `reports/google/$(date).md`, opens a PR with the proposed negatives list. The team reviews the diff like any other code review.

Treats Google Ads waste like a code review — every wasted-spend recommendation has a paper trail and a human approver, and nothing slips through the QBR cycle.

Compare & decide

Adspirer vs alternatives

For running Google Ads from Claude Code.

Adspirer DIY MCP server Legacy SaaS dashboard
Install `/plugin install adspirer-ads-agent@claude-plugins-official` Build MCP server, write CLI plugin No CLI — dashboard only
Cost — entry tier Free (15 calls / mo) Hosting + maintenance $200-500 / mo minimum
Real CPC keyword data Yes — Google Keyword Planner via `research_keywords` Build Keyword Planner integration Often blended estimates
Agent-loop / headless mode Yes — works in scripts, cron, CI Whatever you build No
Brand-workspace pattern `/adspirer:setup` → CLAUDE.md Manual No equivalent
Wasted-spend slash command `/adspirer:wasted-spend` (preconfigured) Manual Sometimes
Write capability Search + PMax + Display, paused on create Whatever you build Mostly read-only
Safety: cannot delete Hard-coded — no delete tool Up to you Varies

Pricing

Start free. Upgrade if you outgrow it.

Free Forever

$0

15 / mo

All platforms. ChatGPT & Claude access. No credit card.

Start free →

Plus

$49 / mo

150 / mo

Performance analysis + standard campaigns.

Compare Plus →
Best for Claude Code

Pro

$99 / mo

600 / mo

AI optimization, bulk ops, deeper diagnostics.

Compare Pro →

Max

$199 / mo

3,000 / mo

Priority support (24h SLA), custom integrations.

Compare Max →

Configure

Required: Claude API access (or Claude.ai Pro / Max). Most users finish in about two minutes.

Show setup steps for Claude Code

Add Adspirer to Claude Code

Run in your terminal:

claude mcp add --transport http adspirer https://mcp.adspirer.com/mcp

Authenticate

Claude Code launches your browser for OAuth. Sign in to Adspirer and link your ad accounts.

Verify

Run claude and ask: Check my connected ad platforms. Tools should now appear in the available-tools list.

FAQ

Capabilities

Does Claude Code's `research_keywords` use the same CPC data as the Google Ads UI?

Yes. research_keywords calls Google Keyword Planner directly through the official Google Ads API — same source the UI uses. You get monthly search volume, competition (Low/Medium/High), and the actual estimated bid range. No LLM-fabricated CPC numbers.

Can the same plugin manage Meta + LinkedIn + TikTok too, or just Google?

Same plugin, all four platforms. The adspirer-ads-agent plugin exposes 100+ tools across Google Ads (39), Meta Ads (20+), LinkedIn Ads (28), and TikTok Ads (4). One install, one OAuth, all platforms in the same terminal session — and Claude Code can run cross-platform prompts ("compare last 30 days across Google + Meta + LinkedIn") in a single agent loop.

What's the minimum budget for Google Ads campaigns?

Search campaigns work from $10/day (Google's practical minimum), but $30+/day is recommended for meaningful data. Performance Max needs at least $20/day because it has to test across multiple channels. Adspirer suggests $40/day split across 3-5 ad groups for new Search campaigns.

How are conversions and search terms surfaced?

Use get_campaign_performance for spend / conversions / CPA / ROAS by campaign, and analyze_search_terms to see the actual queries that triggered your ads. The raw_report mode returns the literal search-term strings — feed those into add_negative_keywords to block wasteful traffic in the next prompt.

Workflows

Does Adspirer generate images or videos for Google Ads?

No. Adspirer generates ad copy (headlines and descriptions) via suggest_ad_content, but it does not create images or videos. For PMax, you provide image and video URLs from Google Drive, Dropbox, S3, or any public link, and validate_and_prepare_assets checks them against Google's spec before launch.

How does the campaign-creation workflow work?

Search campaigns require a 6-step sequence: verify connection → research_keywordsdiscover_existing_assetssuggest_ad_contentvalidate_and_prepare_assetscreate_search_campaign. PMax adds asset upload guidance plus optional add_pmax_search_themes and add_pmax_audience_signal. Skipping steps causes Google's API to reject the campaign — Adspirer enforces the order.

Compare

Why use Claude Code instead of the Google Ads UI for campaign creation?

Two reasons: (1) it's scriptable — a multi-campaign launch (e.g., 4 PMax campaigns split by margin tier) runs as one agent loop instead of 4 manual UI walks; (2) it's repeatable — the brief lives in your repo as a markdown file, so the next launch is a one-line edit. The UI is faster for one-off changes; Claude Code wins on volume and consistency.

Safety & control

Can Adspirer delete or modify my existing campaigns?

Adspirer cannot delete campaigns, ad groups, or keywords — hard-coded safety. It can pause and resume them when you ask, and update budgets, bids, or targeting on your instruction. New campaigns are always created paused so you review before they spend a cent.

Power user

Can I run a nightly Google Ads audit non-interactively from cron?

Yes. Claude Code supports headless mode — pipe a prompt in, Claude runs the agent loop using your Adspirer MCP connection, and writes output to a file. A common pattern: cron triggers /adspirer:wasted-spend nightly at 6am, writes a markdown file to reports/, and your standup reviews the diff. Adspirer's safety rules still apply — even unattended, no campaigns get deleted or budgets changed without explicit confirmation.

Can I manage multiple Google Ads accounts (MCC) from one chat?

Yes. Connect each ad account through OAuth and Adspirer keeps them separate. Use get_connections_status to list connected accounts and reference them by customer ID or name in your prompts. Adspirer's own workspace, for example, has both Adspirer (9120801776) and Sahaayak Inc (1187072345) connected side-by-side.

Related integrations

Same Claude Code, different platform — or same Google Ads, different AI client.

Go deeper

Ready to connect Claude Code to Google Ads?

Start free — 15 tool calls per month, no credit card. Setup takes about 2 minutes.

Try Adspirer free