Run Google Ads from Codex CLI
Manage Google Ads campaigns inside OpenAI Codex CLI — 39 tools, OAuth setup in about 5 minutes, no dashboard switching.
-
39 Google Ads tools, all in Codex CLI
-
Paused-by-default. Cannot delete campaigns.
-
OAuth setup in ~2 minutes
See it in action
› 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 OpenAI Codex CLI to your Google Ads ad accounts, turning campaign management into a chat conversation. OpenAI's Codex CLI — script-friendly agent loop with MCP support. On the platform side, 39 tools cover google Search, Performance Max, Display, YouTube, Shopping. Adspirer reads and writes — pull performance reports, audit launch search & pmax campaigns, launch new campaigns, pause underperformers, and reallocate budget — all from chat. New campaigns are always created paused so you can review before they go live, Adspirer cannot delete existing campaigns by design, and the free tier (15 tool calls / month, no credit card) is enough to run a full audit before you pay. Setup takes about 5 minutes via a JSON config entry.
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
Codex CLI
You ask in chat
Adspirer
39 tools, paused-by-default
Google Ads
Live data, paused for review
Step 01
Connect
Paste the MCP URL into Codex CLI, 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
Codex handles long-running agent loops; brief it like you would Claude Code.
Diagnose a CPA spike — Anomaly diagnosis that explains why CPA moved, not just that it did.
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.
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.
Who this is for
Each Monday, ask Codex CLI to pull last week's Google Ads performance, surface campaigns running below your ROAS threshold, and recommend creative refreshes for fatigued ads.
Replaces a 60–90 minute manual review with a 5-minute chat, and surfaces problems before they tank ad-set performance.Switch context between client accounts in chat. Run the same audit prompt across each, paste the chat into your weekly client report. Multi-account is built in — no extra seats per account.
Cuts cross-account reporting from a half-day per account to ~10 minutes total.Brief Codex CLI in plain English with budget, audience, and creative URL. Codex CLI validates inputs against Google Ads's requirements, builds the campaign paused, and walks you through what to review before launching.
No need to learn Google Ads's dashboard UI; campaign goes live correctly the first time.Compare & decide
Adspirer vs alternatives
For running Google Ads from Codex CLI.
| Adspirer | DIY MCP server | Legacy SaaS dashboard | |
|---|---|---|---|
| Setup time | ~5 minutes via a JSON config entry | 2–4 hours building MCP server | 30–60 min onboarding + sales call |
| Cost — entry tier | Free (15 calls / mo) | Hosting + maintenance | $200–500 / mo minimum |
| Works inside Codex CLI | Yes — a JSON config entry | Yes (if you build it correctly) | No — external dashboard only |
| Multi-account | Yes — switch in chat | Manual per-account auth | Yes — but each account billed |
| Read + Write | Full read + write (create / pause / update) | Whatever you build | Mostly read-only or seat-gated writes |
| Safety: cannot delete | Hard-coded — no delete tool | Up to you | Varies |
| Pricing transparency | Public — $0 / $49 / $99 / $199 | Self-hosted | Often quote-only |
Pricing
Start free. Upgrade if you outgrow it.
Configure
Required: OpenAI API access. Most users finish in about two minutes.
Show setup steps for Codex CLI
Edit your Codex MCP config
Add an adspirer entry with URL https://mcp.adspirer.com/mcp and OAuth auth.
Authenticate via OAuth
Run any Codex command — the first invocation triggers the OAuth flow.
FAQ
Setup
Capabilities
Workflows
Compare
Safety & control
Power user
Related integrations
Same Codex CLI, different platform — or same Google Ads, different AI client.
Codex CLI × other platforms
Google Ads × other AI clients
- ChatGPT × Google Ads →
- Claude × Google Ads →
- Claude Code × Google Ads →
- Cursor × Google Ads →
- Windsurf × Google Ads →
- Gemini CLI × Google Ads →
- OpenClaw × Google Ads Soon
- Manus × Google Ads Soon
Go deeper
Ready to connect Codex CLI to Google Ads?
Start free — 15 tool calls per month, no credit card. Setup takes about 2 minutes.
Try Adspirer free