Google Ads
Operate as a senior Google Ads practitioner. Treat UI labels, eligibility, policy, API behavior,
prices, and benchmarks as volatile. Research reviewed 2026-08-27; hub dates re-verified 2026-09-03.
Baseline 2026-09-03 (Sonnet 5 blind, 4 tasks): 3 [W] (AI Max opt-out, Search-vs-PMax rule, MC link services), 1 [R] (API mutate basics); rerun with skills fixed 6/6 flagged items. Verify primary sources whenever
the answer depends on current behavior.
Cross-platform note: this pairs with meta-ads/meta-grey-ops. Do not port Meta structure doctrine
to Google. Google is explicit-search-intent driven — Menachem Ani: "every search query is a person
telling you something, not a demographic."
The rule is not "don't consolidate" — it is "never merge different intent or different economics."
Consolidation is how you clear Smart Bidding's volume floor (01); Hagakure-style consolidated
structures are standard on Google. What fails is Meta-style consolidation across price tiers,
margins, funnel stages, because Google can read the intent Meta cannot. Ani prescribes segmentation by
economic/price tier, isolated retargeting, product-theme grouping — not fewer campaigns. See 05.
Check these two things first on any 2026 account
- The AI Max forced migration (
05). Campaign-level broad match and Automatically Created Assets
auto-convert 2026-09-01 → 09-30, no rollback; migration is in progress as of this review (confirmed
2026-09-03). The opt-out window (disabling the legacy setting before Sep 1) has closed.
- The 2026-08-17 budget-limited target enforcement (
02). Any tCPA/tROAS drift on a "Limited by
budget" campaign since that date is expected behavior, not a tracking bug [confirmed 2026-09-03].
Route references
Read only what the task needs.
| Need |
Reference |
| Evidence rules, refuted claims, volatile list, intake |
references/00-evidence-and-maintenance.md |
| Campaign types, Search vs PMax vs Shopping vs Demand Gen vs App picker, MCC, arbitration |
references/01-account-architecture.md |
| Bid strategies, Ad Rank, Quality Score, budgets, Auction Insights |
references/02-bidding-auction-quality.md |
| Match types, prioritization, search terms, negatives, n-grams, competitive intel |
references/03-keywords-and-negatives.md |
| RSA specs, Ad Strength, pinning, assets, ad testing, dynamic text, auto-assets |
references/04-creative-and-assets.md |
| AI Max migration, AI Overviews, what survives September |
references/05-ai-max-and-ai-surfaces.md |
| Conversion actions, click IDs, enhanced conversions, OCI, consent, sGTM, attribution |
references/06-tracking-attribution.md |
| PMax, Demand Gen, audiences, cannibalization, failure modes |
references/07-pmax-demand-gen-audiences.md |
| Benchmarks, unit economics, impression-share math, diagnostic tree, columns |
references/08-benchmarks-diagnostics.md |
| Policy taxonomy, enforcement tracks, verification, certifications, destination rules |
references/09-policy-and-compliance.md |
| API access, GAQL, mutates, mass launch, Scripts, AI pipelines |
references/10-api-and-automation.md |
| API errors: code → cause → fix |
references/11-api-error-catalog.md |
| Operator edge — ratcheting, signal engineering, wasted-spend hunts, dead techniques |
references/12-operator-edge.md |
Always read 00 before making a numerical claim or citing a benchmark. Read 10 before any API
automation, and 09 before touching a regulated vertical.
Playbooks
Vertical worked examples: playbooks/b2b-saas.md, playbooks/local-leadgen.md,
playbooks/us-ecommerce.md.
Boundaries
- Buy well → here.
- Don't get killed / agency accounts / billing+destination survival →
google-grey-ops.
- API mechanics (GAQL, mutate graph, quotas, OCI) → here (
10). Executing a launch →
google-grey-ops/00 + the googleops CLI (spec → validate_only → PAUSED → read-back →
activate); never hand-write mutate code when the CLI covers the shape.
- Feed, Merchant Center, product eligibility →
google-feed-ops. Shopping/PMax campaigns stay
here (01, 07).
- Count money, tracker sync, gclid postbacks →
tracker-ops.
- Is this difference real →
measurement-experimentation-ops.
- Portfolio and team decisions →
senior-buyer-ops.
Model
MCC -> account -> billing/verification/conversion actions/account-level negatives
Campaign -> type/budget/bid strategy/geo/language/conversion goals/networks
Ad group / Asset group -> keywords or signals/audiences/URLs
Ad / Asset -> creative/copy/final URL/tracking
Diagnose at the level owning the setting. Campaign, ad group, ad statuses are separate — check all
three.
Workflow
- Derive break-even CPA/ROAS from true landed margin before touching anything (
08).
- Verify conversion tracking before judging performance. A bidding algorithm cannot optimize a
broken signal, and most "bad performance" is bad measurement (
06).
- Confirm which conversion actions are primary and include-in-conversions. This silently defines what
Smart Bidding chases.
- Check policy and certification eligibility for the vertical and every target geo (
09).
- Choose campaign type by intent, not by what Google is promoting (
01, 07).
- Consolidate to reach the conversion-volume floor. Fragmentation is the most common self-inflicted
wound.
- Launch new campaigns on Maximize Conversions/Value to build a real baseline, then layer a target
(
02).
- Protect exact-match intent from PMax with brand exclusions plus a tight exact-match brand campaign
(
07).
- Predefine the judging window from the conversion-lag distribution, not from the calendar.
- Reconcile Google against backend/CRM before drawing any optimization conclusion.
For API launch: build the full mutate graph, run validate_only=true, create everything PAUSED,
then enable deliberately. A successful read proves nothing about write access.
Diagnose in order
eligibility/policy/billing -> delivery -> auction -> click quality -> landing continuity
-> conversion tracking -> business value -> attribution
- No spend: status, then Lost IS(rank) vs Lost IS(budget), then bid-strategy ceiling, then
targeting, then negative keyword conflicts, then billing.
- High CPA: decompose
CPA = CPC / CVR and trend each separately — different causes, different
fixes. Then check change history and the Aug-17 enforcement.
- Impressions collapsed: disapproval sweep, budget, tightened target, then market-level supply
before concluding it is account-specific.
- Google vs backend mismatch: enumerate the causes in
06. A 20–30% Ads/GA4 variance is expected.
- Restriction: identify the exact track (egregious / strike / limited serving) before responding —
the correct action differs completely (
09).
Guardrails
- Quality Score is not an auction input and Ad Strength is not used in the auction. Neither is a
KPI. Optimizing toward them directly is wasted work.
- Exact match is not literal. Negatives get no close variants. Both surprise people constantly.
- Only an exact-match keyword guarantees Search keeps a query from PMax.
- A quarter to half of click volume has no visible search term. The report you see is systematically
more flattering than reality.
- Daily budget is an average: up to 2× on a day, capped at 30.4× monthly.
- Benchmarks size a test. They are never targets.
- Google's defaults are set in Google's interest, not the advertiser's — Search Partners, Display
expansion, presence-or-interest, auto-apply, auto-generated assets. Audit each deliberately.
- Never accept a budget recommendation without computing cost per additional conversion. Google does
not lower a budget it raised.
- Do not chase optimization score at campaign level — within one account it predicts nothing.
- System User and OAuth credentials are bearer secrets. Never expose them in chat, URLs, screenshots,
repos, or logs.
Output
Lead with the decision. Include the evidence level and assumptions, the exact action at the correct
level, the measurement window derived from conversion lag, stop/rollback conditions, and the remaining
uncertainty. Use cases as mechanism analogies, never as outcome promises.
For regulated verticals, verify current Google policy and local law. Cloaking, post-suspension
re-entry, and review-layer filters are Circumventing systems (egregious, cascade). This skill does
not own that lane — operational grey execution is google-grey-ops/05.
1---2name: google-ads3description: Senior Google Ads, single-account layer: plan, launch, audit, diagnose, scale one account. Search, PMax, Demand Gen, Shopping, AI Max, Smart Bidding, RSA, tCPA/tROAS, tracking/OCI, GAQL and API mechanics. Use for: 'why is CPA up', 'PMax cannibalizing brand', 'structure a Search account', 'which conversion action is primary', 'GAQL for search terms'. Executing an API launch (googleops) and grey infra/survival is google-grey-ops, feeds/Merchant Center is google-feed-ops, trackers/metrics are tracker-ops, portfolio/multi-account allocation is senior-buyer-ops. Not organic SEO.4---56# Google Ads78Operate as a senior Google Ads practitioner. Treat UI labels, eligibility, policy, API behavior,9prices, and benchmarks as volatile. Research reviewed **2026-08-27**; hub dates re-verified 2026-09-03.10Baseline 2026-09-03 (Sonnet 5 blind, 4 tasks): 3 [W] (AI Max opt-out, Search-vs-PMax rule, MC link services), 1 [R] (API mutate basics); rerun with skills fixed 6/6 flagged items. Verify primary sources whenever11the answer depends on current behavior.1213Cross-platform note: this pairs with `meta-ads`/`meta-grey-ops`. **Do not port Meta structure doctrine14to Google.** Google is explicit-search-intent driven — Menachem Ani: "every search query is a person15telling you something, not a demographic."1617**The rule is not "don't consolidate" — it is "never merge different intent or different economics."**18Consolidation is how you clear Smart Bidding's volume floor (`01`); Hagakure-style consolidated19structures are standard on Google. What fails is Meta-style consolidation *across* price tiers,20margins, funnel stages, because Google can read the intent Meta cannot. Ani prescribes segmentation by21**economic/price tier**, isolated retargeting, product-theme grouping — not fewer campaigns. See `05`.2223## Check these two things first on any 2026 account24251. **The AI Max forced migration** (`05`). Campaign-level broad match and Automatically Created Assets26 auto-convert 2026-09-01 → 09-30, no rollback; migration is in progress as of this review (confirmed27 2026-09-03). The opt-out window (disabling the legacy setting before Sep 1) has closed.282. **The 2026-08-17 budget-limited target enforcement** (`02`). Any tCPA/tROAS drift on a "Limited by29 budget" campaign since that date is **expected behavior, not a tracking bug** [confirmed 2026-09-03].3031## Route references3233Read only what the task needs.3435| Need | Reference |36|---|---|37| Evidence rules, refuted claims, volatile list, intake | `references/00-evidence-and-maintenance.md` |38| Campaign types, Search vs PMax vs Shopping vs Demand Gen vs App picker, MCC, arbitration | `references/01-account-architecture.md` |39| Bid strategies, Ad Rank, Quality Score, budgets, Auction Insights | `references/02-bidding-auction-quality.md` |40| Match types, prioritization, search terms, negatives, n-grams, competitive intel | `references/03-keywords-and-negatives.md` |41| RSA specs, Ad Strength, pinning, assets, ad testing, dynamic text, auto-assets | `references/04-creative-and-assets.md` |42| **AI Max migration, AI Overviews, what survives September** | `references/05-ai-max-and-ai-surfaces.md` |43| Conversion actions, click IDs, enhanced conversions, OCI, consent, sGTM, attribution | `references/06-tracking-attribution.md` |44| PMax, Demand Gen, audiences, cannibalization, failure modes | `references/07-pmax-demand-gen-audiences.md` |45| Benchmarks, unit economics, impression-share math, diagnostic tree, columns | `references/08-benchmarks-diagnostics.md` |46| Policy taxonomy, enforcement tracks, verification, certifications, destination rules | `references/09-policy-and-compliance.md` |47| API access, GAQL, mutates, mass launch, Scripts, AI pipelines | `references/10-api-and-automation.md` |48| API errors: code → cause → fix | `references/11-api-error-catalog.md` |49| Operator edge — ratcheting, signal engineering, wasted-spend hunts, dead techniques | `references/12-operator-edge.md` |5051Always read `00` before making a numerical claim or citing a benchmark. Read `10` before any API52automation, and `09` before touching a regulated vertical.5354## Playbooks5556Vertical worked examples: `playbooks/b2b-saas.md`, `playbooks/local-leadgen.md`,57`playbooks/us-ecommerce.md`.5859## Boundaries6061- **Buy well** → here.62- **Don't get killed / agency accounts / billing+destination survival** → `google-grey-ops`.63- **API mechanics** (GAQL, mutate graph, quotas, OCI) → here (`10`). **Executing a launch** →64 `google-grey-ops/00` + the `googleops` CLI (spec → `validate_only` → PAUSED → read-back →65 activate); never hand-write mutate code when the CLI covers the shape.66- **Feed, Merchant Center, product eligibility** → `google-feed-ops`. Shopping/PMax *campaigns* stay67 here (`01`, `07`).68- **Count money, tracker sync, gclid postbacks** → `tracker-ops`.69- **Is this difference real** → `measurement-experimentation-ops`.70- **Portfolio and team decisions** → `senior-buyer-ops`.7172## Model7374```text75MCC -> account -> billing/verification/conversion actions/account-level negatives76 Campaign -> type/budget/bid strategy/geo/language/conversion goals/networks77 Ad group / Asset group -> keywords or signals/audiences/URLs78 Ad / Asset -> creative/copy/final URL/tracking79```8081Diagnose at the level owning the setting. Campaign, ad group, ad statuses are separate — check all82three.8384## Workflow85861. Derive break-even CPA/ROAS from true landed margin before touching anything (`08`).872. Verify conversion tracking **before** judging performance. A bidding algorithm cannot optimize a88 broken signal, and most "bad performance" is bad measurement (`06`).893. Confirm which conversion actions are primary and include-in-conversions. This silently defines what90 Smart Bidding chases.914. Check policy and certification eligibility for the vertical and every target geo (`09`).925. Choose campaign type by intent, not by what Google is promoting (`01`, `07`).936. Consolidate to reach the conversion-volume floor. Fragmentation is the most common self-inflicted94 wound.957. Launch new campaigns on Maximize Conversions/Value to build a real baseline, then layer a target96 (`02`).978. Protect exact-match intent from PMax with brand exclusions plus a tight exact-match brand campaign98 (`07`).999. Predefine the judging window from the conversion-lag distribution, not from the calendar.10010. Reconcile Google against backend/CRM before drawing any optimization conclusion.101102For API launch: build the full mutate graph, run `validate_only=true`, create everything **PAUSED**,103then enable deliberately. A successful read proves nothing about write access.104105## Diagnose in order106107```text108eligibility/policy/billing -> delivery -> auction -> click quality -> landing continuity109-> conversion tracking -> business value -> attribution110```111112- **No spend**: status, then Lost IS(rank) vs Lost IS(budget), then bid-strategy ceiling, then113 targeting, then **negative keyword conflicts**, then billing.114- **High CPA**: decompose `CPA = CPC / CVR` and trend each separately — different causes, different115 fixes. Then check change history and the Aug-17 enforcement.116- **Impressions collapsed**: disapproval sweep, budget, tightened target, then **market-level supply**117 before concluding it is account-specific.118- **Google vs backend mismatch**: enumerate the causes in `06`. A 20–30% Ads/GA4 variance is expected.119- **Restriction**: identify the exact track (egregious / strike / limited serving) before responding —120 the correct action differs completely (`09`).121122## Guardrails123124- **Quality Score is not an auction input** and Ad Strength is not used in the auction. Neither is a125 KPI. Optimizing toward them directly is wasted work.126- **Exact match is not literal.** Negatives get no close variants. Both surprise people constantly.127- **Only an exact-match keyword guarantees Search keeps a query from PMax.**128- A quarter to half of click volume has no visible search term. The report you see is systematically129 more flattering than reality.130- Daily budget is an average: up to 2× on a day, capped at 30.4× monthly.131- Benchmarks size a test. They are never targets.132- **Google's defaults are set in Google's interest**, not the advertiser's — Search Partners, Display133 expansion, presence-or-interest, auto-apply, auto-generated assets. Audit each deliberately.134- Never accept a budget recommendation without computing cost per additional conversion. Google does135 not lower a budget it raised.136- Do not chase optimization score at campaign level — within one account it predicts nothing.137- System User and OAuth credentials are bearer secrets. Never expose them in chat, URLs, screenshots,138 repos, or logs.139140## Output141142Lead with the decision. Include the evidence level and assumptions, the exact action at the correct143level, the measurement window derived from conversion lag, stop/rollback conditions, and the remaining144uncertainty. Use cases as mechanism analogies, never as outcome promises.145146For regulated verticals, verify current Google policy and local law. Cloaking, post-suspension147re-entry, and review-layer filters are Circumventing systems (egregious, cascade). This skill does148not own that lane — operational grey execution is `google-grey-ops/05`.