Agent skill

Google Ads Audit

by TheMattBerman in TheMattBerman/google-ads-copilot

Full Google Ads review that synthesizes tracking, search terms, intent mapping, negatives, structure, RSAs, budget decisions, and PMax context into a single operator read.

MITAuto-check passedMarketing & SEO

Install Google Ads Audit

skills CLI
$ npx skills add TheMattBerman/google-ads-copilot --skill google-ads-audit -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install TheMattBerman/google-ads-copilot google-ads-audit --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/TheMattBerman/google-ads-copilot.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/google-ads-audit .claude/skills/google-ads-audit && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
google-ads-audit
GitHub stars
238
Token cost
~2.7k tokens
SKILL.md length
954 words
Files
1
Skills in repo
16
Repo updated
First seen
Licence
MIT

At a glance

Full Google Ads review that synthesizes tracking, search terms, intent mapping, negatives, structure, RSAs, budget decisions, and PMax context into a single operator read.

  • Works in 9 steps: Can we trust the account? → What is the account learning about buyer… → Where is waste leaking spend? → …
  • Tasks that involve Paid advertising
  • SKILL.md covers Data Acquisition, Audit Order, Draft Output and Output Shape, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Google Ads Audit is an agent skill from TheMattBerman/google-ads-copilot. Full Google Ads review that synthesizes tracking, search terms, intent mapping, negatives, structure, RSAs, budget decisions, and PMax context into a single operator read. Pulls live data via MCP or works with manual exports. Produces a prioritized batch of action drafts.

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Marketing & SEO, covering Paid advertising. It works with Google Ads and Model Context Protocol. The repository describes itself as: Google Ads Copilot: operator kit for audits, MCP-connected reads, export-mode analysis, and draft/apply workflows. The licence is MIT.

When your agent uses it

  • Tasks that involve Paid advertising

Example prompts

  • “/google-ads-audit”

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Can we trust the account?
  2. What is the account learning about buyer intent?
  3. Where is waste leaking spend?
  4. What should be negative vs. isolated vs. already wrongly negated?
  5. What structure changes matter most?
  6. Are RSAs aligned with buyer language?
  7. What deserves more budget, less budget, or no touch yet?
  8. Are landing pages converting (or do they look like they should be)?
  9. Is PMax helping or contaminating signal?

What it can do on your machine

Read from SKILL.md and the folder at commit 2c253ee. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are sql).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Google Ads Audit loads about 2.7k tokens when it runs. Until then it costs about 72 tokens; SKILL.md has 954 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~72
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from TheMattBerman/google-ads-copilot at commit 2c253ee, republished under its MIT licence (© TheMattBerman). 954 words, ~2,732 tokens.

Download SKILL.mdSave it as .claude/skills/google-ads-audit/SKILL.md (or your agent's skills folder).
name
google-ads-audit
description
Full Google Ads review that synthesizes tracking, search terms, intent mapping, negatives, structure, RSAs, budget decisions, and PMax context into a single operator read. Pulls live data via MCP or works with manual exports. Produces a prioritized batch of action drafts.

Google Ads Audit

This is the broad review. Not just a checklist. A synthesis of what the account is learning, where it is leaking, and what should change.

Read first:

  • google-ads/references/operator-thesis.md
  • google-ads/references/intent-map.md
  • google-ads/references/query-patterns.md
  • google-ads/references/negatives-playbook.md
  • google-ads/references/tracking-playbook.md
  • google-ads/references/structure-playbook.md
  • google-ads/references/rsa-playbook.md
  • google-ads/references/budget-playbook.md
  • google-ads/references/benchmarks.md
  • google-ads/references/deliverable-templates.md

Read workspace if available:

  • All workspace/ads/ files except assets.md (unless creative output is needed)
  • Including workspace/ads/drafts/_index.md — check for existing pending drafts

Data Acquisition

Connected Mode (MCP available)

The audit pulls data across all skill areas. Run queries in this order (each feeds into the next):

1. Account overview:

sql
SELECT
  customer.id,
  customer.descriptive_name,
  customer.currency_code,
  customer.time_zone,
  customer.auto_tagging_enabled
FROM customer

2. Tracking health (check trust first):

sql
SELECT
  conversion_action.name,
  conversion_action.type,
  conversion_action.category,
  conversion_action.counting_type,
  conversion_action.include_in_conversions_metric,
  metrics.conversions,
  metrics.all_conversions
FROM conversion_action
WHERE segments.date DURING LAST_30_DAYS
  AND conversion_action.status = 'ENABLED'
ORDER BY metrics.conversions DESC

3. Campaign performance and structure:

sql
SELECT
  campaign.name,
  campaign.status,
  campaign.advertising_channel_type,
  campaign.bidding_strategy_type,
  campaign_budget.amount_micros,
  metrics.impressions,
  metrics.clicks,
  metrics.cost_micros,
  metrics.conversions,
  metrics.conversions_value,
  metrics.cost_per_conversion,
  metrics.search_impression_share,
  metrics.search_budget_lost_impression_share
FROM campaign
WHERE campaign.status = 'ENABLED'
  AND segments.date DURING LAST_30_DAYS
ORDER BY metrics.cost_micros DESC

4. Search terms (top 500 by spend):

sql
SELECT
  search_term_view.search_term,
  campaign.name,
  ad_group.name,
  metrics.impressions,
  metrics.clicks,
  metrics.cost_micros,
  metrics.conversions,
  metrics.conversions_value
FROM search_term_view
WHERE segments.date DURING LAST_30_DAYS
ORDER BY metrics.cost_micros DESC
LIMIT 500

Retrieval ladder — if the search-term query returns no rows, follow the shared retrieval ladder in data/search-term-retrieval.md. Report the resulting retrieval_mode in the audit header. Mark search-term sections as "PMax visibility-limited" when operating in pmax-fallback mode. In limited mode, note the gap and request a UI export.

5. Ad group structure:

sql
SELECT
  campaign.name,
  ad_group.name,
  ad_group.status,
  metrics.impressions,
  metrics.clicks,
  metrics.cost_micros,
  metrics.conversions
FROM ad_group
WHERE campaign.status = 'ENABLED'
  AND ad_group.status = 'ENABLED'
  AND segments.date DURING LAST_30_DAYS
ORDER BY campaign.name

6. Keyword view (targeted keywords — cross-reference with search terms):

sql
SELECT
  campaign.name,
  ad_group.name,
  ad_group_criterion.keyword.text,
  ad_group_criterion.keyword.match_type,
  ad_group_criterion.status,
  metrics.impressions,
  metrics.clicks,
  metrics.cost_micros,
  metrics.conversions
FROM keyword_view
WHERE campaign.status = 'ENABLED'
  AND ad_group.status = 'ENABLED'
  AND segments.date DURING LAST_30_DAYS
ORDER BY metrics.cost_micros DESC
LIMIT 200

7. Existing negatives:

sql
SELECT
  campaign.name,
  campaign_criterion.keyword.text,
  campaign_criterion.keyword.match_type
FROM campaign_criterion
WHERE campaign_criterion.negative = TRUE
  AND campaign_criterion.type = 'KEYWORD'

8. RSA assets (if time permits):

sql
SELECT
  asset.text_asset.text,
  asset.type,
  ad_group_ad_asset_view.performance_label,
  ad_group_ad_asset_view.field_type,
  campaign.name,
  metrics.impressions,
  metrics.clicks,
  metrics.conversions
FROM ad_group_ad_asset_view
WHERE segments.date DURING LAST_30_DAYS
  AND campaign.status = 'ENABLED'
ORDER BY metrics.impressions DESC

See data/gaql-recipes.md for additional/variant queries.

Date Range Fallback

All date-ranged queries above default to LAST_30_DAYS. If results are empty or near-zero (<$5 total spend):

  1. Re-run with DURING LAST_90_DAYS
  2. If still empty, re-run without a date filter (all-time)
  3. Always state the date range used in the output header
  4. If fallback was needed, note: "Account dormant — using [range] for historical context"

This prevents reporting "no data" on paused or seasonal accounts that have useful history.

Export Mode (no MCP)

Ask the user for as much as they can provide:

  • Campaign overview (last 30 days)
  • Search Terms report (last 30 days, top 200+)
  • Conversion actions list
  • Current negative keyword list
  • RSA asset report (optional)
  • Any notes on tracking, recent changes, or known issues

The audit works with partial data — it will note confidence limitations.


Audit Order

1. Can we trust the account?

If tracking is weak, say so immediately. Assign tracking confidence level (High/Medium/Low/Broken). Note which downstream conclusions are conditional on tracking trust.

2. What is the account learning about buyer intent?

Summarize the query and intent reality. Build or update the Intent Map. Note where intent classes are well-routed vs. poorly routed.

3. Where is waste leaking spend?

Identify junk, ambiguity, and routing failures. Quantify the waste. Separate "waste from bad queries" from "waste from bad structure."

4. What should be negative vs. isolated vs. already wrongly negated?

Distinguish exclusion from structure problems. Default to isolation when in doubt. Also review existing negatives for harm: Check if any current negatives are blocking traffic that matches the business's services. Smart campaign auto-negatives and inherited negatives are common culprits. If harmful negatives are found, include a "Negatives to Remove" section in the negative draft.

5. What structure changes matter most?

Focus on where meaning is being mixed. Prioritize by spend impact, not by cosmetic neatness.

6. Are RSAs aligned with buyer language?

Check whether ads reflect real intent and LP promise. Note specific gaps between search language and ad copy.

7. What deserves more budget, less budget, or no touch yet?

Make support/protect/reduce/hold decisions. Gate budget scaling behind tracking confidence.

8. Are landing pages converting (or do they look like they should be)?

When conversion rates look suspiciously low, run a quick Fork A check (tracking) before blaming the landing page. If clicks are high but conversions are near-zero, the tag may not be firing — not the page's fault. For full landing page → conversion path diagnosis, delegate to /google-ads landing-review. See skills/google-ads-landing-review/SKILL.md and google-ads/references/landing-page-playbook.md.

Show full SKILL.md (366 more words)Show less
9. Is PMax helping or contaminating signal?

Be explicit about inference vs. direct evidence. Check for branded/high-intent cannibalization.

Draft Output

Prioritized Draft Batch

The audit produces multiple drafts organized by priority. Not everything needs fixing at once.

Priority tiers:

  1. Fix first — tracking problems that gate everything else
  2. Quick wins — clear negatives that stop obvious waste
  3. Strategic moves — structure changes, budget reallocation
  4. Refinement — RSA refreshes, minor optimizations

For each tier with actionable findings, create a draft:

  • Tracking fixes → drafts/templates/tracking-draft.md → workspace/ads/drafts/YYYY-MM-DD-[account-slug]-tracking-fix.md
  • Negatives → drafts/templates/negative-draft.md → workspace/ads/drafts/YYYY-MM-DD-[account-slug]-negatives.md
  • Structure → drafts/templates/structure-draft.md → workspace/ads/drafts/YYYY-MM-DD-[account-slug]-structure.md
  • Budget → drafts/templates/budget-draft.md → workspace/ads/drafts/YYYY-MM-DD-[account-slug]-budget-realloc.md
  • RSAs → drafts/templates/rsa-draft.md → workspace/ads/drafts/YYYY-MM-DD-[account-slug]-rsa-refresh.md
  • Landing page → drafts/templates/landing-review-draft.md → workspace/ads/drafts/YYYY-MM-DD-[account-slug]-landing-review.md

Cross-reference dependencies between drafts. E.g., "Apply tracking fix before budget scaling."

Update workspace/ads/drafts/_index.md with all new drafts. If 2 or more drafts are created in the same audit run, also write workspace/ads/drafts/_batch-YYYY-MM-DD-[account-slug].md with:

  • Account, date range, and tracking confidence
  • Drafts created in that run grouped by priority tier
  • Dependency chain and recommended review order
  • Quick-apply candidates

Do not list the _batch-*.md packet in _index.md. It is an audit packet, not a draft.

Always update workspace memory:
  • workspace/ads/intent-map.md — build or update from search terms
  • workspace/ads/findings.md — audit findings log
  • workspace/ads/negatives.md — recommended negatives
  • workspace/ads/learnings.md — what we learned
  • workspace/ads/account.md — account context if this is first audit

Output Shape

  1. Account Status block — account name, CID, status (active/suspended/dormant), date range used, tracking confidence, mode
  2. Executive summary — 3-5 sentences: biggest issues, tracking trust, top priority
  3. Tracking confidence detail (High/Medium/Low/Broken)
  4. Intent landscape (brief Intent Map)
  5. Waste analysis (quantified)
  6. Structure assessment
  7. RSA alignment check
  8. Budget posture
  9. PMax assessment
  10. Prioritized action plan — organized by tier
  11. Drafts created (list with paths, summaries, and dependencies)
  12. Confidence assessment
  13. Memory updates

Rules

  • Tracking trust comes first. Everything else is conditional.
  • Search behavior beats generic advice.
  • Distinguish symptoms from root causes.
  • Do not bury the highest-leverage decision.
  • Use benchmarks as context, not as authority.
  • The audit is the highest-value skill in the system. It should produce the clearest, most actionable output. Every finding should either become a draft or be explicitly marked as "no action needed."
  • Prioritize ruthlessly. An audit that recommends 30 equally-weighted changes is useless. An audit that identifies the 3 things that matter most is gold.

© TheMattBerman, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/google-ads-audit of TheMattBerman/google-ads-copilot.

Open the folder on GitHubat commit 2c253ee

Compare with similar skills

Google Ads Audit next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Google Ads Audit compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Google Ads Audit this skillTheMattBerman/google-ads-copilot238—~2.7kAutomated safety check: PassMIT
Google Ads Landing Page Auditnowork-studio/notfair-plugin3.9k—~2.7kAutomated safety check: PassMIT
Google Ads API MCP Setupgoogle/skills21k—~6.1kAutomated safety check: NotesApache-2.0
21 Audit Ads Performanceminhnv0807/ai-business-skills608—~4.6kAutomated safety check: PassMIT
Connectindranilbanerjee/digital-marketing-pro8551 repos~2kAutomated safety check: PassMIT
Launch Ad Campaignindranilbanerjee/digital-marketing-pro8551 repos~3.9kAutomated safety check: PassMIT

Similar skills

  • Google Ads Landing Page Audit

    nowork-studio/notfair-plugin

    Scores Google Ads landing pages on five weighted dimensions and diagnoses why high-CTR ad groups convert poorly, with concrete fixes for each page.

    3.9k GitHub stars~2.7k tokensUpdated 8 days ago
    Marketing & SEOAuto-check passed
  • Official

    Guides developers through downloading, configuring, and installing the official open-source Google Ads MCP Server.

    21k GitHub stars~6.1k tokensUpdated yesterday
    Marketing & SEOAuto-check: notes
  • 21 Audit Ads Performance

    minhnv0807/ai-business-skills

    Dung khi can ra soat CAU HINH tai khoan quang cao mot cach he thong — 6 khau tu account, campaign, adset, creative, landing den tracking, cham Health Score 0-100 va liet ke Quick Wins.

    608 GitHub stars~4.6k tokensUpdated 26 days ago
    Marketing & SEOAuto-check passed
  • Connect

    indranilbanerjee/digital-marketing-pro

    Guide the connection of a known MCP integration to the plugin — looks up the connector registry via connector-status.py, checks current status, and returns transport-specific setup steps (OAuth for…

    855 GitHub starsUsed in 1 repo~2k tokens
    Marketing & SEOAuto-check passed
  • Launch Ad Campaign

    indranilbanerjee/digital-marketing-pro

    Create and launch a paid ad campaign on Google, Meta, LinkedIn, or TikTok through the connected ad-platform MCP — campaign structure, audience targeting, bid strategy, negative targeting, creative…

    855 GitHub starsUsed in 1 repo~3.9k tokens
    Marketing & SEOAuto-check passed
  • Blog Google

    AgriciDaniel/claude-blog

    Google API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity…

    2.3k GitHub starsUsed in 1 repo~3.3k tokens
    Marketing & SEOAuto-check: notes

More from TheMattBerman/google-ads-copilot

All 16 skills in this repo
  • Google Ads

    TheMattBerman/google-ads-copilot

    Google Ads operator system for search-term analysis, intent mapping, wasted spend control, account structure decisions, tracking diagnostics, RSA generation, budget review, account planning, and…

    238 GitHub stars~4.1k tokensUpdated 4 mo ago
    Auto-check passed
  • Google Ads Apply

    TheMattBerman/google-ads-copilot

    Execute approved draft actions in Google Ads accounts. An agent skill from TheMattBerman/google-ads-copilot.

    238 GitHub stars~2.7k tokensUpdated 4 mo ago
    Auto-check passed
  • Google Ads Budget

    TheMattBerman/google-ads-copilot

    Review Google Ads budget allocation and scaling decisions based on signal quality, intent clarity, tracking confidence, and structural health.

    238 GitHub stars~1.2k tokensUpdated 4 mo ago
    Auto-check passed
  • Google Ads Connect

    TheMattBerman/google-ads-copilot

    Connected-mode onboarding, health check, and customer selection for Google Ads Copilot.

    238 GitHub stars~2.2k tokensUpdated 4 mo ago
    Auto-check passed
  • Google Ads Daily

    TheMattBerman/google-ads-copilot

    Daily operator review for Google Ads. An agent skill from TheMattBerman/google-ads-copilot.

    238 GitHub stars~1.2k tokensUpdated 4 mo ago
    Auto-check passed
  • Google Ads Draft Summary

    TheMattBerman/google-ads-copilot

    Summarize all pending drafts across accounts. An agent skill from TheMattBerman/google-ads-copilot.

    238 GitHub stars~2.1k tokensUpdated 4 mo ago
    Auto-check passed

Categories

Questions about Google Ads Audit

What does Google Ads Audit do?

Full Google Ads review that synthesizes tracking, search terms, intent mapping, negatives, structure, RSAs, budget decisions, and PMax context into a single operator read. Google Ads Audit is an agent skill from TheMattBerman/google-ads-copilot. Full Google Ads review that synthesizes tracking, search terms, intent mapping, negatives, structure, RSAs, budget decisions, and PMax context into a single operator read.

When should I use Google Ads Audit?

Google Ads Audit fits situations like: tasks that involve Paid advertising.

How do I install Google Ads Audit in Claude Code?

Run `npx skills add TheMattBerman/google-ads-copilot --skill google-ads-audit -a claude-code`. Or copy the skill folder (skills/google-ads-audit in TheMattBerman/google-ads-copilot) into .claude/skills/google-ads-audit in your project. Claude Code loads it when a task matches its description.

How do I install Google Ads Audit in Codex?

Run `npx skills add TheMattBerman/google-ads-copilot --skill google-ads-audit -a codex`. Or copy the skill folder (skills/google-ads-audit in TheMattBerman/google-ads-copilot) into .agents/skills/google-ads-audit in your project. Codex loads it when a task matches its description.

Can I use Google Ads Audit in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add TheMattBerman/google-ads-copilot --skill google-ads-audit -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/google-ads-audit, .gemini/skills/google-ads-audit, .github/skills/google-ads-audit and .opencode/skills/google-ads-audit in your project.

What does Google Ads Audit need to run?

SKILL.md names no scripts, command-line tools or credentials: Google Ads Audit is instructions for the agent only.

Does Google Ads Audit access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Google Ads Audit safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Google Ads Audit use?

Google Ads Audit is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Google Ads Audit use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Google Ads Audit?

Skills that share tags, products or a category with Google Ads Audit: Google Ads Landing Page Audit (nowork-studio/notfair-plugin, 3.9k stars), Google Ads API MCP Setup (google/skills, 21k stars), 21 Audit Ads Performance (minhnv0807/ai-business-skills, 608 stars) and Connect (indranilbanerjee/digital-marketing-pro, 855 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Google Ads Audit?

TheMattBerman (a GitHub user) maintains it in TheMattBerman/google-ads-copilot, which has 238 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on June 10, 2026.

Source: TheMattBerman/google-ads-copilot on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.