Produced by Founder OS, an AI-augmented operational knowledge layer for founder-operators. Learn more →
Skill chain activated: navigating-skills → designing-ai-workflows → selecting-ai-tools → writing-copy. The navigating-skills router scored and assembled the chain: designing-ai-workflows owned the architecture extraction, selecting-ai-tools identified the MCP/API/Cowork stack, and writing-copy governed voice, rhythm, and formatting throughout. Each skill's directives fired in sequence to produce a guide that is both technically precise and readable.
Guide
How to Build a Claude Cowork Plugin for Google Ads Management
Reverse-engineered from a solo non-technical operator at Anthropic who ran the entire growth marketing department with agentic AI workflows.
Austin Lau ran Anthropic's entire growth marketing operation (paid search, paid social, SEO, ASO, email) as a solo non-technical operator for roughly 10 months during the company's fastest growth phase (2024-2025).[1][2] Anthropic, valued around $380B, staffed what most companies fill with 20-50 people using one person and agentic AI workflows. The team has since grown to 2-3.[3]
Austin has no coding background. He never opened a terminal before this.[2] He built everything using Claude Code to create custom plugins, agents, and workflows. Anthropic published a public case study documenting this approach: "Claude Code for growth marketing."[2]
The thread linked above shows one piece of that system: a custom Claude Cowork plugin for Google Ads. This guide reverse-engineers his architecture so you can build your own.
Why This Matters: The One-Person Marketing Department
This is not "use AI to write ad copy." It is a complete agentic workflow architecture that collapses the entire execution gap: research, creation, testing, optimization, and reporting, all with human oversight baked in.
Austin's Full Setup Across Anthropic's Growth Marketing
Google Ads automation (the plugin in this guide): Search term mining, negative keyword management, budget optimization, full audit trails with reasoning[1][4]
Ad creative at 10x speed: Claude pulls headlines/descriptions, auto-generates 100+ variants, swaps them into Figma templates, and reviews for brand fit using stored "skills." Time per batch dropped from ~2 hours to 15 minutes.[2]
Meta Ads + performance analysis: Auto-detects underperformers, spins up sub-agents for new copy, tracks experiments with memory across sessions[2]
SEO, email, ASO: Same pattern. Structured agents that encode Austin's personal methodology so outputs are consistent, transparent, and auditable.[2]
The pattern is the same everywhere: encode your methodology into skills, connect to data sources via MCP/API, let Claude execute the repetitive work, require explicit human approval before any live change. Tiny teams with the right agentic tools can genuinely outperform traditional departments.
System Architecture
Claude Cowork
Desktop + Dispatch
Skills
mine-search-terms
search-term-methodology
budget-optimize
weekly-review
audit-ad-copy
investigate-campaign
performance-analysis
account-conventions
ad-copy-principles
Connections
Google Ads Toolkit
GAQL MCP for reads Google Ads API for writes
Chat UI
Invoke skills via /command
Review outputs, approve mutations, adjust budgets
GAQL (read) + API (write)
▼
Google Ads Account
Campaigns · Ad Groups · Keywords Search Terms · Negatives · Budgets
Key Components
Claude Cowork Plugin - A custom project within Claude's Cowork interface containing skills (structured prompts) and an MCP connection to Google Ads
Google Ads MCP (GAQL) - Google's official GAQL MCP server, used for querying campaign data with Google Ads Query Language
Google Ads API - Used separately for write operations (mutations) like adding negative keywords or changing budgets
Skills - Structured prompts encoding specific paid search workflows with steps, evaluation criteria, and output formats
1
Set Up the Google Ads MCP Connection
The foundation is Google's official GAQL MCP server.[5] This gives Claude the ability to query your Google Ads account using GAQL (Google Ads Query Language).
What GAQL does not handle: Writing changes. For mutations (adding negative keywords, changing budgets), you need to wire up the Google Ads API separately.[6]
Setup
Install the Google Ads GAQL MCP server (official Google package)
Configure OAuth2 credentials for your Google Ads account
Add the MCP connection to your Claude Cowork project under Connections
Verify the connection by running a simple GAQL query in chat
The Cowork interface with the Google Ads toolkit plugin. Note the three sections: Skills on the left, the chat input in the center with a /mine-search-terms command, and quick-access skill cards below.
2
Build Your Skills Library
Skills are the core of this system. Each skill is a structured prompt that encodes a specific paid search workflow.[1] Think of them as runbooks that Claude follows step by step.
Skills Austin Built
Skill Name
Purpose
mine-search-terms
Mine search terms for negatives and keyword opportunities
search-term-methodology
Evaluation framework for search term relevance
account-conventions
Naming and structural conventions for the account
ad-copy-principles
Guidelines for ad copy review
performance-analysis
Campaign performance analysis framework
audit-ad-copy
Structured ad copy audit
budget-optimize
Budget optimization recommendations
investigate-campaign
Deep-dive into campaign issues
weekly-review
Recurring weekly review workflow
Skill Structure
Each skill contains a clear description of what it does, step-by-step instructions that mirror how a paid search marketer would work, evaluation criteria for making judgment calls, output format specifications (summaries, CSVs, tables), and cross-references to other skills when needed.
The mine-search-terms skill. It loads the search-term-methodology and account-conventions skills before starting. Steps include pulling search terms via GAQL, evaluating every term, and building a bulk-upload-ready CSV.
3
Write the Search Term Methodology Skill
This is the most detailed skill Austin showed.[1] It encodes how a performance marketer evaluates search terms. The goal is not just "term conversions > bad." It is relevance to the campaign theme.
Core Approach
Filter to unmatched terms - Only look at search terms with status NONE (not already added as a keyword or negative). Use get_search_terms which applies this filter automatically.
Sort by spend descending - Prioritize where money is going. A term with 200 clicks at $0.10 CPC matters less than one with 20 clicks at $15 CPC.
Cross-reference three things for every candidate:
The search term itself (what the user typed)
The matched keyword (what triggered the ad)
The campaign + ad group theme (what this line is for)
The question is always: does the search term fit the theme?
Relevance Evaluation
This is the judgment call. A term can be:
Negate - Off-theme for the campaign, signals wrong intent (e.g., jobs, free, competitor brand, research-only, too generic)
Keep - Relevant to the campaign theme
A term should be kept when it is on-theme, even if it has zero conversions. Relevance matters more than conversion count alone.
The search-term-methodology skill with its evaluation framework. Note the emphasis on relevance over raw conversion metrics.
4
Run the Mine Search Terms Workflow
With skills and the MCP connection in place, you invoke the workflow by typing a slash command in Cowork:
/mine-search-terms audit my use case meeting notes campaign over the last 14 days
and identify negative keywords we should add
What Happens
Claude queries campaigns with GAQL via the MCP connection
Pulls search terms filtered to unmatched only (status = NONE)
Sorts by spend descending
Evaluates every search term against the search-term-methodology skill
Cross-references each term with its matched keyword and campaign theme
Categorizes flagged terms: wrong intent, competitor brand, research-only, too generic
Generates a summary and a bulk-upload-ready CSV
Output: Summary View
The summary shows top spending negatives with reasoning for each, a breakdown by category (wrong intent, competitor brand, research-only, too generic), a negation reason breakdown with counts, and a link to the generated CSV. Claude then asks: "Want me to add these negatives? I'll group them by campaign and ad group, show you each batch, and wait for your explicit 'yes' before executing anything."
The output after running mine-search-terms. Progress indicators on the right show each step completing. The working folder contains the generated CSV file.
Output: CSV Detail
Column
Description
Campaign
Campaign name
Ad Group
Ad group name
Keyword
The matched keyword
Search Term
What the user actually searched
Match Type
Broad, phrase, exact
Cost
Spend on this term
Clicks / Impressions
Volume metrics
CPC / CTR
Efficiency metrics
Conversions
Conversion count
Reasoning
Why this term was flagged (the auditability layer)
The reasoning column is critical. It explains why each term was flagged (e.g., "Off-theme, search term doesn't relate to meeting notes or the 'Team Collaboration' campaign"). This makes the output auditable. You can review the logic and override where needed before anything is negated.
The CSV opened in a spreadsheet. Every row has a reasoning column explaining the flag. This is the auditability layer that makes AI-assisted management trustworthy.
5
Apply Changes (With Approval)
Since Claude is connected to the Google Ads API for write operations, you can tell it to add negative keywords directly from the chat.[1] The key safety principle: all mutations require explicit approval.
How It Works
You review the flagged terms in the summary or CSV
You tell Claude: "yes please add them as negative keywords"
Claude groups negatives by campaign and ad group
It prepares batches and shows you each one with a count and top examples
You confirm "yes" for each batch before execution
Claude adds the negatives at the campaign level (not ad group level) so the same irrelevant term doesn't drift to another ad group
In Austin's demo, Claude added 399 negatives across 7 ad groups. Since these are broad match keyword-looking terms split across specific ad groups, adding at the campaign level prevents the same junk traffic from appearing in a different ad group.
Claude adding negatives with explicit batch approval. Each batch is shown with a count and top examples before you confirm. No changes happen without your "yes."
6
Mobile Management via Dispatch
The same Cowork plugin works on Claude's Dispatch (mobile app).[1] This gives you campaign management capabilities that go beyond what the Google Ads mobile app offers.
Example: Budget Optimization from Your Phone
Austin showed a mobile workflow where he asked Claude for impression share by day over the last 7 days. Claude returned a table showing daily budget ($6,800), impression share (38-51%), and lost-to-budget percentage (38-52%).
Claude identified the budget as the dominant constraint, eating 38-52% of available impressions daily. It recommended a 20% increase from $6,800 to $8,160/day. Austin confirmed with "yes increase it to $8160," and the change was applied without opening a laptop.
Claude Dispatch on mobile showing impression share by day, budget analysis, and a one-tap budget change. Full campaign management from your phone.
Implementation Checklist
Prerequisites
Claude Pro/Team subscription with Cowork access
Google Ads account with API access enabled
Google Ads API OAuth2 credentials configured
Google GAQL MCP server installed and connected
Build Steps
Create a new Cowork project (e.g., "Google Ads Toolkit")
Add the GAQL MCP as a connection
Wire up Google Ads API for write operations (mutations)
Create the search-term-methodology skill (evaluation framework)
Create the mine-search-terms skill (workflow that calls the methodology)
Create the account-conventions skill (naming rules for your account)
Test write operations (adding a test negative keyword with approval)
Verify Dispatch access on mobile
Customization
Austin emphasized: the skills should reflect your working style. His skills encode his personal evaluation criteria, output preferences (CSV for Google Ads Editor import), and workflow patterns. When building yours:
Start with the search term mining workflow (highest immediate ROI)
Encode your own relevance criteria, not generic rules
Set your own thresholds for spend, CPC, and impression significance
Match the output format to your tools (GA Editor CSV, Google Sheets, etc.)
GAQL MCP is read-only. For mutations, you need to wire up the Google Ads API separately to write changes to your account.[5][6]
Setup required some tinkering with Claude Code to get the write operations working properly, but was "pretty straightforward."[6]
He did not share his skills publicly since they are personal workflows he uses at work. But he suggested: "you can easily replicate it by just giving my post thread to Cowork and asking it to recreate the skill. And then customize it to your own workflows."[5]
Broad match works well if you are diligent with negative keywords (which this workflow directly supports).[7]
Context window caution: One commenter noted that with large contexts, Claude can "forget" constraints like not max-bidding brand terms. Keep skills concise and focused.[8]
Anthropic. "Claude Code for Growth Marketing." Anthropic case study (public). www-cdn.anthropic.com
TechFlowPost. Anthropic valuation and growth marketing team reporting. techflowpost.com
Reddit discussion. "Google Ads automation via Claude MCP." reddit.com
Austin Lau (@helloitsaustin), reply to @dannypostma. "I didn't share it since this is a personal plugin I use at work, but you can easily replicate it... there's an official gaql mcp by google that I used, and for mutations, you just need to wire up the google ads api to write changes to your account." X, March 24, 2026. x.com/helloitsaustin/status/2036636032834343136
Austin Lau (@helloitsaustin), reply to @ericwaisman. "GAQL helps you query but you need to make API calls to write changes still. It's pretty straightforward but did require some tinkering with claude code to get it to work properly." X, March 24, 2026. x.com/helloitsaustin/status/2036609830354604435
Austin Lau (@helloitsaustin), reply to @bolcoto. "Test broad carefully but it can work very well if you are very very diligent with negative keywords (which this workflow should help with)." X, March 24, 2026. x.com/helloitsaustin/status/2036581450791919848
Kent Langley builds Founder OS, an AI-augmented operating system for founder-operators. If you want to see this in action or build your own skill library, reach out.