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.
15 tool calls / month free · No credit card · Setup in ~2 minutes
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.
What you can do
39 tools across Google Ads. The eight 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 you can launch
Every Google Ads format Adspirer supports — request one in chat and Claude Code builds the campaign paused for review.
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.
Sample prompts
Claude Code shines on multi-step agent tasks — drop a brief, walk away, get a report.
Google Ads performance audit — Monthly audit that surfaces underperformers and points you at the quick wins.
Keyword research with CPC — Real Keyword Planner data with go/no-go recommendations against your CPA target.
Find wasted spend — Pinpoints non-converting keywords and routes them to pause or negatives.
Launch a Search campaign — End-to-end Search campaign creation with keyword research and in-spec copy.
Tune a PMax campaign — Adjust PMax targeting on a live campaign without rebuilding it.
Diagnose a CPA spike — Anomaly diagnosis that explains why CPA moved, not just that it did.
Who this is for
Real workflows from people running Google Ads through Claude Code.
Growth engineer running Google Ads as part of a product team
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.
Outcome: 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.
DTC team running Performance Max at scale
Drop a long brief: "for the spring catalog, build 4 PMax campaigns split by margin tier, target ROAS 350-500% per tier, here's the asset folder, validate everything, create paused, add 5-10 search themes per campaign." Walk to lunch, come back to 4 paused campaigns with themes attached.
Outcome: Multi-campaign PMax buildout that would take a media buyer most of an afternoon completes in a single agent run; the marketer's job is review and unpause.
Agency engineer rolling Adspirer into client onboarding
`cd ~/clients/{brand} && claude` triggers `/adspirer:setup`, which reads the client's brand docs, pulls live Google Ads data, and writes `CLAUDE.md` with current campaigns, top keywords, wasted-spend candidates, and KPI targets. Every subsequent prompt — keyword research, ad copy, performance review — reads that brand context.
Outcome: Client onboarding (connect data + brand context) drops from a half-day to about 10 minutes per account.
Founder building the product *and* managing Google Ads
Same Claude Code session that ships product code now drafts Google Search campaigns. Brief: "research keywords for {product}, US-only, real CPC data, group by intent, write 12 headlines + 4 descriptions, create the campaign paused." Stays in the terminal — no context switch to the Google Ads UI.
Outcome: Zero tool-switching tax — product engineering and ad ops share one workflow, one terminal, one set of brand docs.
Adspirer vs alternatives
For running Google Ads from Claude Code.
| Capability | Adspirer (this page) | 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.
How it works
From sign-up to your first launched campaign in three steps.
Connect
Paste the Adspirer MCP URL into Claude Code, complete OAuth in your browser, and link your Google Ads account. About 2 minutes.
Manage
Ask Claude Code for an audit, launch a new campaign, pause underperformers, or pull a report. Adspirer handles the 39 Google Ads tools behind the scenes.
Scale
Switch between accounts in chat, run the same audit across clients, and let agency SOPs live in your AI assistant — no extra dashboard logins.
Frequently asked questions
About running Google Ads from Claude Code.
Connect Claude Code to Adspirer
For technical readers — the exact steps. Most users finish this in about 2 minutes. Required: Claude API access (or Claude.ai Pro / Max).
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.
Related integrations
Same Claude Code, different platform — or same Google Ads, different AI client.
Claude Code × other platforms
Google Ads × other AI clients
- ChatGPT × Google Ads →
- Claude × Google Ads →
- Cursor × Google Ads →
- Codex CLI × Google Ads →
- Windsurf × Google Ads →
- Gemini CLI × Google Ads →
- OpenClaw × Google Ads soon
- Manus × Google Ads soon
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 freeLast updated April 28, 2026.