How to improve CTR in Google Search Console
Find results that rank well but earn too few clicks, work out why from the live results page, and rewrite titles and snippets without guessing.
- Goal
- Find three results with a real CTR gap, fix the cause, and measure the change fairly.
- You need
- Search Console with three months of data, a spreadsheet, and edit access to titles and meta descriptions.
To improve CTR in Search Console, start by finding the results that are clicked less often than your other results at the same position, because position decides most of a result's CTR. Then look at the live results page to see why searchers choose something else, and fix what is actually wrong: the title, the snippet, or the page itself when it does not match what people want. Measure query by query once Google has recrawled the page.
What CTR can and cannot tell you
CTR is clicks divided by impressions, and it is shaped mostly by things other than your snippet:
- Position. Results near the top are clicked far more often than results further down. A CTR of 3% is weak at position 2 and strong at position 9.
- Everything else on the results page. Ads, an AI Overview, maps, videos and shopping results all compete for attention. An AI Overview takes one position, and all the links inside it share that position (how position is counted).
- Brand. Searches that include your name have much higher CTRs than the rest, so mixing the two hides problems.
- How it is counted. Counted by property, CTR comes out higher than counted by page.
So never judge a result against a universal "good CTR". Judge it against what your own non-branded results earn at the same position, and leave results on page two alone: their problem is position, which the striking distance playbook deals with.
Step 1: list the results that under-earn
- Open Performance → Search results, set three months, choose the Non-branded query filter (or exclude your brand with a "Doesn't match regex" filter), and export the Queries table. Export Pages too if you want to work page by page.
- Keep positions 1 to 10.
- Work out your expected CTR for each position from the same export (the method is in CTR and average position).
- Flag the rows that fall well short of it. A reasonable first pass is a CTR below 70% of the expected rate with at least 500 impressions over the three months. Both numbers are judgement calls: with fewer impressions, chance alone moves CTR, so demand a bigger gap.
- Sort by missed clicks: impressions × (expected CTR − actual CTR).
For example, a recipe site has "soft boiled egg time" at position 3.1 with 8,600 impressions and a CTR of 4.0%. Its own curve says results at position 3 usually earn 10.5%. The missed clicks come to about 8,600 × 0.065, or 559 over three months, which puts it near the top of the list.
Step 2: look at the real results page
Search each flagged query in a private window, from the country your traffic comes from, and on the device that brings most of the impressions (the Devices tab tells you which). Then note:
- What sits above you. Ads, an AI Overview, a video carousel, a featured snippet held by a competitor.
- How your result reads next to its neighbours. Compare the title link and snippet text with the results around it. Is yours vaguer, older-looking, less specific?
- Whether the title link is the title you wrote. Google builds title links from several sources, including your
<title>element, the main heading and anchor text, and may change what you wrote. - Whether the URL is the one you expected. If a different page of yours appears, the problem is cannibalisation, not CTR.
Step 3: diagnose the cause
| What you see | Likely cause | What to do |
|---|---|---|
The title link differs from your <title> | Google judged the title unhelpful: half empty, an out-of-date year, inaccurate, repeated across pages, or no clear main heading | Fix the title itself (title rewrites playbook) |
| The snippet is a random sentence from the page | No clear summary near the top, and a generic meta description | Open the page with a direct answer and write a specific description |
| Your result answers a different question from the others | The page does not match what searchers want | Change the page, not the snippet |
| Competitors show details yours lacks, such as prices or ratings | Their pages carry structured data you could also use | Check whether your page is eligible (rich results FAQ) |
| Your result looks fine, but a large feature sits above it | Fewer people reach the organic results | Accept it, or aim the page at related searches with less crowded results |
| The title is cut off on mobile | The important words come too late | Put them first |
Google's own list of reasons for changing title links (half-empty titles, obsolete years, inaccurate titles, boilerplate repeated across pages, no clear main title, and a language that differs from the page) is in Influencing title links.
Step 4: rewrite the title and description
Google's guidance on snippets sets the frame. Snippets come mainly from the page's own text, chosen to match each search; Google uses your meta description when it describes the page better than any passage does. There is no length limit for either title or description, but both are cut to fit the device. Descriptions should be unique to each page, summarise the whole page accurately, and include concrete details such as dates, prices or authors; long keyword lists make them less likely to be shown.
In practice:
- Lead with what the searcher wants, in their words.
- Add one concrete detail that sets your page apart: a scope, a format, a number that is true of the page.
- Open the page with a direct answer, because Google often builds the snippet from the page itself.
| Page | Before | After |
|---|---|---|
| Recipe site, title | Eggs - Our Kitchen Guides | Soft-Boiled Egg Times, from Runny to Jammy |
| Recipe site, description | Read our guide to cooking eggs. | Boiling times for runny, jammy and firm eggs, from fridge-cold or room temperature, with a printable chart. |
| Software company, title | Feature: Approvals - Ledgerly | Expense Approval Workflows for Small Teams - Ledgerly |
Step 5: measure fairly
- Wait for the recrawl. URL Inspection shows when Google last crawled the page; nothing changes in the results before that.
- Hold position constant. Compare the 28 days after the change with the 28 days before, for the same query, and check that the position stayed roughly the same. If the position moved too, the CTR change cannot be credited to the snippet alone.
- Annotate and log every change, and revert a change that made things worse after a fair window.
- Test at scale. If you change many similar pages at once, compare them with a similar group you left alone. AutoPSEO's Experimentation report does this: it compares a treatment group of URLs with a control group before and after a start date and tests whether the difference is significant.
How AutoPSEO handles it
The CTR Benchmark report does step 1 for your whole site: it builds the expected CTR for every position from your own data, falls back to a benchmark for positions with too little data, marks results more than 20% below expectation as under-performing, and adds up the clicks each one misses. The second table of Page Poaching lists results already near the top that earn less than 70% of the expected rate. A CTR drop alert can watch the property for you; by default it fires when CTR falls 20% against the previous 7 days, once the baseline has at least 100 impressions.
For the articles the content engine manages, the weekly maintenance run queues an optimisation when an article sits at positions 8 to 20 with at least 30 impressions in 28 days but is clicked less than 60% as often as the benchmark curve expects at that position. The task asks the writer to sharpen the title, the meta description and the direct answer, and the engine queues at most three a week per site, skipping articles changed in the last 45 days (maintenance). Every article is written to your site's format, which by default keeps the title within 60 display units (a CJK character counts as two) and warns when a meta description falls outside 120 to 165 characters (writing). Without an account, the free CTR Opportunity Analyzer runs step 1 on an exported CSV.
Keep reading
SEO basics in 10 minutes: how Google finds, stores and ranks pages
The three stages of Google Search, the four Search Console numbers, and how to tell which stage a problem belongs to.
What is Google Search Console? A plain guide for site owners
What Search Console reports, how its data is limited, which property type to add, and the first checks to make.
Clicks vs impressions in Google Search Console
How Google counts impressions and clicks, why totals disagree between views, and how to read the gap between the two.