Skip to main content

google-ads

Google Ads expertise — read/measure via the google-ads-open CLI + REST :mutate deploy, signal-first architecture (Hagakure, brand isolation, intent ladder, 5-pillar budget), Performance Max control + Moran feeder, Smart Bidding migration ladder, Enhanced Conversions + Consent Mode v2 + GCLID-to-CRM, broad-match-era keywords + n-gram mining, AI Max for Search, RSA/YouTube creative, policy/reinstatement. Ethical scores (whitehat/grayhat/blackhat 1-10) from the Google Ads Atlas 2026.

Zur Installation springen

Quellinformationen

Repository
DojoCodingLabs/GTM-Engineering-Command-Center
Letzte Quellaktivität
15. Juni 2026 um 04:18
Erkannte Sprache von SKILL.md
Englisch
Sterne
2
Forks
0

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
10 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
google-ads
description
Google Ads expertise — read/measure via the google-ads-open CLI + REST :mutate deploy, signal-first architecture (Hagakure, brand isolation, intent ladder, 5-pillar budget), Performance Max control + Moran feeder, Smart Bidding migration ladder, Enhanced Conversions + Consent Mode v2 + GCLID-to-CRM, broad-match-era keywords + n-gram mining, AI Max for Search, RSA/YouTube creative, policy/reinstatement. Ethical scores (whitehat/grayhat/blackhat 1-10) from the Google Ads Atlas 2026.
# Google Ads API & Campaign Management In 2026 Google Ads is a signal-architecture discipline, not keyword management (Atlas Part I). The gap between an average advertiser and a sophisticated operator is not setup, bids, or even creative — it is the quality of the conversion truth fed back into the machine. Hyper-granular legacy Search structures are now a hidden cost; the winners run consolidated structures, broad match paired with Smart Bidding, and an obsessive focus on offline conversion imports, Enhanced Conversions, Customer Match, and value-based bidding. For info products and SaaS this matters more than for e-commerce, because the revenue event sits several stages downstream of the click — optimize to a proxy event (form fill, free trial, webinar reg) without sending the real outcome back and Google will find you an endless supply of junk. ## Default Tooling Execution is **HYBRID**. There is no first-party CLI that mutates Google Ads, so reads and writes use different paths — always be explicit which one a step is on. - **Read / measure / audit → `google-ads-open-cli`** (a Node 18+ CLI, **READ-ONLY**). Full command reference: `rules/gads-cli.md`. Install `npm install -g google-ads-open-cli`; output is pretty JSON (`--format compact` for one line). - **Campaign WRITES / deploys → Google Ads REST `:mutate` endpoints via `curl`.** No first-party CLI mutates; every create/update/delete is a `POST …:mutate` call against `googleads.googleapis.com/vXX/`. **Use the CLI for:** account hierarchy, customers, campaigns/ad-groups/ads/keywords/negatives, audiences/user-lists, assets/extensions, conversion-actions, budgets, billing, change-status, all `*-stats` reporting, and raw GAQL (`query <id> "SELECT …"`). **Use REST `:mutate` for:** creating/updating/pausing campaigns, budgets, ad groups, RSAs, keywords, negatives, asset groups, audience signals, bid strategies, conversion actions, and offline conversion / Enhanced Conversion uploads. > **MONEY IS IN MICROS.** 1,000,000 micros = $1. Budgets are `amountMicros`; every stat `cost_micros ÷ 1e6` = dollars. This is the Google analog of Meta's "cents" trap — divide before you report, multiply before you mutate. > > **ALL campaign writes default to status `PAUSED`.** Launch is a separate, deliberate `:mutate`. ## The Five Laws of 2026 Google Ads From Atlas Part I — the operating system, not slogans. | # | Law | | :---- | :---- | | 1 | **Signal beats structure.** The account that feeds the cleanest conversion truth wins. Offline imports, Enhanced Conversions for Leads, and value-based bidding are the OS now — manual bid tinkering is a rounding error next to data quality. | | 2 | **Isolate brand or lie to yourself.** Mixed brand/non-brand inflates reported ROAS and mis-teaches the bidder. A dedicated brand campaign plus brand exclusions on every non-brand and automated campaign is non-negotiable. PMax backfills 10–42% of its reported conversions from your own brand if you let it. | | 3 | **PMax for lead gen is guilty until proven innocent.** Left alone it finds the cheapest, lowest-quality lead possible. Only CRM-stage feedback, exclusions, audience inputs, geo, and schedule controls make it honest. Low CPLs are a hypothesis to test against pipeline, never a result. | | 4 | **Browse surfaces shape demand; Search captures it.** Treat Demand Gen and YouTube like paid social, not watered-down Search. They need creative-led selection and low-friction offers. Forcing cold browse into a hard demo/application ask produces weak quality or policy trouble. | | 5 | **Automate selectively, never on a rep's say-so.** Adopt Smart Bidding, AI Max, and PMax only after signal hygiene is in place. Keep Max Clicks / exact / manual alive longer than a rep would prefer if the data integrity isn't there. Use reps for product availability, not budget allocation. | ## How to Read the Ethical Scores Every tactic in this skill carries a classification and a 1–10 score (Atlas judgment, not Google's labels): - **WHITEHAT (8–10)** — fully compliant, sustainable, no deception. Safe to scale; the backbone of a durable account. - **GRAYHAT (4–7)** — exploits gaps, auction mechanics, or unenforced edges. Allowed or unpoliced but ethically ambiguous; watch for policy drift and reputational cost. - **BLACKHAT (1–3)** — violates policy, deceives users, or causes harm. Documented for recognition only — never deploy. High suspension and consumer-harm risk. This skill documents every tactic neutrally with its score; the operator decides. It does NOT inherit the `gtm-atlas` hub's "only recommend Tier 1–2" default. ## The Cross-Surface Map Each Google surface plays a distinct funnel role. Confusing those roles is the most common and most expensive mistake (Atlas Part I). | Surface | Funnel role | Good at | 2026 risk | | :---- | :---- | :---- | :---- | | Search (brand) | Capture, defend | Highest ROAS, protects margin | Letting PMax cannibalize it | | Search (non-brand) | Capture intent | High-intent demand, evaluation queries | Broad-match waste without negatives | | Performance Max | Capture + light prospecting | Volume, cross-inventory reach | Junk leads, brand backfill, opacity | | AI Max for Search | Enhanced capture | Query expansion, dynamic copy & URLs | Off-brand expansion, lost control | | Demand Gen | Create & shape demand | Social-style browse reach | Treated like Search; Display spam | | YouTube | Warm, pre-qualify | Lowers downstream Search CPA | Last-click ROAS misjudges it | | Display | Prospect, remarket | Cheap reach | Spam leads in lead gen | | Shopping | Capture (physical goods) | Product-feed intent | Mostly ineligible for digital goods | | App | Acquire app users | Install & in-app scale | Optimizing to installs, not value | ## Campaign Hierarchy ``` Google Ads Account (customer ID: XXX-XXX-XXXX) └── Campaign (campaign_type, bidding_strategy, budget) └── Ad Group (keywords, targeting, CPC bids) └── Ad (responsive search ad, responsive display ad, etc.) └── Extensions (sitelinks, callouts, structured snippets) ``` Reads traverse this with `account-hierarchy`/`campaigns`/`ad-groups`/`ads`. Writes hit `POST /customers/{id}/<resource>:mutate`. PMax replaces ad groups with **asset groups**: ``` Performance Max Campaign └── Asset Group (equivalent to ad group) ├── Headlines (3-15, max 30 chars each) ├── Long Headlines (1-5, max 90 chars) ├── Descriptions (2-5, max 90 chars) ├── Images (min 3: landscape 1200x628, square 1200x1200, portrait 960x1200) ├── Logos (min 1: square 1200x1200, landscape 1200x300) ├── Videos (optional but recommended, 10s+ horizontal) ├── Final URL └── Audience Signals (your targeting hints, not restrictions) ``` ## Account Architecture Isolate distinct intent lanes so incompatible journeys are not force-fit into one bid target. Build at minimum four lanes, plus a fifth for SaaS (Atlas Part II): - **Brand** — defends your own name at high ROAS / low CPC; isolated from everything. - **Non-brand high-intent** — outcome, mechanism, and evaluation queries with real purchase intent. - **Broad discovery & expansion** — broad match + Smart Bidding to find queries manual research misses, fenced by aggressive negatives. - **Competitor & conquesting** — comparison/alternative queries in their own campaign, never sharing budget with core non-brand. - **SaaS only: company-size / use-case clusters** — SMB self-serve demo queries behave nothing like enterprise RFP queries; bid separately. Steady-state budget split (the five-pillar funnel matrix): | Pillar | Budget share | Bidding & match | | :---- | :---- | :---- | | 1. Brand protection | 5–7% | Manual CPC, exact match | | 2. High-intent product | 50–60% | tCPA, phrase + broad match | | 3. Competitor conquest | 15–20% | tCPA, exact + phrase match | | 4. Problem-aware | 10–15% | Maximize Conversions, broad match | | 5. Remarketing & nurture | 10% | Maximize Conversions, audience lists | → `rules/account-architecture.md` ## Smart Bidding Migration Ladder Climb deliberately; each rung is a data prerequisite for the next. Do not jump to tROAS without value data (Atlas Part IV). ``` Manual CPC └─→ Maximize Clicks (gather traffic + early conversion data) └─→ Maximize Conversions (volume-stable, no value data yet) └─→ tCPA (~30 conv/mo per campaign) └─→ Maximize Conversion Value └─→ tROAS (~60 days of value data + ≥2 distinct conversion values) ``` When you set a target, **start at 70–80% of the trailing achieved target** (looser CPA / lower ROAS than current actuals), then tighten — set it at the goal on day one and the bidder chokes volume. → `rules/smart-bidding.md` ## Conversion Tracking & Privacy - **Enhanced Conversions for Leads** — SHA-256 hashed first-party identifiers; target a **40–65% match rate** (advance only above 40%). - **Consent Mode v2** — the four signals: `ad_storage`, `analytics_storage`, `ad_user_data`, `ad_personalization` (Advanced mode for conversion modeling). - **GCLID → CRM offline loop** — capture GCLID at click, store on the lead, import the closed-won outcome back via `offlineConversion`/`conversionAdjustment` `:mutate` so the bidder optimizes to revenue, not form fills. → `rules/conversion-tracking.md` ## Performance Max Control PMax is **guilty until proven innocent** for lead gen — left alone it harvests the cheapest junk lead it can find. Distinguish the three control mechanisms: - **Brand exclusions** — account-level lists that stop PMax backfilling conversions from your own brand searches (verify branded share trends toward zero). - **Negatives** — query/placement exclusions (account-level negative lists, campaign negatives). - **Restrictions** — audience signals, geo, schedule, URL/feed constraints that shape where PMax spends. **Moran feeder:** starve PMax of branded and easy traffic upstream (dedicated brand + non-brand Search capture it first), so PMax is forced to do genuine prospecting on what's left. → `rules/performance-max.md` ## Keywords in the Broad-Match Era Broad match **wins when the conversion signal is clean** and bleeds you when it isn't — it inherits the quality of your Smart Bidding feedback. The search-terms report is degrading, so **mine n-grams**: tokenize search terms, rank waste by spend-with-no-conversion, and push losers to negatives weekly (daily on high spend). In the AI era, **exact no longer fences broad** — AI Overviews and close-variant matching mean an exact keyword can still trigger on loosely related queries, so negatives do the fencing exact used to. → `rules/keywords-match-types.md` ## AI Max for Search Cautious optimism. AI Max layers query expansion, dynamic copy, and dynamic URLs onto Search. The base rate is 84% neutral-or-negative, so **partial adoption is the worst outcome** — half-on, no guardrails produces off-brand drift with none of the upside. Run it as a **contained, incrementally-measured experiment**: one well-structured campaign, all three features on, full guardrails (brand restrictions, URL exclusions, text guidelines), evaluated at the account level. Kill it if account-level CPL or CAC worsens after 2–4 weeks. → `rules/ai-max-search.md` ## Creative Strategy - **RSA** — supply the full asset pool: **15 headlines, 4 descriptions**; pin sparingly, include the keyword theme in headlines for relevance. - **YouTube** — hybrid AI hook (AI-generated open) into a 2–3 minute human creative; tCPA-seed around $8 with 15% increments. - **SaaS** — demo-first: lead with the product in motion, not a talking-head promise. → `rules/creative-assets.md` ## SaaS & Info-Product Motions **SaaS — three motions:** self-serve, free-trial, demo-led. **Info products — three funnel shapes:** webinar funnel, paid-community trial, tripwire/book. The unifying rule: **bid to SQL or booked-call, not form-fill or application.** A webinar registration, free-trial start, or cheap form fill is not a sale — optimize to the downstream truth via offline imports or Google will flood you with proxy events that never convert. → Atlas Parts X (info products) & XI (SaaS) ## Cross-Surface Orchestration & Incrementality Phase budget by spend level (Atlas Part XIV) — early money concentrates almost entirely on bottom-of-funnel capture before expanding into demand creation: - **Phase 1 (≤ $10k/mo)** — ~90% BOFU Search (brand + high-intent non-brand). Fix measurement first. - **Phase 2 ($10–30k/mo)** — ~70/30 Search / PMax once downstream feedback keeps automation honest. - **Phase 3 ($30k+/mo)** — add YouTube / Demand Gen at 15–20% for demand creation. **Incrementality over attribution:** geo holdouts, Conversion Lift experiments, and MER/MMM, not last-click platform ROAS. Reject any platform-reported win that does not survive CRM or causal-lift scrutiny. ## Policy & Compliance Enforcement is industrial: Google ran **~39.2M account suspensions in 2024**. Trigger categories cluster around income/earnings claims, before-and-after, and sensitive verticals. Know the reinstatement framework before you scale anything risky, and never run multiple accounts to evade a suspension. → `rules/policy-compliance.md` ## The Ethical Matrix Every tactic in this skill is scored 1–10 inline. The full Unified Ethical Ranking Matrix — every documented tactic, its class, and its rationale in one table — is **Atlas Part XVI**. ## Implementation Playbook The staged sequence from Atlas Part XVII — do not skip ahead; measurement is the prerequisite for everything downstream. - **Stage 1 — Foundation (weeks 1–4):** fix measurement (Enhanced Conversions web + Leads, Consent Mode v2, GCLID→CRM; advance only above 40% match) → isolate brand (dedicated campaign + exclusions everywhere) → consolidate to thematic Hagakure, kill SKAGs, build negative lists. - **Stage 2 — Signal & bidding (weeks 4–12):** climb the bid ladder to SQL / purchase via offline imports → install the script stack (Mike Rhodes PMax script + n-gram analyzer; review search terms weekly, daily on high spend) → stabilize low-volume accounts with micro-conversion values. - **Stage 3 — Expansion (month 3+):** add demand creation (YouTube + Demand Gen) → run AI Max as a contained, guardrailed experiment evaluated at account level → prove incrementality (geo holdouts, lift experiments) before pouring in budget. ## Authentication `google-ads-open-cli` auth: `google-ads-open-cli auth login --developer-token=… --client-id=… --client-secret=…`, OR env vars `GOOGLE_ADS_ACCESS_TOKEN` / `GOOGLE_ADS_DEVELOPER_TOKEN` / `GOOGLE_ADS_LOGIN_CUSTOMER_ID`. Creds are stored at `~/.config/google-ads-open-cli/credentials.json`. REST `:mutate` and full OAuth env: ```bash GOOGLE_ADS_DEVELOPER_TOKEN=XXXXXXXXXX # From Google Ads API Center GOOGLE_ADS_CLIENT_ID=XXXXX.apps.google # OAuth client ID GOOGLE_ADS_CLIENT_SECRET=XXXXXX # OAuth client secret GOOGLE_ADS_REFRESH_TOKEN=1//XXXXXX # Long-lived refresh token GOOGLE_ADS_LOGIN_CUSTOMER_ID=XXX-XXX-XXXX # MCC account ID (if using manager) GOOGLE_ADS_CUSTOMER_ID=XXX-XXX-XXXX # Target ad account ``` **Exit handling (read CLI):** capture stderr. If non-zero and stderr matches `/auth|token|credential|unauthenticated|permission/i` → auth error, tell the operator to re-run `google-ads-open-cli auth login`. Otherwise → API error: back off and retry once. (This binary is NOT the Meta CLI — do not assume Meta's literal 0/3/4 exit codes.) **API rate limits:** - Basic access: 15,000 requests/day, 1,500 operations/mutate - Standard access: 100,000 requests/day - Reporting: 10 concurrent report requests - Mutate operations: max 5,000 operations per request ## Knowledge Base Full tactic detail lives in `knowledge/google-ads-atlas-2026.md` (18 Parts + Appendices A–D). Cite as "Atlas Part X". Read it when you need: - **Full tactic detail and execution steps** — any Part beyond the distillation here. - **Benchmarks** — Appendix A (CPC, CPL, CVR by vertical and SaaS stage; directional only). - **The ethical matrix** — Part XVI, the full Unified Ethical Ranking. - **Named-practitioner sources** — Appendix C (who said what, with attribution). ## Rules Reference - `rules/gads-cli.md` — `google-ads-open-cli` full read-only command reference (primary measurement tool) - `rules/account-architecture.md` — intent ladder, Hagakure consolidation, five-pillar budget, brand isolation - `rules/performance-max.md` — PMax control levers, brand exclusions vs negatives vs restrictions, Moran feeder - `rules/smart-bidding.md` — the migration ladder, 70–80% target rule, value-based bidding for low-volume - `rules/conversion-tracking.md` — Enhanced Conversions, Consent Mode v2, GCLID→CRM offline loop - `rules/keywords-match-types.md` — broad-match-era strategy, n-gram waste mining, negatives discipline - `rules/ai-max-search.md` — AI Max contained-experiment protocol and guardrails - `rules/creative-assets.md` — RSA asset construction, YouTube hooks, SaaS demo-first creative - `rules/policy-compliance.md` — enforcement triggers, reinstatement framework, cloaking (documented, not endorsed)
Auf GitHub ansehen