google-ads-search-analysis
Skill15 starsChanged 37 days agoMITView on GitHub
Use when analyzing Google Ads Search campaigns: Q1–Q5 query classification, CPC inflation diagnosis, rank/budget pressure, decision matrix, scaling prerequisites.
In this repository61 other files it gives its agents.
- access-and-permissionsSkill
- accounts-and-connectionsSkill
- ad-brief-generatorSkill
- affiliate-marketingSkill
- analyse-creativeSkill
- automate-with-agentsSkill
- brief-creativeSkill
- build-reportsSkill
- clean-wasted-spendSkill
- competitor-ad-intelligenceSkill
- creative-psychology-hooksSkill
- creative-researchSkill
- diagnose-performanceSkill
- email-marketingSkill
- ga4-source-of-truthSkill
- get-startedSkill
- gomarble-skills-creative-strategistsSkill
- gomarble-skills-ecommerce-brandsSkill
- gomarble-skills-google-ads-auditSkill
- gomarble-skills-meta-ads-auditSkill
- gomarble-skills-saas-companiesSkill
- google-ads-create-master-skillSkill
- google-ads-depth-of-analysisSkill
- google-ads-guardrailsSkill
- google-ads-keywordplannerSkill
- google-ads-pmax-evaluationSkill
- google-ads-pmax-scalingSkill
- google-ads-search-executionSkill
- google-ads-shoppingSkill
- google-ads-tool-fundamentalsSkill
- google-impression-shareSkill
- google-pmax-pulseSkill
- google-search-auditSkill
- google-search-term-auditSkill
- launch-campaignsSkill
- linkedin-adsSkill
- manage-campaignsSkill
- meta-ads-auditSkill
- meta-agent-operationsSkill
- meta-create-master-skillSkill
- meta-creative-analysisSkill
- meta-creative-fatigue-detectionSkill
- meta-creative-strategySkill
- meta-custom-event-interpretationSkill
- meta-daily-optimizationSkill
- meta-depth-of-analysisSkill
- meta-guardrailsSkill
- meta-performance-analysisSkill
- meta-tool-fundamentalsSkill
- microsoft-adsSkill
- organic-socialSkill
- own-creative-diagnosisSkill
- research-competitorsSkill
- search-console-master-skillSkill
- shift-budgetSkill
- shopify-order-disciplineSkill
- tiktok-adsSkill
- tiktok-create-master-skillSkill
- winning-ads-engineSkill
- winning-ads-orchestratorSkill
- The first 60 shown.
The file
Show its rules and text
We split this skill into the rules it gives an agent
14 rules. About 0 are common, 12 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈12
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 21
Ask user for target CPA (or target ROAS for ecommerce).
- Distinctive: line 93
IS Lost (Rank): If majority Q1, CPA ≤ target, Rank Pressure HIGH → increase bids 5–10% or improve ad relevance.
- Distinctive: line 95
IS Lost (Budget): If CPA stable, Q1–Q3 share ≥ 60%, Budget Pressure HIGH → increase budget 10–20%.
- Distinctive: line 97
Top/Absolute Top: Use only on Q1 queries. If CVR at Top ≥ 1.15× rest → defend position.
- Very specific: line 103
When CPC is increasing (compare WoW per tool-fundamentals → CPC trend WoW), identify which case applies:
- Distinctive: line 123
If CPC rising faster than CVR → false scale signal.
- Distinctive: line 134
Add competitor terms as negatives in non-brand campaigns
- Distinctive: line 136
Competitor campaigns: Default state is OFF. Enable only if CPA ≤ 1.2× target AND Rank Pressure = LOW.
- Distinctive: line 142
Never increase budget to fix low IS without classifying queries first
- Distinctive: line 143
Never increase bids with Q4/Q5 terms present
- Distinctive: line 144
Never chase Absolute Top without CVR proof
- Distinctive: line 145
Never let Broad match dominate auction signals
- Distinctive: line 146
Never increase bids AND budget simultaneously
- Very specific: line 160
If changes need to be executed, read the google-ads-search-execution skill for tool parameters and implementation details.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
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-fundamentalsand 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:
- 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'. - Search terms:
search_term_view.search_term, impressions, clicks, cost, conversions, conversion_value. Sort by cost DESC, limit 200. - 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. - CPC trend: avg CPC for current 7 days vs prior 7 days (two queries with different
DURINGclauses; compute WoW delta locally pertool-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)
- Prune Q4/Q5 queries
- Reclassify remaining queries
- Recompute auction pressure
- Make bid/budget moves
- 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.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

