GSC Quick Wins Report: Low-Hanging SEO Fruit Finder

By MCP Analytics Team | Published , updated

Most sites have a handful of pages that already rank on page one or close to it, yet earn few clicks. The usual instinct is to chase new keywords. A cheaper first step is to look at the pages that already rank and ask whether their titles and descriptions give searchers a reason to click.

Run the Quick Wins analysis on your own Search Console export.

Those pages are what we call quick wins. This post defines them, shows how to pull them out of Google Search Console, and covers how to rewrite the title and meta description for each one.

Worked Example: Which Simulated Page Has the Largest Click Gap?

Question. Which of five simulated pages has the largest estimated click gap?

Inputs. Five page labels, each with a position, a CTR and a chosen reference CTR. The script draws the impressions with the shown seed. The pages and CTR values are simulated, and the reference CTRs are chosen per page.

Method. Keep pages in positions 4 to 20 when their CTR is below the chosen reference. Estimate the click gap as impressions x (reference CTR - page CTR), with a floor of zero. Rank the kept pages by that estimate.

import random

seed = 17
rng = random.Random(seed)
pages = [
    ("Page A", 6.2, 0.012, 0.030),
    ("Page B", 12.4, 0.018, 0.025),
    ("Page C", 8.1, 0.021, 0.032),
    ("Page D", 19.3, 0.009, 0.015),
    ("Page E", 3.2, 0.010, 0.028),
]
print(f"Simulated data, seed {seed}")
print("Rule: position 4 to 20 and CTR below chosen reference")
print("Gap = impressions x max(reference CTR - CTR, 0)")
print("Page | Impr. | Position | CTR | Reference CTR | Gap")
results = []
for name, position, ctr, ref in pages:
    impressions = rng.randint(700, 1800)
    gap = impressions * max(ref - ctr, 0)
    ok = 4 <= position <= 20 and ctr < ref
    results.append((name, impressions, position, ctr, ref, gap, ok))
for name, impressions, position, ctr, ref, gap, ok in results:
    print(f"{name} | {impressions} | {position:.1f} | "
          f"{ctr:.1%} | {ref:.1%} | {gap:.1f}")
ranked = sorted((r for r in results if r[6]),
                key=lambda r: r[5], reverse=True)
print("Shortlist ranked by estimated click gap:")
for rank, row in enumerate(ranked, 1):
    print(f"{rank}. {row[0]}: {row[5]:.1f} estimated clicks")
print(f"Eligible pages: {len(ranked)} of {len(pages)}")
print(f"Top gap: {ranked[0][5]:.1f} clicks ({ranked[0][0]})")
Simulated data, seed 17
Rule: position 4 to 20 and CTR below chosen reference
Gap = impressions x max(reference CTR - CTR, 0)
Page | Impr. | Position | CTR | Reference CTR | Gap
Page A | 1769 | 6.2 | 1.2% | 3.0% | 31.8
Page B | 1548 | 12.4 | 1.8% | 2.5% | 10.8
Page C | 1321 | 8.1 | 2.1% | 3.2% | 14.5
Page D | 1448 | 19.3 | 0.9% | 1.5% | 8.7
Page E | 1293 | 3.2 | 1.0% | 2.8% | 23.3
Shortlist ranked by estimated click gap:
1. Page A: 31.8 estimated clicks
2. Page C: 14.5 estimated clicks
3. Page B: 10.8 estimated clicks
4. Page D: 8.7 estimated clicks
Eligible pages: 4 of 5
Top gap: 31.8 clicks (Page A)

Result. Page A ranks first, with an estimated gap of 31.8 clicks. The shortlist has 4 of 5 pages. Page E has a larger gap (23.3) than B, C and D, but it sits at position 3.2, outside the 4 to 20 rule, so it is dropped. The reference CTRs are chosen per page, so the ranking follows those choices. This is a ranking by the chosen reference, not a forecast of clicks. On your own export, one way to choose the reference is the median CTR of your own pages that already rank near the position you want, used for every page, so the ranking does not depend on a guess per page.

Illustrative only. Every page, impression count and CTR above is simulated to show the arithmetic. None of it is a real site or a benchmark, and the simulated CTRs say nothing about what your pages will earn. What to measure instead: the CTR, impressions and average position of your own pages in your Search Console export, and a reference CTR taken from your own comparable pages.

Limit. The gap assumes a page could reach its chosen reference CTR. It does not show that a title change will cause that result or change rank.

Sources

The Quick Win Definition: Position 4-20, CTR Below Your Reference

Signal: Treat positions 4-20 with a CTR below the reference you choose for that position as the filter. Set a reference CTR from comparable rows in your own Search Console export, then rank pages by the gap between that reference and their CTR.

Noise: Everything else. Don't waste time on position 45 pages. Don't obsess over position 2 pages with a strong CTR. Those aren't quick wins.

Here's why positions 4-20 matter:

Illustrative example with made-up numbers. Suppose a page at position 8 earns a 0.9% CTR and a typical result at that position earns a higher one, say 3%. These figures are hypothetical, not benchmarks. If the page were shown 1,000 times a month, 0.9% is 9 clicks and 3% is 30 clicks. The point is the shape of the calculation: when a page already has impressions, a better snippet changes clicks without any ranking change. Your own Search Console data tells you the real numbers.

Export Your GSC Data (Step by Step)

Here's the fastest path to finding your quick wins:

  1. Open Google Search Console
  2. Go to Performance → Search Results
  3. Set date range to "Last 3 months" (more data = better signal)
  4. Click "Pages" tab
  5. Click export icon → Download CSV

That's it. You now have the data.

The right date range depends on your traffic and seasonality. A short window, such as one week, is noisy for pages with few impressions, and a long window can blur recent changes. Pick a range where each page has enough impressions for its CTR to settle.

Upload to MCP Analytics Quick Wins Module

Our Quick Wins analysis replaces the spreadsheet filtering. Upload your GSC CSV. The tool:

The output: Your top quick wins, sorted by estimated click gap.

The Report: Your Top Opportunities Ranked

In this simulated report, four of five pages pass the chosen filter. Page A ranks first by estimated click gap; Page C ranks next. The order depends on the chosen reference CTR.

In this simulated report, Page A ranks first by estimated click gap. This is a worked example, not a report from a real site.

Fix #1: Rewrite Title Tags (Template + Examples)

A simple title rewrite template:

[Number] [Topic] That [Specific Outcome] ([Qualifier])

Illustrative examples with made-up wording. Only claim an outcome in a title if you can back it up:

Keep these rules in mind:

  1. Be specific: "Better open rates" beats "improve email performance"
  2. Include numbers: "7 tactics" beats "several tactics"
  3. Add a qualifier: a year or a format ("Guide", "Review") tells the searcher what they will get

What tends not to work: generic titles, cute wordplay, brand names nobody knows. What tends to work: specificity, numbers, a clear outcome you can actually deliver.

Fix #2: Update Meta Descriptions for Higher CTR

Title tags usually do more of the work than meta descriptions, and Google sometimes rewrites descriptions anyway. But if you're already rewriting titles, spend a little extra time on the description.

A meta description formula:

[Specific outcome] + [How] + [Proof point, if you have a real one]

Example:
"Find the pages ranking 4-20 with a low click-through rate, then rewrite their titles and descriptions to earn more of the clicks you already qualify for."

That description tells the reader:

Compare to a bad meta description:
"Learn about SEO quick wins and how to improve your search rankings with Google Search Console data analysis."

Vague. No outcome. No reason to click.

Track Results: Did Your Changes Work?

After making title changes, track:

Use GSC's "Compare" feature. Set equal-length date ranges before and after the change, and leave a gap after the change so the new title has been picked up.

If CTR went up but position stayed flat: that is encouraging. Keep watching it with more data before drawing a conclusion.

If CTR went down: the new title may be a worse fit, but check impressions, position and query mix first, because a shift in any of them can move CTR on its own. Reverting is a reasonable test.

If CTR stayed flat: the result is inconclusive. Small samples, seasonality and position shifts can all hide or mimic an effect, so a flat CTR does not show the title was too similar.

Results vary by site, query and season, so treat any single before-and-after comparison as a signal rather than proof.


Want to find your quick wins? Upload your Google Search Console data to our Quick Wins analysis and get your top opportunities ranked by estimated click gap.

Your turn

Bring your own data and the question you actually need answered.

MCP AnalyticsData science by email Send us your data and your question, and we will reply. ds@mcpanalytics.ai