Audits and scores an existing Google Ads account across conversion tracking, wasted spend, account structure, keywords/Quality Score, ads & assets (incl. PMax, AI Max, Demand Gen), and settings. Read-only. Generalized fork of the ads-google audit: reads everything from account-context.yaml and applies the operator's guardrails — no brand/vertical hardcoding. Use when the user says "audit", "score my account", "what's wrong with my ads", "wasted spend", "account review", "health check".
Acts on a running account to improve performance: campaign tiering, search-term mining into negatives, budget reallocation, target ROAS/CPA adjustments, bid-strategy changes, asset refresh, and consolidation. Diagnoses root cause (not just symptoms) and produces a dated action plan. Proposes changes — applies via pusher with approval. Generalized fork of a production optimizer; reads account-context.yaml, respects guardrails and margin tiers. Use when the user says "optimize", "improve ROAS", "lower CPA", "add negatives", "raise tROAS", "reallocate budget", "fix underperformers", "weekly ads review".
Pushes a campaign-spec.json (from any builder-*) OR a change-set.json (from optimizer/routine) into Google Ads safely. Reads the JSON contract — never the spreadsheet. Validates, then either exports a Google Ads Editor import file + a guided UI build/change checklist (default, read-only MCP), or performs API mutations when account-context google_ads.api_write is true. Always behind a human approval gate and a spend-cap guard; creates campaigns PAUSED and never enables them. Use when the user says "push", "export to google ads", "upload campaign", "import to editor", "apply changes", "apply the optimizer plan", "go live".
Onboards a business into the claude-google-ads suite by producing account-context.yaml — the backbone every other skill reads. Detects the data source (Shopify/WooCommerce/BigCommerce/CSV via MCP), captures Google Ads account ids and conversion actions, GA4/GSC properties (shared vs per-site), brand and competitor terms, margins, and operator guardrails. Use when the user starts with Google Ads, has no context file yet, or says "set up", "onboard", "connect my store/account", "configure".
Router / orchestrator for the claude-google-ads suite. Use when the user wants to do anything with Google Ads but hasn't named a specific step — "help me with Google Ads", "launch Google Ads for my store", "run google ads", or just /google-ads. Reads account-context.yaml, runs setup if missing, figures out where the account is in the lifecycle, and dispatches to the right sub-skill (setup, measurement, audit, plan, builder-*, pusher, tracker, optimizer, assets, experiments). It orchestrates; it does not do the work.
Validates conversion tracking BEFORE any spend — the #1 failure point in Google Ads accounts. Checks conversion actions (purchase/lead), counting settings, primary vs secondary, double-count risk by source (store channel e.g. Shopify vs GA4 import vs gtag), enhanced conversions, server-side/CAPI, and value tracking — and judges them HOLISTICALLY (which actions each campaign actually fires) before any verdict. Use when the user says "conversion tracking", "is my tracking right", "GA4 import", "enhanced conversions", "why are my conversions wrong", or as the gate before plan/builder.
Plans a Google Ads launch or expansion: how to split budget, which campaign types to run (Search, Branded Search, Performance Max, Demand Gen) and in what order, expected conversions/CPA/ROAS given budget and AOV, and a phased ramp roadmap. Reads context + audit + measurement; forecasts from real account data when available, benchmarks when not. Use when the user says "plan", "budget", "what campaigns should I run", "how should I launch Google Ads", "media plan", "campaign mix", "forecast".
Monitors live campaigns — especially newly launched ones in the learning phase. Reports budget pacing, learning-phase status, delivery, and anomalies (sudden CPC/CPA/ROAS swings, conversion drops, disapproved assets). Observe-only: it alerts, it never changes the account. Reads account-context.yaml. Use when the user says "how's my campaign doing", "pacing", "learning phase", "is it spending", "monitor", "anomaly", "what changed".