Google Ads deep analysis covering Search, Performance Max, AI Max, Display, YouTube, and Demand Gen campaigns. Evaluates 80 checks across conversion tracking, wasted spend, account structure, keywords, ads, and settings. Includes AI Max (search-term-matching, AI Brief, text customization, FUE, brand exclusions) and Smart Bidding signals. Use when user says Google Ads, Google PPC, search ads, PMax, Performance Max, AI Max, AI Brief, broad match audit, Quality Score check, search terms audit, Smart Bidding, or Google campaign.
Keyword cannibalization check (same keywords in multiple campaigns)
Impression share tracked for top keywords
Keyword bid adjustments set for devices/locations/audiences
Ads (15% weight)
RSA: ≥8 unique headlines, ≥3 descriptions per ad group
RSA: ad strength "Good" or "Excellent" (not "Poor" or "Average")
Pin usage minimal and strategic (over-pinning reduces RSA flexibility)
Ad extensions: sitelinks (≥4), callouts (≥4), structured snippets, image
Dynamic keyword insertion used appropriately
Ad copy includes CTA, value proposition, differentiators
Settings (10% weight)
ECPC (Enhanced CPC) flagged as deprecated. Migrate to full Smart Bidding (tCPA/tROAS/Maximize)
Bid strategy appropriate for campaign maturity and goals
Budget pacing: no campaigns limited by budget (unless intentional)
Ad schedule aligned with business hours/conversion patterns
Device bid adjustments set based on performance data
Location targeting: "Presence" not "Presence or Interest"
Network settings: Search Partners reviewed, Display opt-out for Search
GAQL & Data Accuracy
Before analyzing data, read ads/references/gaql-notes.md for known GAQL field incompatibilities,
deduplication patterns, and filter scope best practices. Key rules:
Deduplicate keywords by (ad_group_id + keyword_text + match_type) before any analysis
Only analyze ENABLED campaigns and ad groups (exclude paused/removed)
Filter to keywords with impressions > 0 for theme coherence checks (G03)
Setup: Configure in .mcp.json or Claude Code MCP settings
Customer ID: Extract from CLAUDE.md under Accounts > Google Ads, or ask the user
Fallback: If MCP is not configured, fall back to manual data export (the default workflow)
When MCP is available, use it to pull Search Terms Reports, keyword data, conversion actions,
and campaign structure automatically instead of requiring manual exports.
PMax Deep Dive
If Performance Max campaigns exist, additionally evaluate:
Asset group diversity (text, images, video, feeds)
AI Max layers broad match + keywordless targeting on existing Search campaigns.
14% avg conversion lift for non-retail brands at similar CPA/ROAS (Google Ads blog, May 2025).
DSA, ACA, and campaign-level broad match auto-migrate into AI Max by end of
September 2026; new DSA campaign creation via the Google Ads API ends Sept
2026. Strong negative keyword lists are a hard prerequisite. Independent data
across 250+ campaigns shows more conservative real-world results (+13% median
revenue, +16% median CPA) — set expectations accordingly.
Detection & API field
AI Max is enabled per-campaign via ai_max_setting.enable_ai_max (Google Ads
API v21+). Check the campaign's ai_max_setting resource for current state.
Audit checklist
If AI Max for Search is available or active:
Field check: campaign.ai_max_setting.enable_ai_max = true for eligible
Search campaigns (or documented opt-out reason)
Broad Match + Smart Bidding combo verified — AI Max effectively forces broad
match expansion; without Smart Bidding (tCPA/tROAS/Maximize Conv) it bleeds spend
Search Term Matching — review the search_term_matching_type distribution
in the Search Terms Report (close variants vs broader matches); FAIL if the
broader-match share exceeds 60% on a non-Smart-Bidding campaign
AI Brief configured — Google's new structured brand context input. Audit
for: business name, value prop (≤200 chars), target audience descriptor,
forbidden topics / off-brand language list, regional / legal disclaimers
Text customization rules — AI Max generates headline + description variants
from the brief. Audit for: locked legal phrases, banned competitor names,
approved disclaimer text, pin discipline on must-include claims
Final URL Expansion (FUE) controls — confirm URL include/exclude lists
prevent AI Max routing traffic to checkout-skip pages, password-gated pages,
or 404s. Audit url_expansion_opt_out if you've explicitly disabled FUE
Brand exclusions applied — campaign-level brand exclusion list to prevent
cannibalizing brand search; same mechanism as PMax brand exclusions
Text disclaimers (rolling out May 2026+) — if your vertical requires
disclaimers (health, finance, legal, crypto), confirm Google's new structured
text disclaimer field is populated
Budget impact — AI Max can shift spend ±30% in the first 7 days. Confirm
budget pacing rules and shared budgets won't starve adjacent campaigns
Negative keyword coverage — AI Max broadens reach 3-5x; existing negative
lists must scale. Reuse the negative keyword rules from the Wasted Spend section
but apply at 3x the historical volume
DSA Migration Pre-Flight Checklist
The Sept 2026 auto-migration moves Dynamic Search Ads, Automatically Created
Assets (ACA), and campaign-level broad-match Search campaigns into AI Max
whether or not the advertiser is ready. Run this pre-flight before the
migration deadline:
Inventory DSA campaigns — query campaign.advertising_channel_sub_type IN (SEARCH_DYNAMIC, ...). List campaign IDs, monthly spend, conversion
volume so the migration can be staged by risk
Inventory ACA-enabled campaigns — campaign.ad_strength_settings
with auto-generated headlines enabled
Inventory campaign-level broad-match Search campaigns without AI Max
yet enabled — these will migrate by default
Tracking template audit — DSAs often use {lpurl} ValueTrack
parameters. Confirm tracking templates resolve correctly when AI Max
generates a different final URL via FUE. Re-test parameter substitution
with a synthetic AI Max landing URL
Negative keyword pre-staging — pull the last 90 days of DSA search
terms; pre-stage the irrelevant ones as Exact/Phrase negatives on a
Shared Negative List before migration
AI Brief drafted — write a draft Brief for each migrating campaign
so Google has structured brand context at migration time, not generic
crawled content
URL controls staged — Final URL Expansion include/exclude lists
prepared per campaign (especially for /careers, /admin, /thank-you,
/404 paths that DSAs typically excluded by URL pattern rules)
Brand exclusion lists prepared — campaign-level brand exclusion
file (same format as PMax)
Bidding strategy migration — Manual CPC and ECPC DSA campaigns
MUST move to Smart Bidding before AI Max migration. Pre-stage tCPA or
tROAS targets per migrating campaign
Conversion tracking pre-flight — AI Max attribution relies heavily
on Enhanced Conversions + Consent Mode V2; confirm both are active and
verified per the Conversion Tracking section before migration
Reporting baseline — capture 28-day pre-migration metrics (CTR,
CVR, CPA, ROAS, Search Lost IS by rank/budget) so post-migration impact
can be measured cleanly
Document the migration risk per campaign as LOW (Smart Bidding + strong
negatives + good AI Brief), MEDIUM (Smart Bidding but weak negatives or
no Brief), or HIGH (Manual CPC, weak negatives, generic Brief). Stage
migrations starting LOW → HIGH and pause MEDIUM/HIGH if conversion volume
drops >25% in the first 7 days.
Demand Gen Campaigns
Replaced Video Action Campaigns (auto-upgrade began July 2025). Adding image
assets to a video-only campaign drives 20% more conversions at the same CPA
(Google Ads blog).
Frequency capping NOT supported.
If Demand Gen campaigns exist, evaluate:
Video + image asset mix present (combined format drives 20% more conversions vs video-only at same CPA)
GOOGLE-ADS-REPORT.md: Full 80-check findings with pass/warning/fail
Wasted spend estimate (monthly $ value)
Quick Wins sorted by impact
PMax-specific recommendations (if applicable)
Keyword health matrix with QS, CTR, CVR per keyword group
1---2name: ads-google3description: Google Ads deep analysis covering Search, Performance Max, AI Max, Display, YouTube, and Demand Gen campaigns. Evaluates 80 checks across conversion tracking, wasted spend, account structure, keywords, ads, and settings. Includes AI Max (search-term-matching, AI Brief, text customization, FUE, brand exclusions) and Smart Bidding signals. Use when user says Google Ads, Google PPC, search ads, PMax, Performance Max, AI Max, AI Brief, broad match audit, Quality Score check, search terms audit, Smart Bidding, or Google campaign.4---56# Google Ads Deep Analysis78## Process9101. Collect Google Ads account data (export, Change History, Search Terms Report)112. **Validate**: confirm data covers ≥30 days and includes Search Terms Report before proceeding123. Read `ads/references/google-audit.md` for full 80-check audit134. Read `ads/references/benchmarks.md` for Google-specific benchmarks145. Read `ads/references/scoring-system.md` for weighted scoring156. Evaluate all applicable checks as PASS, WARNING, or FAIL167. **Validate**: confirm all 80 checks evaluated before calculating score178. Calculate Google Ads Health Score (0-100)189. Generate findings report with action plan1920## What to Analyze2122### Conversion Tracking (25% weight)23- Google tag (gtag.js) installed and firing on all pages24- Enhanced Conversions active (hashed first-party data)25- Consent Mode v2 implemented (required for EU/EEA)26- Conversion actions mapped correctly (primary vs secondary)27- Offline conversion import configured (for lead gen)28- Server-side tagging via GTM (recommended for accuracy)29- Attribution model: data-driven preferred (last-click as fallback only)30- Conversion lag analysis (are conversions still trickling in?)3132### Wasted Spend (20% weight)33- Search Terms Report reviewed (last 30 days minimum)34- Negative keyword coverage adequate (shared lists + campaign-level)35- Display placement audit (exclude low-quality sites)36- Invalid click rate within norms (<10%)37- Broad Match only used with Smart Bidding (NEVER without it)38- Brand/non-brand campaigns separated39- Geographic targeting precise (no wasted international spend)4041**Negative Keyword Rules (critical: bad negatives kill campaigns):**42- NEVER suggest Broad Match negatives unless explicitly justified; they block too broadly43- Default to **Exact Match** `[keyword]` for specific irrelevant queries44- Use **Phrase Match** `"keyword"` for irrelevant intent patterns45- Source negatives from actual Search Terms Report irrelevant queries, NOT guesses46- Group into themed lists: Informational (how-to, DIY, what is), Job-seeker (jobs, careers, salary), Competitor (only if intentionally excluded), Free-intent (free, crack, torrent)47- Recommend **Shared Negative Lists** at the account level, not just campaign-level48- Review existing negatives for over-blocking (are any negatives accidentally blocking converting queries?)4950### Account Structure (15% weight)51- Campaign-level organization follows business logic52- Ad groups themed tightly (15-20 keywords max per group)53- RSA ad groups have ≥3 active ads54- PMax campaigns structured correctly (asset groups, signals)55- SKAGs evaluated (migrate to themed groups if present)56- Campaign labels/naming conventions consistent5758### Keywords (15% weight)59- Match type strategy appropriate (Exact → Phrase → Broad progression)60- Quality Score distribution (aim ≥7 average)61- Low QS keywords flagged (<5 = FAIL, 5-6 = WARNING)62- Keyword cannibalization check (same keywords in multiple campaigns)63- Impression share tracked for top keywords64- Keyword bid adjustments set for devices/locations/audiences6566### Ads (15% weight)67- RSA: ≥8 unique headlines, ≥3 descriptions per ad group68- RSA: ad strength "Good" or "Excellent" (not "Poor" or "Average")69- Pin usage minimal and strategic (over-pinning reduces RSA flexibility)70- Ad extensions: sitelinks (≥4), callouts (≥4), structured snippets, image71- Dynamic keyword insertion used appropriately72- Ad copy includes CTA, value proposition, differentiators7374### Settings (10% weight)75- ECPC (Enhanced CPC) flagged as deprecated. Migrate to full Smart Bidding (tCPA/tROAS/Maximize)76- Bid strategy appropriate for campaign maturity and goals77- Budget pacing: no campaigns limited by budget (unless intentional)78- Ad schedule aligned with business hours/conversion patterns79- Device bid adjustments set based on performance data80- Location targeting: "Presence" not "Presence or Interest"81- Network settings: Search Partners reviewed, Display opt-out for Search8283## GAQL & Data Accuracy8485Before analyzing data, read `ads/references/gaql-notes.md` for known GAQL field incompatibilities,86deduplication patterns, and filter scope best practices. Key rules:8788- Deduplicate keywords by `(ad_group_id + keyword_text + match_type)` before any analysis89- Only analyze ENABLED campaigns and ad groups (exclude paused/removed)90- Filter to keywords with impressions > 0 for theme coherence checks (G03)91- Apply legacy BMM heuristic: BROAD + Manual CPC = legacy BMM, not intentional broad (G17)92- Only flag wasted spend on terms with >$10 spend AND 0 conversions (G16)93- Count shared negative keyword lists alongside campaign-level negatives (G14/G15)9495## Google Ads MCP Integration (Optional)9697For automated data collection, connect the [Google Ads MCP server](https://github.com/googleads/google-ads-mcp):9899- **Tools available**: `search` (GAQL queries), `list_accessible_customers`100- **Setup**: Configure in `.mcp.json` or Claude Code MCP settings101- **Customer ID**: Extract from CLAUDE.md under Accounts > Google Ads, or ask the user102- **Fallback**: If MCP is not configured, fall back to manual data export (the default workflow)103104When MCP is available, use it to pull Search Terms Reports, keyword data, conversion actions,105and campaign structure automatically instead of requiring manual exports.106107## PMax Deep Dive108109If Performance Max campaigns exist, additionally evaluate:110- Asset group diversity (text, images, video, feeds)111- Audience signals configured (custom segments, lists, demographics)112- URL expansion settings reviewed (opt-out of irrelevant pages)113- Brand exclusions applied (prevent cannibalizing brand search), available for all advertisers114- Campaign-level negative keywords now available for ALL advertisers115- Search themes utilized (2024 feature)116- Final URL expansion: enabled or disabled with justification117- Insights tab reviewed (search categories, audience segments)118119## AI Max for Search (2026)120121AI Max layers broad match + keywordless targeting on existing Search campaigns.12214% avg conversion lift for non-retail brands at similar CPA/ROAS ([Google Ads blog, May 2025](https://blog.google/products/ads-commerce/google-ai-max-for-search-campaigns/)).123**DSA, ACA, and campaign-level broad match auto-migrate into AI Max by end of124September 2026**; new DSA campaign creation via the Google Ads API ends Sept1252026. Strong negative keyword lists are a hard prerequisite. Independent data126across 250+ campaigns shows more conservative real-world results (+13% median127revenue, +16% median CPA) — set expectations accordingly.128129### Detection & API field130131AI Max is enabled per-campaign via `ai_max_setting.enable_ai_max` (Google Ads132API v21+). Check the campaign's `ai_max_setting` resource for current state.133134### Audit checklist135136If AI Max for Search is available or active:137- **Field check**: `campaign.ai_max_setting.enable_ai_max = true` for eligible138 Search campaigns (or documented opt-out reason)139- **Broad Match + Smart Bidding combo verified** — AI Max effectively forces broad140 match expansion; without Smart Bidding (tCPA/tROAS/Maximize Conv) it bleeds spend141- **Search Term Matching** — review the `search_term_matching_type` distribution142 in the Search Terms Report (close variants vs broader matches); FAIL if the143 broader-match share exceeds 60% on a non-Smart-Bidding campaign144- **AI Brief configured** — Google's new structured brand context input. Audit145 for: business name, value prop (≤200 chars), target audience descriptor,146 forbidden topics / off-brand language list, regional / legal disclaimers147- **Text customization rules** — AI Max generates headline + description variants148 from the brief. Audit for: locked legal phrases, banned competitor names,149 approved disclaimer text, pin discipline on must-include claims150- **Final URL Expansion (FUE)** controls — confirm URL include/exclude lists151 prevent AI Max routing traffic to checkout-skip pages, password-gated pages,152 or 404s. Audit `url_expansion_opt_out` if you've explicitly disabled FUE153- **Brand exclusions applied** — campaign-level brand exclusion list to prevent154 cannibalizing brand search; same mechanism as PMax brand exclusions155- **Text disclaimers** (rolling out May 2026+) — if your vertical requires156 disclaimers (health, finance, legal, crypto), confirm Google's new structured157 text disclaimer field is populated158- **Budget impact** — AI Max can shift spend ±30% in the first 7 days. Confirm159 budget pacing rules and shared budgets won't starve adjacent campaigns160- **Negative keyword coverage** — AI Max broadens reach 3-5x; existing negative161 lists must scale. Reuse the negative keyword rules from the Wasted Spend section162 but apply at 3x the historical volume163164### DSA Migration Pre-Flight Checklist165166The Sept 2026 auto-migration moves Dynamic Search Ads, Automatically Created167Assets (ACA), and campaign-level broad-match Search campaigns into AI Max168whether or not the advertiser is ready. Run this pre-flight before the169migration deadline:170171- [ ] **Inventory DSA campaigns** — query `campaign.advertising_channel_sub_type172 IN (SEARCH_DYNAMIC, ...)`. List campaign IDs, monthly spend, conversion173 volume so the migration can be staged by risk174- [ ] **Inventory ACA-enabled campaigns** — `campaign.ad_strength_settings`175 with auto-generated headlines enabled176- [ ] **Inventory campaign-level broad-match Search campaigns** without AI Max177 yet enabled — these will migrate by default178- [ ] **Tracking template audit** — DSAs often use `{lpurl}` ValueTrack179 parameters. Confirm tracking templates resolve correctly when AI Max180 generates a different final URL via FUE. Re-test parameter substitution181 with a synthetic AI Max landing URL182- [ ] **Negative keyword pre-staging** — pull the last 90 days of DSA search183 terms; pre-stage the irrelevant ones as Exact/Phrase negatives on a184 Shared Negative List before migration185- [ ] **AI Brief drafted** — write a draft Brief for each migrating campaign186 so Google has structured brand context at migration time, not generic187 crawled content188- [ ] **URL controls staged** — Final URL Expansion include/exclude lists189 prepared per campaign (especially for /careers, /admin, /thank-you,190 /404 paths that DSAs typically excluded by URL pattern rules)191- [ ] **Brand exclusion lists prepared** — campaign-level brand exclusion192 file (same format as PMax)193- [ ] **Bidding strategy migration** — Manual CPC and ECPC DSA campaigns194 MUST move to Smart Bidding before AI Max migration. Pre-stage tCPA or195 tROAS targets per migrating campaign196- [ ] **Conversion tracking pre-flight** — AI Max attribution relies heavily197 on Enhanced Conversions + Consent Mode V2; confirm both are active and198 verified per the Conversion Tracking section before migration199- [ ] **Reporting baseline** — capture 28-day pre-migration metrics (CTR,200 CVR, CPA, ROAS, Search Lost IS by rank/budget) so post-migration impact201 can be measured cleanly202203Document the migration risk per campaign as **LOW** (Smart Bidding + strong204negatives + good AI Brief), **MEDIUM** (Smart Bidding but weak negatives or205no Brief), or **HIGH** (Manual CPC, weak negatives, generic Brief). Stage206migrations starting LOW → HIGH and pause MEDIUM/HIGH if conversion volume207drops >25% in the first 7 days.208209## Demand Gen Campaigns210211Replaced Video Action Campaigns (auto-upgrade began July 2025). Adding image212assets to a video-only campaign drives 20% more conversions at the same CPA213([Google Ads blog](https://blog.google/products/ads-commerce/video-action-campaigns-demand-gen-upgrade/)).214Frequency capping NOT supported.215216If Demand Gen campaigns exist, evaluate:217- Video + image asset mix present (combined format drives 20% more conversions vs video-only at same CPA)218- Audience signals configured (custom segments, lookalikes)219- Conversion tracking aligned with upper/mid-funnel goals220- Note: frequency capping is not available. Monitor reach vs frequency manually221222## Key Thresholds223224| Metric | Pass | Warning | Fail |225|--------|------|---------|------|226| Quality Score (avg) | ≥7 | 5-6 | <5 |227| CTR (Search) | ≥6.66% | 3-6.66% | <3% |228| CVR (Search) | ≥7.52% | 3-7.52% | <3% |229| CPC (Search) | ≤$5.26 | $5.26-8.00 | >$8.00 |230| Wasted Spend | <10% | 10-20% | >20% |231| Ad Strength | Good+ | Average | Poor |232| Invalid Clicks | <5% | 5-10% | >10% |233234## Output235236### Google Ads Health Score237238```239Google Ads Health Score: XX/100 (Grade: X)240241Conversion Tracking: XX/100 ████████░░ (25%)242Wasted Spend: XX/100 ██████████ (20%)243Account Structure: XX/100 ███████░░░ (15%)244Keywords: XX/100 █████░░░░░ (15%)245Ads: XX/100 ████████░░ (15%)246Settings: XX/100 ██████████ (10%)247```248249### Deliverables250- `GOOGLE-ADS-REPORT.md`: Full 80-check findings with pass/warning/fail251- Wasted spend estimate (monthly $ value)252- Quick Wins sorted by impact253- PMax-specific recommendations (if applicable)254- Keyword health matrix with QS, CTR, CVR per keyword group
Run npx skillmds@latest add lord1egypt/ads-google in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Google Ads deep analysis covering Search, Performance Max, AI Max, Display, YouTube, and Demand Gen campaigns. Evaluates 80 checks across conversion tracking, wasted spend, account structure, keywords, ads, and settings. Includes AI Max (search-term-matching, AI Brief, text customization, FUE, brand exclusions) and Smart Bidding signals. Use when user says Google Ads, Google PPC, search ads, PMax, Performance Max, AI Max, AI Brief, broad match audit, Quality Score check, search terms audit, Smart Bidding, or Google campaign. It is listed under Marketing & Growth on SkillMD.
This skill has not completed SkillMD's automated safety review yet. Independent scanners report: SkillSpector: PASS, Skill Scanner: PASS. Capability flags: makes network calls, reads secrets. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
Lord1Egypt (@lord1egypt) published this skill. Their other Agent Skills are listed on their SkillMD profile.