Google Ads Quality Score: Install, Source and Security | FunnelSlayer

Google Ads Quality Score

Published by synter-media-ai in free-skills

No known issues5 installs

What this skill does

Analyze and improve Google Ads Quality Score components. Use when diagnosing high CPCs, improving Ad Rank, analyzing Expected CTR, Ad Relevance, and Landing Page Experience, or benchmarking QS by industry.

Add Google Ads Quality Score to your agent

Review the source and files first. When you are ready, copy the prompt instruction or use the CLI command supported by your environment.

Install with a prompt

Paste this into a compatible coding agent:

add this skill "google-ads-quality-score" from https://github.com/synter-media-ai/free-skills

Install with the CLI

Run this command in a controlled environment after reviewing the repository:

npx skills add https://github.com/synter-media-ai/free-skills --skill google-ads-quality-score

Skill instructions

Google Ads Quality Score Optimizer

Deep-dive into Google Ads Quality Score (QS) mechanics, component analysis, improvement playbooks, historical tracking, and impact on CPC and Ad Rank. Includes GAQL queries, industry benchmarks, and actionable optimization workflows.

Capabilities

  1. QS Component Analysis - Break down Expected CTR, Ad Relevance, and Landing Page Experience
  2. Improvement Playbooks - Step-by-step guides for each QS component
  3. Historical QS Tracking - Methodology for tracking QS changes over time
  4. CPC and Ad Rank Impact - Quantify the financial impact of QS changes
  5. GAQL Queries - Ready-to-use queries for QS analysis
  6. Industry Benchmarks - QS benchmarks by vertical for goal-setting

Quality Score Fundamentals

What is Quality Score?

Quality Score is a 1-10 diagnostic metric that estimates the quality of your ads, keywords, and landing pages. It's calculated at the keyword level and composed of three sub-components.

Important: QS is a diagnostic tool, not a direct input to the auction. The actual auction uses real-time signals that are more granular than the 1-10 QS score.

The Three Components

ComponentWeight (est.)What It MeasuresData Source
Expected CTR~39%Likelihood of ad being clickedHistorical CTR, adjusted for position
Ad Relevance~22%How well ad matches search intentKeyword-to-ad text relevance
Landing Page Experience~39%Post-click user experiencePage speed, content relevance, navigation

Each component is rated: Above Average, Average, or Below Average

QS to Component Mapping (Approximate)

QSExpected CTRAd RelevanceLanding Page
10Above AvgAbove AvgAbove Avg
9Above AvgAbove AvgAverage
8Above AvgAverageAbove Avg
7AverageAbove AvgAbove Avg
7Above AvgAbove AvgBelow Avg
6AverageAverageAbove Avg
6Above AvgAverageAverage
5AverageAverageAverage
4AverageBelow AvgAverage
4Below AvgAverageAverage
3Below AvgBelow AvgAverage
3AverageAverageBelow Avg
2Below AvgBelow AvgBelow Avg
1Below AvgBelow AvgBelow Avg

QS Impact on CPC and Ad Rank

Ad Rank Formula

Ad Rank = Max CPC Bid × Quality Score × Expected Impact of Extensions

Simplified for QS analysis:
Ad Rank ≈ Bid × QS

Actual CPC Formula

Actual CPC = (Ad Rank of advertiser below you / Your Quality Score) + $0.01

QS Impact on CPC (Relative to QS 5 Baseline)

Quality ScoreCPC ModifierCPC Impact
1+400%Pay 5× more
2+150%Pay 2.5× more
3+67%Pay 1.67× more
4+25%Pay 1.25× more
5BaselineNormal CPC
6-17%Save 17%
7-29%Save 29%
8-38%Save 38%
9-44%Save 44%
10-50%Save 50%

Financial Impact Example

Current state:
  Keywords: 500
  Avg QS: 5.2
  Monthly spend: $50,000
  Avg CPC: $3.20
  Clicks: 15,625

If improved to Avg QS 7.0:
  CPC reduction: ~29%
  New CPC: $2.27
  Same spend → 22,026 clicks (+41%)
  OR same clicks → $35,500 spend (-29%, saving $14,500/month)

GAQL Queries for QS Analysis

Query 1: Current QS Overview

SELECT
  ad_group.name,
  ad_group_criterion.keyword.text,
  ad_group_criterion.keyword.match_type,
  ad_group_criterion.quality_info.quality_score,
  ad_group_criterion.quality_info.creative_quality_score,
  ad_group_criterion.quality_info.post_click_quality_score,
  ad_group_criterion.quality_info.search_predicted_ctr,
  metrics.impressions,
  metrics.clicks,
  metrics.cost_micros,
  metrics.conversions
FROM keyword_view
WHERE
  ad_group_criterion.status = 'ENABLED'
  AND campaign.status = 'ENABLED'
  AND ad_group.status = 'ENABLED'
  AND metrics.impressions > 100
  AND segments.date DURING LAST_30_DAYS
ORDER BY ad_group_criterion.quality_info.quality_score ASC

Query 2: QS Distribution

SELECT
  ad_group_criterion.quality_info.quality_score,
  metrics.impressions,
  metrics.clicks,
  metrics.cost_micros,
  metrics.conversions
FROM keyword_view
WHERE
  ad_group_criterion.status = 'ENABLED'
  AND campaign.status = 'ENABLED'
  AND metrics.impressions > 0
  AND segments.date DURING LAST_30_DAYS

Query 3: Below-Average Components (Priority Fixes)

SELECT
  campaign.name,
  ad_group.name,
  ad_group_criterion.keyword.text,
  ad_group_criterion.quality_info.quality_score,
  ad_group_criterion.quality_info.search_predicted_ctr,
  ad_group_criterion.quality_info.creative_quality_score,
  ad_group_criterion.quality_info.post_click_quality_score,
  metrics.cost_micros,
  metrics.conversions
FROM keyword_view
WHERE
  ad_group_criterion.status = 'ENABLED'
  AND (
    ad_group_criterion.quality_info.search_predicted_ctr = 'BELOW_AVERAGE'
    OR ad_group_criterion.quality_info.creative_quality_score = 'BELOW_AVERAGE'
    OR ad_group_criterion.quality_info.post_click_quality_score = 'BELOW_AVERAGE'
  )
  AND metrics.impressions > 50
  AND segments.date DURING LAST_30_DAYS
ORDER BY metrics.cost_micros DESC

Query 4: High-Spend Low-QS Keywords (Biggest Savings)

SELECT
  campaign.name,
  ad_group.name,
  ad_group_criterion.keyword.text,
  ad_group_criterion.quality_info.quality_score,
  metrics.cost_micros,
  metrics.impressions,
  metrics.clicks,
  metrics.conversions,
  metrics.average_cpc
FROM keyword_view
WHERE
  ad_group_criterion.status = 'ENABLED'
  AND ad_group_criterion.quality_info.quality_score < 5
  AND metrics.cost_micros > 100000000
  AND segments.date DURING LAST_30_DAYS
ORDER BY metrics.cost_micros DESC
LIMIT 50

Query 5: Historical QS (Using change events)

SELECT
  change_event.change_date_time,
  change_event.change_resource_type,
  change_event.old_resource,
  change_event.new_resource,
  change_event.changed_fields
FROM change_event
WHERE
  change_event.change_resource_type = 'AD_GROUP_CRITERION'
  AND change_event.change_date_time DURING LAST_30_DAYS
ORDER BY change_event.change_date_time DESC
LIMIT 1000

Improvement Playbooks

Playbook 1: Expected CTR (Below Average → Above Average)

Root cause: Your ads get clicked less often than competitors for the same queries.

Step 1: Analyze current ad copy

  • Pull all active RSA headlines and descriptions
  • Compare to top competitors (use Ad Preview tool)
  • Look for missing elements: numbers, urgency, CTAs, unique value props

Step 2: Headline optimization

Winning headline patterns:

[Number] + [Benefit]: "Save 40% on Enterprise Plans"
[Urgency] + [Action]: "Limited Time — Start Free Trial"
[Social Proof]: "Trusted by 50,000+ Companies"
[Direct Answer]: "Fast Business Insurance Quotes"
[Differentiation]: "No Contracts, Cancel Anytime"

Step 3: Improve ad extensions

ExtensionCTR ImpactPriority
Sitelinks (4+)+10-20% CTRCritical
Callouts (4+)+5-10% CTRHigh
Structured snippets+3-8% CTRHigh
Call extension+5-15% CTR (mobile)High (if phone business)
Price extensions+5-10% CTRMedium
Image extensions+10-15% CTRHigh
Lead formVariableTest for lead gen

Step 4: Match type alignment

  • Exact match keywords should have highly specific ads
  • Phrase match should have ads covering the concept
  • Broad match should use responsive search ads with maximum headlines

Step 5: RSA pin strategy

  • Pin your best-performing headline to Position 1
  • Pin brand name headline to Position 2 or 3
  • Don't pin descriptions (let Google optimize)
  • Monitor "Ad strength" indicator (aim for "Good" or "Excellent")

Timeline: 2-4 weeks to see Expected CTR improvement after changes.

Playbook 2: Ad Relevance (Below Average → Above Average)

Root cause: Your ad text doesn't closely match the search intent of the keyword.

Step 1: Audit keyword-to-ad alignment

For each Below Average keyword:

  1. Read the keyword
  2. Read all headlines in the ad group's RSAs
  3. Ask: "Does ANY headline contain this keyword or a close synonym?"

Step 2: Restructure ad groups

Tightly themed ad groups (STAG method):

Bad structure:
  Ad Group: "Shoes"
  Keywords: running shoes, dress shoes, hiking boots, sandals
  → Single ad can't be relevant to all of these

Good structure:
  Ad Group: "Running Shoes"
  Keywords: running shoes, buy running shoes, best running shoes
  Ad: Headlines include "Running Shoes" prominently

  Ad Group: "Dress Shoes"
  Keywords: dress shoes, formal shoes, men's dress shoes
  Ad: Headlines include "Dress Shoes" prominently

Step 3: Keyword insertion (use sparingly)

Headline: {KeyWord:Quality Shoes}

This dynamically inserts the user's search term into the headline. Use only when keyword grouping is tight. Avoid for brand-sensitive contexts.

Step 4: RSA headline variety with keyword focus

  • Include the primary keyword verbatim in 2-3 headlines
  • Include synonyms and related terms in 3-4 more headlines
  • Include unique value props in remaining headlines
  • Each headline should be distinct (no near-duplicates)

Timeline: 1-2 weeks for Ad Relevance to update after restructuring.

Playbook 3: Landing Page Experience (Below Average → Above Average)

Root cause: Your landing page doesn't meet user expectations after clicking the ad.

Step 1: Page speed audit

MetricTargetTool
Largest Contentful Paint (LCP)< 2.5sPageSpeed Insights
First Input Delay (FID)< 100msPageSpeed Insights
Cumulative Layout Shift (CLS)< 0.1PageSpeed Insights
Time to First Byte (TTFB)< 800msWebPageTest
Mobile speed score> 50PageSpeed Insights

Step 2: Content relevance

  • Page headline must match ad headline closely
  • Keywords from the ad group should appear in the page content
  • The page should deliver on the ad's promise immediately (above the fold)
  • Remove interstitials, pop-ups, and distractions

Step 3: Mobile experience

  • Responsive design (no horizontal scrolling)
  • Touch-friendly buttons (min 48×48px)
  • Readable text without zooming (16px+ body font)
  • Fast-loading images (WebP, lazy loading)

Step 4: Trust signals

  • SSL certificate (HTTPS required)
  • Privacy policy and terms of service links
  • Contact information visible
  • Social proof (reviews, testimonials, logos)
  • Secure payment badges (if e-commerce)

Step 5: Navigation and transparency

  • Clear navigation structure
  • Easy-to-find contact information
  • Transparent pricing (no hidden fees)
  • Clear return/refund policy

Timeline: 4-8 weeks for Landing Page Experience to update (Google re-crawls landing pages periodically).

Historical QS Tracking Methodology

Why Track QS Over Time?

Google doesn't provide historical QS reports. You must build your own tracking system.

Method: Weekly QS Snapshot

  1. Every Monday, run GAQL Query 1 (Current QS Overview)
  2. Store results in a spreadsheet or database with columns:
    • Date, Campaign, Ad Group, Keyword, QS, Expected CTR, Ad Relevance, LP Experience, Impressions, Cost
  3. Calculate weekly aggregates:
    • Impression-weighted avg QS = Σ(QS_i × Impressions_i) / Σ(Impressions_i)
    • % of keywords with QS ≥ 7
    • % of spend on QS ≥ 7 keywords

Key Tracking Metrics

MetricTargetCalculation
Impression-weighted QS≥ 7.0Σ(QS × Impr) / Σ(Impr)
% keywords QS ≥ 7> 60%Count(QS ≥ 7) / Total keywords
% spend on QS ≥ 7> 75%Spend(QS ≥ 7) / Total spend
% keywords QS ≤ 3< 5%Count(QS ≤ 3) / Total keywords
QS improvement ratePositive trendWeek-over-week change

Industry Benchmarks

Average Quality Score by Industry

IndustryAvg QSExpected CTR (% Above)Ad Relevance (% Above)LP (% Above)
E-commerce6.545%55%40%
SaaS / Technology6.850%60%50%
Finance / Insurance5.835%45%35%
Healthcare6.240%50%40%
Legal5.530%40%30%
Real Estate6.040%45%35%
Education6.748%55%50%
Travel6.342%50%45%
Local Services6.138%48%38%
B2B Services6.442%52%42%

QS Targets by Keyword Type

Keyword TypeTarget QSRationale
Brand keywords8-10You ARE the most relevant result
High-intent transactional7-9Strong ad + landing page alignment
Non-brand generic5-7Competitive, harder to differentiate
Informational long-tail4-6Often mismatched landing pages
Competitor keywords3-5Intentionally lower (not your brand)

Examples

Example 1: High-Spend Low-QS Rescue

Scenario: Top 10 keywords by spend have avg QS of 4.2. Monthly spend: $25K on these keywords alone.

Analysis:

KeywordQSeCTRAdRelLPSpend/mo
"project management software"4BelowAvgBelow$4,200
"task management tool"3BelowBelowBelow$3,800
"team collaboration app"5AvgAvgAvg$3,500
"workflow automation"4AvgBelowBelow$3,200
..................

Action plan:

  1. Landing pages (LP Below × 4): Rebuild landing pages for top keywords. Add keyword in H1, speed optimization, mobile fixes. Timeline: 2 weeks.
  2. Ad copy (eCTR Below × 3): Add 5 new headlines per ad group with keyword in headline, add all extensions. Timeline: 1 week.
  3. Ad groups (AdRel Below × 3): Split "task management" and "workflow" into separate ad groups with tailored ads. Timeline: 1 week.

Projected impact (6-8 weeks):

  • QS improvement: 4.2 → 6.5
  • CPC reduction: ~25%
  • Savings: ~$6,250/month
  • Or: 33% more clicks for same budget

Example 2: QS Monitoring Dashboard

Weekly report format:

Week of March 1, 2026
━━━━━━━━━━━━━━━━━━━
Overall QS: 6.4 (↑0.2 from last week)
Keywords tracked: 342

QS Distribution:
  QS 8-10: 78 keywords (23%) — $12,400 spend
  QS 6-7:  145 keywords (42%) — $22,800 spend
  QS 4-5:  89 keywords (26%) — $8,200 spend
  QS 1-3:  30 keywords (9%) — $1,600 spend

Component Health:
  Expected CTR — 55% Above Avg (↑3%)
  Ad Relevance — 62% Above Avg (↑1%)
  Landing Page — 48% Above Avg (↑5%)

Top Improvements This Week:
  "crm software" — QS 4→6 (LP fix deployed)
  "email marketing" — QS 5→7 (new ad copy)

Priority Fixes Next Week:
  "marketing automation" — QS 3, LP Below, $2,100/mo spend
  "sales pipeline" — QS 4, eCTR Below, $1,800/mo spend

Example 3: Competitor Keyword QS Strategy

Scenario: Bidding on 50 competitor brand keywords. Avg QS: 3.1. Should we continue?

Analysis:

  • Competitor keywords inherently have lower QS (Google prefers the brand owner)
  • Expected QS range for competitor terms: 3-5
  • CPC premium: 2-3× higher than non-brand generics

Decision framework:

ConditionAction
CPA on competitor terms < 1.5× non-brand CPAContinue, it's profitable
CPA on competitor terms 1.5-2.5× non-brand CPASelective — keep top 10 converters
CPA on competitor terms > 2.5× non-brand CPAPause and reallocate budget

QS improvement for competitor keywords:

  • Use competitor comparison landing pages
  • Headlines: "Better Than [Competitor]" or "[Your Brand] vs [Competitor]"
  • Include comparison tables, switch-from guides
  • Realistic target QS: 4-5 (not 7+)

About this skill

Part of the Synter free skills collection — open-source agent skills for advertising, PPC, and marketing automation.

Want this skill (and 40+ more) running on autopilot against your live ad accounts? Try Synter — AI Agent Media Buyers that connect to Google, Meta, LinkedIn, TikTok, Reddit, Amazon, and 7+ more platforms.

Files included

  • SKILL.md

More skills