Google Ads with AI: Research Keywords, Build Campaigns, and Read Performance from a Chat

Most performance-marketing work in Google Ads is repetitive cognitive labour. Pull a search-term report, find the queries that wasted spend last week, write the negative-keyword list. Look at device performance, find that mobile CPC is up 40% with the same conversion rate, draft a bid adjustment. Spin up a campaign for next week's promo: budget, ad group, 15 keywords, an RSA with 11 headlines and 4 descriptions, all in PAUSED so nothing goes live by accident.
Each of those is a 20-minute task in the Google Ads UI and a 30-second task as a chat message — if your AI agent can actually call the Google Ads API. This guide is the use-case version of "AI + Google Ads": what you ask, what the agent does, what comes back. The protocol underneath is MCP (Model Context Protocol), the bundle is /skills/google-ads on MCPBundles, but the framing here is workflow-first.
Use case 1 — Research keywords before you spend
You ask: "Find keyword opportunities for our landing page at example.com/widgets. Filter to high-volume, low-competition terms with CPC under $5."
Your AI does:
- Calls keyword ideas with the URL as the seed. Google's Keyword Planner returns 50+ related keywords with monthly search volume, competition index, and top-of-page CPC estimates.
- Filters in-memory to the criteria you set. Sorts by volume.
- Cross-checks the top picks against keyword volume to confirm exact monthly search numbers (Google rounds idea-tool volumes into buckets; the volume tool returns the precise figure).
- Returns a ranked shortlist with the data inline so you can paste it straight into a campaign brief.
The same query in the Keyword Planner UI is 8 clicks, two filter panels, and a CSV export. As a chat message it's a 5-second turnaround.
Use case 2 — Build a campaign without going near the UI
You ask: "Create a paused search campaign called 'Spring Sale 2026', $50/day budget, with an ad group for 'patio furniture'. Add 15 keywords mixing broad and exact match. Write an RSA with 11 headlines and 4 descriptions emphasising free shipping and 30-day returns."
Your AI does:
- Creates the campaign in
PAUSEDstatus (the safe default — nothing serves until you flip it). - Sets daily budget, campaign type (Search), and language/location targeting from your account defaults.
- Creates the ad group under the campaign with a default CPC bid you can tune later.
- Adds the keywords with the match-type mix you specified, plus a starter negative-keyword list that excludes obviously off-topic queries (
free,diy,repair, etc.). - Writes a Responsive Search Ad with 11 headlines (30-char limit each) and 4 descriptions (90-char limit), zero pinned positions, mixing keyword-match headlines, benefit headlines (free shipping, 30-day returns), and CTAs.
- Returns the campaign ID and a one-line summary so you can review in the UI before enabling.
The bundle ships with a skill — structured domain knowledge the agent reads before making the call — that encodes the RSA best practices that move ad strength: 11+ headlines, 4 descriptions, zero pins, keywords in 2–3 headlines with the rest spread across features/benefits/CTAs/social proof. You don't have to remember the rules; the agent applies them.
Use case 3 — Clean wasted spend from search terms
You ask: "Pull the search-term report for the last 14 days across all campaigns. Find queries that spent more than $20 and converted zero times. Draft a negative-keyword list."
Your AI does:
- Calls the search-terms tool with the date range. Returns every query that triggered an ad, with cost, clicks, impressions, conversions, and the matched keyword.
- Filters to
cost > 20 AND conversions = 0. Groups by token to spot patterns (e.g. five differentfree [thing]queries each spending $5). - Drafts negative keywords at the right level — campaign-level for broad themes that shouldn't trigger anywhere (
free,tutorial,youtube), ad-group-level for one-off bad matches. - Returns the list as a code block you can review and add with a follow-up message: "Yes, add those negatives to the campaign."
Most accounts leak 10–20% of spend through search-term hygiene that nobody has time to do weekly. This turns it into a Monday-morning chat ritual.
Use case 4 — Find the bid adjustment hiding in your device data
You ask: "Show me device performance for last month across our search campaigns. Flag anything where the CPC differs by more than 30% with similar conversion rates."
Your AI does:
- Calls device performance for the date range. Returns desktop / mobile / tablet rows per campaign with spend, clicks, conversions, CPC, and conversion rate.
- Computes the CPC ratio between devices within each campaign and the conversion-rate ratio.
- Surfaces only the campaigns where CPC is materially mismatched and conversion rate is comparable — the actual bid-adjustment candidates.
- Recommends a directional adjustment (e.g. "-25% mobile bid adjustment on Campaign X — desktop converts at the same rate for $2 less per click").
Same pattern works for geographic-performance (countries / regions / cities), schedule-performance (hours and days of week), and account-summary for the whole-account read.
Use case 5 — Audit who changed what
You ask: "What changed in the account in the last 7 days? Who paused or enabled campaigns?"
Your AI does: Calls change history for the window, returns a structured event stream — user, timestamp, resource, change type — and groups it so the auditable answer is a paragraph instead of a CSV.
This is the workflow that makes managed accounts and shared logins survivable. Pair it with a daily cron that asks the same question every morning and you have an audit trail without buying a third-party tool.
What you have to know about GAQL (almost nothing)
Google's official MCP server (googleads/google-ads-mcp) exposes raw GAQL — Google Ads Query Language — which is powerful if you know the resource graph and segment names. The bundle on MCPBundles wraps the same API into 24 task-shaped tools so the agent doesn't have to construct GAQL strings to do common work. The GAQL escape hatch is still there for edge cases (unusual segment combinations, custom report shapes), but you'll mostly call the structured tools and stay out of the query language.
| Workflow | Use the structured tool | When you'd reach for GAQL |
|---|---|---|
| Keyword research | keyword-ideas, keyword-volume | (never) |
| Campaign / ad group / keyword create + update | Dedicated mutation tools | (never — the official server has no writes) |
| RSA ad copy | create-rsa-ad | (never) |
| Standard analytics (account, campaign, search terms, device, geo, schedule) | Seven dedicated read tools | When you need an unusual segment combination |
| Custom report shape (e.g. impression share by hour by network) | — | gaql-query |
Setup
- Open
/skills/google-adson MCPBundles. - Connect via OAuth — one click. Your Google account is linked, no developer token to paste, no local Python to run.
- From any MCP client (Claude, ChatGPT, Cursor, Windsurf, Studio chat), ask: "List my Google Ads accounts and show me last week's spend by campaign."
That's it. The same connection serves your AI clients via remote MCP and your backend systems via the REST endpoints generated from the same tool definitions, so a workflow you build in chat is portable to a cron job without rewriting it.
FAQ
How does AI keyword research work without opening Google Ads?
The keyword-ideas and keyword-volume tools call Google's Keyword Planner API directly. Your agent passes seed keywords or a URL and gets back the same data the Planner UI shows — monthly search volume, competition index, top-of-page CPC, and related-keyword suggestions — as structured JSON it can filter, rank, and reason about.
Can my AI launch campaigns that spend money?
Yes, with a safety default: every campaign created via the bundle is in PAUSED status. Your agent assembles the structure (campaign, ad group, keywords, RSA), you review in the Google Ads UI, you flip it live. Budget updates on existing campaigns take effect immediately.
Does it work with Manager (MCC) accounts?
Yes. Pass login_customer_id (the manager account ID in XXX-XXX-XXXX format) and your agent can operate on any child account under the manager.
Where does GAQL fit in?
It's the escape hatch for queries the structured tools don't cover — unusual segments, custom report shapes, ad-hoc analysis. For 95% of the workflows you'd repeat weekly (keyword research, campaign builds, search-term cleanup, performance reads, change audits) the structured tools are the right layer because the agent doesn't have to construct or debug GAQL strings.
What's the difference between this and Google's official MCP server?
Google's official server gives raw GAQL access — read-only. The MCPBundles bundle wraps the full Google Ads API into 24 task-shaped tools including all the write operations (create campaigns, ad groups, keywords, RSAs; update budgets; pause/enable; remove). On MCPBundles you can use both side-by-side: structured tools for the common workflows, GAQL for the edge cases.