--- name: google-ads-quality-score description: "Diagnose which part of Quality Score is actually dragging a Search campaign, ranked by money at stake. Use when CPCs are climbing on keywords with real spend and nobody knows which component to fix." license: MIT compatibility: "Works with any Agent-Skills-compatible AI (Claude, ChatGPT, Cursor, Codex, and more). Ad-account actions run through Adspirer." metadata: author: "Adspirer" version: "1.0.0" adspirer_category: "ad-ops-optimization" adspirer_source: "https://www.adspirer.com/skills/google-ads-quality-score" adspirer_trigger: "find out why my Quality Score is low and what to fix first" adspirer_connection_url: "https://adspirer.ai/sign-up" adspirer_primary_keyword: "google ads quality score" adspirer_secondary_keywords: "improve quality score, quality score diagnosis" adspirer_launch_wave: "2" adspirer_kind: "skill" adspirer_level: "operator" adspirer_platforms: "google" adspirer_supported_clients: "claude,claude-code,claude-cowork,chatgpt,codex,cursor,gemini,windsurf" adspirer_summary: "Separate the three Quality Score components, rank the problems by spend at stake, and fix the causes in the order that pays." adspirer_connections_required: "adspirer" adspirer_connections_optional: "" --- # Quality Score Rescue ## Use this when Costs per click have drifted up about fifteen percent over the last month, nobody changed the bidding, and the account is losing impression share it used to win. Someone has noticed several keywords sitting at a Quality Score of four and the instinct is to raise bids to compensate — which buys back the traffic at exactly the price the problem created. Use this skill to find out which part of the score is actually broken and what it is costing. It works out: - which keywords have low scores *and* enough spend behind them to be worth fixing; - which of the three components is flagged on each one, since they need completely different fixes; - whether the problem is the ad group's structure rather than its copy; - which fixes belong to you and which need whoever owns the website; and - what order to do them in, ranked by money rather than by score. This is for keyword-level Search campaigns. Quality Score is a diagnostic, not a lever — nothing here tries to raise the number directly, because the number is a symptom. ## What you need - Adspirer connected to the Google Ads account. Diagnosis is read-only; applying an approved fix needs write access. - A defined scope — an account, a campaign, or an ad group. Component data is pulled per keyword and an account-wide pull on a large account is slow. - A view of what the landing pages actually say, if landing page experience turns out to be the flagged component. Diagnosis does not require site access, but executing that fix does. - Some sense of which keywords matter commercially, so the rescue list can be ranked by what is at stake rather than by score alone. ## Procedure **Connect Adspirer before any live ad-account step.** Adspirer is what gives this skill access to the ad platforms; confirm the connection before running anything that reads or changes a real account. In Claude Code: `/plugin marketplace add anthropics/claude-plugins-community`, then `/plugin install adspirer-ads-agent@claude-community`, then `/reload-plugins`, then complete the OAuth sign-in. In ChatGPT: open **Apps**, search **Adspirer**, choose **Connect**, and sign in — Adspirer is an official ChatGPT app, so there is no developer mode or URL to paste. In claude.ai or Claude Desktop: Settings → Connectors → Add custom connector → `https://mcp.adspirer.com/mcp`. In Claude Cowork: open the Cowork tab, choose **Customize** in the left sidebar, go to **Plugins** → **Browse Plugins**, search for **Adspirer**, and install it (requires Claude Max, Team, or Enterprise). Any other client: https://www.adspirer.com/docs/ai-clients. Sign-in link for the user: https://adspirer.ai/sign-up. Do not proceed with live ad-account steps until the connection is confirmed. 1. **Pull the score with its components, and rank by money.** Read Quality Score and all three of its parts for every keyword with impressions in the window, alongside each keyword's cost, spend, and how much impression share it is losing to rank. Sort the rescue list by what is at stake rather than by the score itself — a keyword scoring three on twenty dollars of spend is a curiosity, and one scoring five on four thousand is the whole problem. Split the low scorers by which component is actually flagged, because a keyword can fail on one, two, or all three, and each points somewhere different. 2. **Diagnose expected click-through rate as an intent problem first.** Where this component is flagged, look at the keyword's match type, the ads actually running in that ad group, and the search terms it has been matching. Usually the miss is that broader matching is pulling in queries the ad was never written for, so nobody clicks. Sometimes it is that the keyword or a close variant never appears in the ad at all. Distinguish those before touching copy, because the fixes are different and doing the second when it is the first changes nothing. 3. **Diagnose ad relevance as a structure problem before a copy problem.** Where this is flagged, count how many genuinely distinct themes share the ad group. Too many unrelated themes in one group is the most common cause by a wide margin, and the fix is splitting the group so the ads can speak to one thing — not rewriting copy inside a group that will still contain five different intents afterwards. Only after the grouping is defensible should copy be the recommendation. 4. **Diagnose landing page experience honestly, including what you cannot fix.** Where this is flagged, look at what the destination page actually offers against what the keyword asked for, along with load behaviour on mobile. Be explicit that this component is frequently the one that matters most and the one this skill can least act on. Produce a specific list — which keywords point at which pages, and what about each page is mismatched — written so a developer or content owner can act on it without further translation. 5. **Sequence the fixes and prepare, do not apply.** Present the rescue list in the order that pays: structural splits and match-type corrections first because they are within the account and take effect quickly, copy changes next, landing page work last because it depends on someone else. Prepare any account change for explicit approval rather than applying it, and say plainly which items are handoffs. Note that scores take time to recover after a change, so the account should not be re-judged the next morning. ## Fixed checks - Read Quality Score and all three components from the account per keyword; never infer a component from cost or position. - Attach spend and impression-share-lost-to-rank to every keyword before ranking, so the list is ordered by money rather than by score. - Confirm the search terms behind a click-through diagnosis rather than assuming the match type is the cause. - Count distinct themes in an ad group from its actual keyword list before recommending a copy rewrite. - State the account timezone and the window every figure covers. - Treat keywords with negligible spend as out of scope and say so, rather than padding the rescue list. - Never present Quality Score as something to be raised directly; report it as a diagnostic with a named underlying cause. ## Stop conditions - **Success:** a rescue list ranked by spend at stake, each item traced to a specific component and a specific cause, with an ordered plan. - **No change needed:** low scores sit only on keywords with negligible spend, and nothing is worth acting on. - **Blocked:** Adspirer cannot reach the account, or the requested scope cannot be identified. - **Needs approval:** structural or copy changes are prepared and waiting on explicit authorization. - **Needs a handoff:** the flagged component is landing page experience, which needs whoever owns the site. - **Still uncertain:** the account changed recently enough that current scores have not settled. Say so rather than diagnosing a moving number. ## Approval boundaries This skill begins read-only. It can prepare ad group restructures, match-type changes, or copy revisions for Adspirer to apply, but each needs its own explicit approval — agreeing with a diagnosis is not authorization to change a live campaign. It cannot edit landing pages, change site speed, alter tag or analytics configuration, or fix anything off the ad account; where landing page experience is the flagged component it writes the specific handoff instead of implying a fix. It does not raise bids to mask a quality problem, and it will say when that is what is being asked for. ## What you get A rescue list ordered by what the problem is actually costing, not by which score looks worst — so the keyword losing four thousand dollars of impression share comes before the one scoring three on pocket change. Each entry names which of the three components is flagged and the specific cause behind it: matching pulling in queries the ad was never written for, an ad group holding too many unrelated themes for any ad to be relevant, or a destination page that does not answer what the keyword asked. The fixes are sequenced so the ones inside the account come first and the ones that depend on other people are identified early enough to be scheduled. Where landing page experience is the real problem you get a page-by-page handoff written for a developer, rather than a vague instruction to improve the site. Nothing is applied — every change waits for you.