Source: @helloitsaustin on X (2026-03-24) →
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.
01 · Why this mattersWhy 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
mine-search-termssearch-term-methodologybudget-optimizeweekly-reviewaudit-ad-copyinvestigate-campaignperformance-analysisaccount-conventionsad-copy-principles
Google Ads Toolkit
GAQL MCP for reads
Google Ads API for writes
Invoke skills via /command
Review outputs, approve mutations, adjust budgets
▼
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
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 handles: Reading data. Campaign metrics, search terms, keywords, impression share, spend, conversions.[5]
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.
04 · Step 2Build 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.
05 · Step 3Write 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_termswhich 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)
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.
06 · Step 4Run 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-methodologyskill - 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.
07 · Step 5Apply 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."
08 · Step 6Mobile 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.
09 · ChecklistImplementation 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-methodologyskill (evaluation framework) - Create the
mine-search-termsskill (workflow that calls the methodology) - Create the
account-conventionsskill (naming rules for your account) - Create additional skills:
budget-optimize,weekly-review,audit-ad-copy - Test read operations (GAQL queries)
- 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.)
- Add account-specific conventions (naming, structure, campaign themes)
Technical Notes from Austin's Replies
- 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]
Sources
- Austin Lau (@helloitsaustin). "If you're a performance marketer, here's how I use a custom Claude Cowork plugin to manage Google Ads at @AnthropicAI." X thread, March 24, 2026. x.com/helloitsaustin/status/2036553581625745511
- 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
- @Chefsteve, reply to @helloitsaustin. "My only issue is when my context gets big, Claude forgets to not max-bid brand terms." X, March 24, 2026. x.com/Chefsteve/status/2036622892658545107
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.