Skip to content
Back to skills

Google Ads Search Analysis

ASecurity

Use when analyzing Google Ads Search campaigns: Q1–Q5 query classification, CPC inflation diagnosis, rank/budget pressure, decision matrix, scaling prerequisites.

  • 15 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
content-marketinggorailsperformance

Works with

  • cli

Security analysis

A100/100

Scanned November 7, 2026

npx -y skills add gomarble-ai/marketing-agent --skill google-ads-search-analysis --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Google Ads Search Analysis?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Google Ads Search Analysis
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gomarble-ai-google-ads-search-analysis/badge)](https://www.skillsdirectory.com/skills/gomarble-ai-google-ads-search-analysis)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: google-ads-search-analysis
description: "Use when analyzing Google Ads Search campaigns: Q1–Q5 query classification, CPC inflation diagnosis, rank/budget pressure, decision matrix, scaling prerequisites."
metadata:
  source: "prompts/skills/google_ads/search-analysis"
---

# Google Ads Search — Analysis & Optimization

> Metric definitions (CPA, ROAS, CVR, CPC, micros conversion, CPC trend formulas, Smart Bidding minimums, scaling cap) live in `google_ads/tool-fundamentals` and auto-load with this skill. Do NOT redefine them here. This skill is the workflow: classify queries → diagnose auction pressure → decide action.

## Data Requirements

Pull these using `google_ads_run_gaql`:

1. **Campaign auction metrics**: `metrics.search_impression_share`, `metrics.search_rank_lost_impression_share`, `metrics.search_budget_lost_impression_share`, `metrics.search_top_impression_percentage`, `metrics.search_absolute_top_impression_percentage`, `metrics.average_cpc`, `metrics.cost_micros`, `metrics.conversions`, `metrics.conversions_value`, `metrics.clicks`, `metrics.impressions`. Filter: `campaign.advertising_channel_type = 'SEARCH'`, `LAST_30_DAYS`, `campaign.status = 'ENABLED'`.
2. **Search terms**: `search_term_view.search_term`, impressions, clicks, cost, conversions, conversion_value. Sort by cost DESC, limit 200.
3. **Keyword-level auction**: keyword text, match type, keyword IS, IS Lost (Rank), avg CPC, conversions, cost from `keyword_view`. Sort by cost DESC, limit 200.
4. **CPC trend**: avg CPC for current 7 days vs prior 7 days (two queries with different `DURING` clauses; compute WoW delta locally per `tool-fundamentals → CPC trend WoW`).

Ask user for **target CPA** (or target ROAS for ecommerce). Default: use historical 30-day average.

---

## Step 1: Query Classification (Q1–Q5)

Classify each search term by performance:

| Tier | Name | Condition |
|------|------|-----------|
| **Q1** | Profitable | Conversions ≥ 2, OR CPA ≤ target, OR ROAS ≥ target |
| **Q2** | Promising | Conversions = 0 AND cost < 0.5× target CPA AND no Q5 signals |
| **Q3** | Unproven | Conversions = 0 AND cost between 0.5×–1× target CPA |
| **Q4** | Losing | Cost ≥ 1× target CPA with 0 conversions, OR CPA ≥ 1.5× target, OR ROAS ≤ 0.7× target |
| **Q5** | Invalid | Query contains: free, cheap, diy, how to, job, salary, course, pdf, meaning, used, repair |

**Q5 terms are eliminated regardless of cost.** Calculate spend share per tier.

---

## Step 2: Auction Pressure Classification

### Rank Pressure

| Rank Pressure = HIGH | if ANY true |
|---------------------|-------------|
| IS Lost (Rank) ≥ 30% | |
| Search IS ≤ 50% AND IS Lost (Rank) > IS Lost (Budget) | |
| Top of Page Rate ≤ 60% on Q1 queries | |
| Absolute Top ≤ 20% on Q1 queries | |

| Rank Pressure = LOW | if ALL true |
|--------------------|-------------|
| IS Lost (Rank) ≤ 20% | |
| Top of Page Rate ≥ 70% | |
| Absolute Top ≥ 30% on Q1 queries | |

### Budget Pressure

| Budget Pressure = HIGH | if ALL true |
|-----------------------|-------------|
| IS Lost (Budget) ≥ 20% | |
| IS Lost (Budget) > IS Lost (Rank) | |
| CPA ≤ target CPA | |
| ≥ 60% of spend from Q1–Q3 | |

| Budget Pressure = LOW | if ANY true |
|----------------------|-------------|
| IS Lost (Budget) < 10% | |
| CPA > target CPA | |
| Q4 + Q5 spend ≥ 25% | |

---

## Step 3: Decision Matrix

### Primary Action Table

| Query Mix | Rank Pressure | Budget Pressure | Action |
|-----------|--------------|-----------------|--------|
| Q1-heavy | Low | High | Increase budget 10–20% |
| Q1-heavy | High | Low | Increase bids 5–10% OR improve ad relevance |
| Q1-heavy | High | High | Fix rank first, then budget |
| Q1-heavy | Low | Low | Hold — no changes needed |
| Q2–Q3 heavy | Low | High | Limited budget test |
| Q4+ present | High | Any | Cap or cut spend |
| Q5 present | Any | Any | Negate immediately |

### Metric-Specific Logic

**Search IS**: Low IS alone means nothing. Only act if Q1 share ≥ 50% AND IS Lost (Rank or Budget) explains it.

**IS Lost (Rank)**: If majority Q1, CPA ≤ target, Rank Pressure HIGH → increase bids 5–10% or improve ad relevance. If CPA > target → do NOT raise bids, instead tighten queries (promote Q1 to Exact, kill Q3/Q4 leakage).

**IS Lost (Budget)**: If CPA stable, Q1–Q3 share ≥ 60%, Budget Pressure HIGH → increase budget 10–20%. Otherwise fix queries first.

**Top/Absolute Top**: Use only on Q1 queries. If CVR at Top ≥ 1.15× rest → defend position. No CVR delta = ego tax, ignore.

---

## Step 4: CPC Inflation Diagnosis

When CPC is increasing (compare WoW per `tool-fundamentals → CPC trend WoW`), identify which case applies:

| Symptom | Root Cause | Action |
|---------|-----------|--------|
| CPC ↑ AND IS Lost (Rank) ↑ | Competition increased | Bid increase allowed ONLY if CPA ≤ target |
| CPC ↑ AND new Q4/Q5 terms appearing | Match type leakage | Add negatives, tighten match types |
| CPC ↑ AND CTR ↓ | Ad relevance degraded | Improve ad copy, NOT bids |

**Only Case 1 (competition) justifies bid increases.** Cases 2 and 3 require query or creative fixes.

---

## Step 5: Scaling Prerequisites

Scale ONLY if ALL true:
- Q1 queries isolated (Exact or tight Phrase match)
- CPA stable or improving over 14+ days
- IS Lost (Budget) ≥ 20%
- CPC WoW% increase < CVR WoW% increase (efficiency improving faster than costs)

If CPC rising faster than CVR → false scale signal. Do not increase budget.

Scaling step caps come from `tool-fundamentals → Scaling step cap` and `google-ads-guardrails`.

---

## Step 6: Competitor & Brand Logic

**Brand defense** (when brand CPC ↑, Absolute Top ↓, competitor overlap ↑):
- Raise bids only on exact-match brand terms
- Tighten match types on brand campaigns
- Add competitor terms as negatives in non-brand campaigns

**Competitor campaigns**: Default state is OFF. Enable only if CPA ≤ 1.2× target AND Rank Pressure = LOW. Otherwise pause.

---

## Prohibitions

- Never increase budget to fix low IS without classifying queries first
- Never increase bids with Q4/Q5 terms present
- Never chase Absolute Top without CVR proof
- Never let Broad match dominate auction signals
- Never increase bids AND budget simultaneously

## Weekly Execution Order (immutable)

1. Prune Q4/Q5 queries
2. Reclassify remaining queries
3. Recompute auction pressure
4. Make bid/budget moves
5. Fix ad relevance

---

## Next Steps

If changes need to be executed, read the `google-ads-search-execution` skill for tool parameters and implementation details.

Output must include: query mix breakdown with spend shares, pressure diagnosis with IS metrics, CPC trend analysis with root cause, recommended actions in execution order, expected 7-day impact.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.