Inside the Search Query Bleed Engine
Every metric in your Search Query Bleed audit is derived from documented formulas. This page explains query waste rate calculation, match type waste attribution, keyword expansion rate, Human vs AI CPA comparison, and concentration ratio — with exact thresholds for every verdict.
Jump to metric
Data Sources
read-only OAuth · no campaign changes everAll data is read via Google Ads API and GA4. Derived intelligence tables are pre-computed in our pipeline before your audit runs.
Google Ads API — Search Terms
google_ads_search_terms_historical
Search term text, cost, clicks, conversions for waste and query length analysis
Google Ads API — Matched Keywords
google_ads_search_terms_matched_keywords
Search term to keyword mapping with match type for expansion rate and control vs AI CPA
Google Ads API — Keywords Performance
google_ads_keywords_performance
Quality Score per keyword for QS vs expansion correlation
Google Ads API — Campaign Performance
google_ads_campaign_performance
Campaign-level spend and impression share for budget reallocation
Google Ads API — Hourly Pulse
google_ads_account_pulse_hourly
Hourly clicks, cost, conversions for hourly bleed pattern analysis
Derived Intelligence — Waste Management
waste_management_intelligence_daily
Pre-classified QUERY waste category with recovery potential per campaign
Derived Intelligence — Search Terms
search_terms_intelligence_daily
Negative candidate flags, recommendations, and match quality scores
Query Waste Rate
Percentage of search spend going to zero-conversion queries
Total query waste from waste_management_intelligence_daily (WHERE waste_category = 'QUERY') divided by total search spend from search_terms_historical. The intelligence layer pre-classifies waste at the campaign level with recovery_potential per category.
Why this matters: Above 30% means the problem is too large for negative keywords alone — the account needs structural match type changes. Below 15% is healthy monitoring territory. The rate normalizes the waste figure so you can compare across accounts of different sizes.
In plain English: We add up all the money spent on search terms that got zero conversions, then divide by total search spend. The result is the percentage of your search budget that produced nothing — no leads, no sales, no engagement.
Match Type Waste Attribution
Which match type is responsible for the waste?
A proportional allocation query: campaign-level waste from the intelligence layer is distributed across match types based on each match type's cost share within that campaign. This avoids requiring waste classification at the individual search term level (which the intelligence layer doesn't store).
Why this matters: Broad match dominating the waste chart is a structural problem. Exact match showing waste reveals Google's close-variant expansion. Phrase match waste indicates targeting specificity gaps. Each diagnosis requires a different fix path.
In plain English: We can't directly measure waste per match type — so we use a smart workaround: we know each campaign's total waste, and we know how much each match type spent in that campaign. We distribute the waste proportionally. If broad match is 70% of a campaign's spend and the campaign wastes $1,000, broad match gets attributed $700 of that waste.
Keyword Expansion Rate
How many unique queries does each keyword trigger?
From search_terms_matched_keywords: COUNT(DISTINCT search_term) per matched_keyword_text. Keywords triggering 5+ unique queries are included. The waste percentage per keyword is the cost of zero-conversion queries divided by total keyword cost.
Why this matters: A keyword triggering 50+ unique queries with high waste means Google interprets it so broadly that most matched queries are irrelevant. The expansion rate identifies which specific keywords are the source of the bleed — not just that bleed exists, but WHERE it originates.
In plain English: For each keyword in your account, we count how many different search queries it triggered. A keyword like 'shoes' might trigger 200 different searches — from 'shoe repair' to 'horseshoe'. The more unique queries, the broader Google interprets your keyword. High expansion + high waste = that keyword is too generic.
Human Controlled vs AI Expansion CPA
The definitive performance comparison by match type
All search traffic split by search_term_match_type into two buckets: Human Control (EXACT, PHRASE) and AI Expansion (BROAD, AUTO, SMART_MATCH). CPA calculated per bucket. The gap quantifies the premium you pay for the volume that broad match provides.
Why this matters: If AI expansion CPA is 2x human CPA, you're paying a 100% premium for every conversion from broad match. Whether that volume justifies the premium is a strategic decision — but most accounts don't know the premium exists until they see this comparison.
In plain English: We separate all your search clicks into two groups: keywords you deliberately chose (exact and phrase match) vs keywords Google expanded into (broad and auto match). Then we compare cost-per-conversion. If Google's expansion costs 2x more per conversion, the extra volume comes at a steep price.
Quality Score vs Expansion Rate
Low QS keywords expand more aggressively into junk
Cross-join between keyword expansion data (from matched_keywords) and Quality Score data (from keywords_performance). When a keyword has low QS AND high expansion, Google considers your ads less relevant to that keyword yet still matches it to many queries — compounding the irrelevance with each expansion.
Why this matters: This reveals a structural paradox: the keywords Google rates as least relevant get expanded to the most queries. Each expansion degrades relevance further, driving up CPCs. Low QS + broad expansion = paying a premium for irrelevant traffic.
In plain English: We combine two data points per keyword: Google's quality rating (Quality Score) and how many search queries the keyword triggers. The worst combination is a low quality score AND high expansion — it means Google thinks your ads are a poor match, yet keeps showing them to more and more different searches.
Waste Concentration Ratio
Can 20 negative keywords fix most of the problem?
Total zero-conversion query cost ranked descending, top 20 summed, divided by total waste. Above 60% means the waste is concentrated in a small number of high-cost terms — a short negative keyword list recovers the majority. Below 40% means waste is long-tail — structural match type changes needed.
Why this matters: This changes the fix strategy entirely. Concentrated waste = 20 negatives + 10 minutes = 60% recovery. Long-tail waste = match type restructuring + keyword consolidation = weeks of work. Knowing which scenario you face determines the project scope.
In plain English: We rank all wasteful search terms by cost, take the top 20, and calculate what percentage of total waste they represent. If the top 20 account for 60%+ of all waste, you can fix most of the problem with a short negative keyword list. If they account for less than 40%, the waste is spread across thousands of small terms and you need structural changes.
Negative Keyword Candidate Selection
How the intelligence layer identifies terms to block
From search_terms_intelligence_daily WHERE is_negative_candidate = TRUE. The intelligence layer pre-flags terms using multiple signals: zero conversions, cost above account average, pattern matching against known non-commercial intent. Priority is determined by cost relative to the average wasteful query cost.
Why this matters: Manual negative keyword review is subjective and time-consuming. The intelligence layer applies consistent criteria at scale — every term in the list has been verified against the same thresholds. Priority ordering ensures the operator works top-down for maximum impact per minute spent.
In plain English: Our intelligence engine scans every search term and flags the ones that should be blocked. It uses three criteria: zero conversions, cost above average, and intent patterns. Each flagged term gets a priority: HIGH (costs 2x+ the average waste), MEDIUM (above average), or LOW (below average).
Query Length Analysis
Longer queries = more intent = less waste
All search terms grouped by word count (using ARRAY_LENGTH(SPLIT(search_term, ' '))). CVR and waste percentage calculated per word-count group. Nearly universally, 1–2 word queries have the highest waste because intent is unknowable — 'shoes' matches everything from 'shoe repair' to 'horseshoe'.
Why this matters: This analysis validates the match type problem from a completely different angle. If 1–2 word queries have 60% waste while 4+ word queries have 10%, the data proves that broader, shorter queries are structurally wasteful. It's not about individual bad terms — it's about query specificity.
In plain English: We group all search terms by how many words they contain and compare conversion rates. One-word searches almost always waste the most because they're too vague. Four-word searches like 'buy red running shoes size 10' convert much better because the user knows exactly what they want.
Proprietary notice: The methodology, scoring models, waste classification logic, and recovery projections are proprietary to ClickCatalyst Digital and provided for informational purposes only. Results are subject to standard market volatility. Recovery projections are estimates, not guarantees. Contact us within 14 days if any metric appears inaccurate.
Also worth reading
How to Read Your Search Query Bleed Report →
Every section explained with exact action steps
See these metrics applied to your account
Run My Free Search Query Bleed Audit