- name
- ads-keywords
- description
- Builds a complete, implementation-ready Google Ads keyword strategy — search intent mapping (informational/navigational/commercial/transactional), tightly-themed ad group architecture, match type recommendations, negative keyword lists, estimated CPC ranges, Quality Score optimization, and a launch checklist. Use when the user says "/ads keywords", "keyword research", "keyword strategy", "search campaign plan", "Google Ads keywords", "ad group structure", "negative keywords", or in FR "recherche de mots-clés", "stratégie mots-clés Google Ads", "structure groupes d'annonces", "mots-clés négatifs", "plan campagne search". Also callable as a subagent from /ads strategy.
# Google Ads Keyword Strategy
> **Portability note:** This skill is engine-only — it uses `WebFetch` + `WebSearch` and writes a local Markdown file. It has NO VPS/OmegaOS dependency and runs anywhere Claude Code runs.
## Skill Purpose
Build a complete, implementation-ready Google Ads keyword strategy from scratch. This skill maps search intent across the entire buyer journey, organizes keywords into tightly themed ad groups, recommends match types, builds comprehensive negative keyword lists, estimates CPC ranges by cluster, provides Quality Score optimization tips, and outputs a campaign structure with headline and description suggestions for every ad group. The output is detailed enough that an ad buyer can build the campaigns in Google Ads Manager without additional research.
## When to Use
- User runs `/ads keywords <url>`
- User asks for Google Ads keyword research, keyword strategy, or search campaign planning
- Called as a subagent from `/ads strategy` (the main orchestrator)
- User wants to launch or improve Google search campaigns
- User needs keyword grouping, negative keywords, or ad group architecture
## Input Requirements
- **Required:** A business URL to analyze
- **Optional:** Target location/geography, monthly budget, existing Google Ads data, specific products/services to focus on, competitor URLs
## Dynamic Workflow orchestration
This is multi-angle research (fan-out), not a single voice. Orchestrate as:
1. **Plan** — from the URL + optional inputs, fix the scope: geography, budget tier, focus products. Define the success rubric upfront (the Quality Checklist below IS the rubric).
2. **Parallel fan-out** — run these research units concurrently (they are file-disjoint, read-only):
- **U1 Business/market intel** (Step 1): WebFetch the site + WebSearch the industry.
- **U2 Intent harvesting** (Step 2): discover keywords across all 4 intent tiers.
- **U3 Competitive/CPC benchmarking** (Steps 1+6): competitor terms + industry CPC benchmarks.
- **U4 Negative-keyword surface** (Step 5): irrelevant-query clusters to exclude.
- Loop **U2** until-dry: keep harvesting until a search pass yields no net-new keywords AND the ≥40-keyword / 4-intent-tier floor is met.
3. **Adversarial verify (2-of-3)** — before synthesizing, falsify the draft from 3 independent lenses; accept a claim only if ≥2 agree:
- *Buyer lens:* would a real searcher in this market actually type this? Kill keywords that fail.
- *Ad-buyer lens:* is each ad group ≤5 keywords, single-intent, with valid char counts (H≤30, D≤90)? Are negatives preventing cross-group cannibalization?
- *Budget lens:* do CPC×volume cluster spends reconcile with the budget scenarios? Flag any estimate stated as fact rather than benchmark.
4. **Synthesize** — merge the verified units into the single `ADS-KEYWORDS.md` deliverable (Output Format below). The synthesis is YOUR judgment, not a paste of unit outputs.
Units sharing the same output file are serialized at the synthesis step (one writer per file).
### Step 1: Business & Market Intelligence
Fetch the business URL using `WebFetch` and extract:
| Data Point | Where to Find |
|---|---|
| Business name | Page title, logo, about page |
| Industry/category | Services, products, positioning |
| Products/services offered | Product pages, service pages, pricing page |
| Geographic focus | Service areas, locations, shipping scope |
| Price positioning | Pricing page, product prices, "starting at" text |
| Current SEO keywords | Meta titles, H1s, page URLs, blog topics |
| Value proposition | Hero section, tagline, about page |
| Competitor names | "Why choose us" sections, comparison pages |
| Customer language | Testimonials, reviews, FAQ content |
Run keyword research searches:
```
WebSearch: "[Business type]" Google Ads keywords
WebSearch: "[Industry]" high intent keywords
WebSearch: "[Product/service]" search terms people use
WebSearch: "[Business Name]" competitors Google Ads
WebSearch: "[Industry]" average CPC Google Ads 2025
WebSearch: site:[competitor URL] (to understand competitor positioning)
```
### Step 2: Search Intent Mapping
Map all discovered keywords into four intent categories:
```markdown
## Search Intent Map
### 1. Informational Intent (Top of Funnel — Awareness)
Users researching, learning, or exploring. Not ready to buy yet.
**Signal words:** how to, what is, why, guide, tips, best practices, examples, tutorial, learn
**Campaign role:** Brand awareness, content marketing, remarketing list building
**Bid strategy:** Low bids, target impression share, or skip if budget is tight
| Keyword | Est. Monthly Volume | Est. CPC | Competition | Notes |
|---|---|---|---|---|
| [keyword 1] | [volume range] | $[range] | Low/Med/High | [note] |
| [keyword 2] | [volume range] | $[range] | Low/Med/High | [note] |
| [keyword 3] | [volume range] | $[range] | Low/Med/High | [note] |
| [keyword 4] | [volume range] | $[range] | Low/Med/High | [note] |
| [keyword 5] | [volume range] | $[range] | Low/Med/High | [note] |
[...continue for 10-15 keywords]
### 2. Navigational Intent (Mid-Funnel — Consideration)
Users looking for a specific brand, product, or website. May be comparing options.
**Signal words:** [brand name], [product name], login, pricing, reviews, vs, compare, alternative to
**Campaign role:** Brand defense, competitor conquesting, comparison capture
**Bid strategy:** High bids on branded terms, moderate on competitor terms
| Keyword | Est. Monthly Volume | Est. CPC | Competition | Notes |
|---|---|---|---|---|
| [keyword 1] | [volume range] | $[range] | Low/Med/High | [note] |
| [keyword 2] | [volume range] | $[range] | Low/Med/High | [note] |
[...continue for 5-10 keywords]
### 3. Commercial Investigation Intent (Mid-to-Bottom Funnel)
Users actively comparing solutions before purchasing. High-value traffic.
**Signal words:** best, top, review, comparison, vs, alternative, which, recommended
**Campaign role:** Consideration capture, competitive differentiation
**Bid strategy:** Moderate-to-high bids, maximize conversions
| Keyword | Est. Monthly Volume | Est. CPC | Competition | Notes |
|---|---|---|---|---|
| [keyword 1] | [volume range] | $[range] | Low/Med/High | [note] |
| [keyword 2] | [volume range] | $[range] | Low/Med/High | [note] |
[...continue for 10-15 keywords]
### 4. Transactional Intent (Bottom of Funnel — Conversion)
Users ready to buy, sign up, or take action. Highest-value keywords.
**Signal words:** buy, order, hire, book, schedule, get quote, pricing, cost, near me, free trial, sign up, discount, coupon
**Campaign role:** Direct conversion, lead generation, sales
**Bid strategy:** Highest bids, target CPA or maximize conversions
| Keyword | Est. Monthly Volume | Est. CPC | Competition | Notes |
|---|---|---|---|---|
| [keyword 1] | [volume range] | $[range] | Low/Med/High | [note] |
| [keyword 2] | [volume range] | $[range] | Low/Med/High | [note] |
[...continue for 15-20 keywords]
```
### Step 3: Keyword Grouping Into Ad Groups
Organize keywords into tightly themed ad groups. Each ad group should contain **3-5 closely related keywords** that can share the same ad copy.
```markdown
## Ad Group Architecture
### Campaign: [Campaign Name — e.g., "Brand", "Non-Brand Core", "Competitor", "Long-Tail"]
**Campaign type:** Search
**Bidding strategy:** [Recommended strategy]
**Daily budget suggestion:** $[amount]
**Geographic targeting:** [Location]
---
#### Ad Group 1: [Theme Name]
**Intent:** [Informational / Commercial / Transactional]
**Theme:** [What unifies these keywords — e.g., "pricing queries", "comparison shoppers", "emergency need"]
| # | Keyword | Match Type | Rationale | Est. CPC |
|---|---|---|---|---|
| 1 | [keyword] | [Exact / Phrase / Broad] | [why this match type] | $[est.] |
| 2 | [keyword] | [Exact / Phrase / Broad] | [rationale] | $[est.] |
| 3 | [keyword] | [Exact / Phrase / Broad] | [rationale] | $[est.] |
| 4 | [keyword] | [Exact / Phrase / Broad] | [rationale] | $[est.] |
| 5 | [keyword] | [Exact / Phrase / Broad] | [rationale] | $[est.] |
**Ad Copy for This Ad Group:**
| Element | Version A | Version B |
|---|---|---|
| Headline 1 (30 chars) | [headline] ([count]) | [headline] ([count]) |
| Headline 2 (30 chars) | [headline] ([count]) | [headline] ([count]) |
| Headline 3 (30 chars) | [headline] ([count]) | [headline] ([count]) |
| Description 1 (90 chars) | [description] ([count]) | [description] ([count]) |
| Description 2 (90 chars) | [description] ([count]) | [description] ([count]) |
| Display Path 1 | [path] | [path] |
| Display Path 2 | [path] | [path] |
**Landing page recommendation:** [Where this ad group should send traffic and why]
---
#### Ad Group 2: [Theme Name]
[...repeat the same structure]
#### Ad Group 3: [Theme Name]
[...repeat]
[...continue for all ad groups — aim for 8-15 ad groups total across campaigns]
```
### Step 4: Match Type Strategy
```markdown
## Match Type Recommendations
### When to Use Each Match Type
| Match Type | Use When | Pros | Cons | Budget Impact |
|---|---|---|---|---|
| **Exact** [keyword] | High-intent, proven converters | Highest relevance, best CTR, lowest CPC waste | Limited reach, misses variations | Low waste, high ROAS |
| **Phrase** "keyword" | Core terms where word order matters | Balances reach and relevance, catches long-tail | Can match irrelevant queries with added words | Moderate waste, needs negatives |
| **Broad** keyword | Discovery, new keyword finding, large budgets | Maximum reach, finds new opportunities | Matches loosely related queries, needs heavy negative lists | Highest waste without optimization |
### Match Type Distribution Recommendation
**For new campaigns (first 30 days):**
| Match Type | % of Keywords | Purpose |
|---|---|---|
| Exact | 50% | Core high-intent terms — protect budget |
| Phrase | 35% | Capture variations and long-tail |
| Broad | 15% | Discovery — find new converting queries |
**After optimization (day 31+):**
| Match Type | % of Keywords | Purpose |
|---|---|---|
| Exact | 40% | Proven winners from search term reports |
| Phrase | 40% | Expanded reach on validated themes |
| Broad | 20% | Continued discovery with Smart Bidding |
### Match Type Progression Strategy
1. **Week 1-2:** Launch with exact and phrase only. Build baseline data.
2. **Week 3-4:** Review search term report. Add converting queries as exact match. Add non-converting queries as negatives.
3. **Month 2:** Introduce broad match on top-performing ad groups with Target CPA bidding.
4. **Monthly:** Harvest search term report. Graduate performing broad queries to phrase/exact. Add negatives for waste.
```
### Step 5: Negative Keyword List
```markdown
## Negative Keyword Lists
### Campaign-Level Negatives (apply to ALL campaigns)
These keywords should NEVER trigger your ads:
#### Job/Career Related
- jobs, careers, hiring, salary, interview, resume, glassdoor, indeed, linkedin
- [industry]-specific job terms: [list]
#### Educational/Research (exclude if not selling education)
- how to become, certification, degree, course, training, class, university, school
- tutorial, free course, pdf, download, template
#### DIY/Free Seekers (exclude if selling premium services)
- free, cheap, discount, coupon, promo code, deal, budget
- DIY, do it yourself, homemade, self, own
#### Unrelated Industries
- [list industry-specific irrelevant terms that share keywords with the business]
#### Competitor Brand Terms (exclude from non-brand campaigns)
- [competitor 1 name]
- [competitor 2 name]
- [competitor 3 name]
#### Geographic Exclusions (if targeting specific areas)
- [cities/states/countries outside service area]
---
### Ad Group-Level Negatives
Apply these to prevent ad groups from cannibalizing each other:
| Ad Group | Negative Keywords | Reason |
|---|---|---|
| [Ad Group 1] | [keywords to exclude] | [prevent overlap with Ad Group X] |
| [Ad Group 2] | [keywords to exclude] | [prevent overlap] |
| [Ad Group 3] | [keywords to exclude] | [prevent overlap] |
---
### Negative Keyword Discovery Process
Run these searches monthly to find new negatives:
1. **Search Term Report:** Review actual queries that triggered your ads. Add irrelevant ones as negatives.
2. **Google Keyword Planner:** Search your keywords and look for irrelevant related terms.
3. **Autocomplete audit:** Type each keyword into Google and note irrelevant autocomplete suggestions.
4. **Competitor analysis:** Search competitor brand terms + your keywords to find disambiguation needs.
```
### Step 6: CPC & Budget Estimation
```markdown
## CPC & Budget Estimates
### Estimated CPC by Keyword Cluster
| Cluster / Ad Group | Avg. Est. CPC | CPC Range | Monthly Volume (est.) | Monthly Spend (est.) | Intent Level |
|---|---|---|---|---|---|
| [Cluster 1] | $[avg] | $[low]-$[high] | [volume] | $[spend at 100% IS] | High |
Voir sur GitHub