A better average hid a smaller search footprint
Within the reviewed comparison period, non-brand keywords fell from 18.6M to 13.6M, impressions from 328M to 226M, and clicks from 1.4M to 929K. CTR slipped from 0.43% to 0.41%, while average position improved from 33.7 to 21.2.| Metric | Earlier period | Later period | Change |
|---|---|---|---|
| Non-brand keywords | 18.6M | 13.6M | -27% |
| Impressions | 328M | 226M | -31% |
| Clicks | 1.4M | 929K | -34% |
| CTR | 0.43% | 0.41% | -0.02 pp |
| Average position | 33.7 | 21.2 | +12.5 positions |
Video transcript
Better rankings do not guarantee more organic clicks. Average position only describes where a result appeared after a search happened. Clicks also depend on demand, impressions, click-through rate, and the shape of the results page. Start in Search Console with query-by-page data. Split brand from non-brand, then compare devices, countries, and page types. If impressions fell, investigate demand and coverage. If impressions held but CTR fell, inspect the live result and the snippet. Diagnose the layer that changed before rewriting the page.

Why average position improved while coverage shrank
Average position reflects the queries you still appear for. It is not a census of everything you used to cover. In this comparison period, non-brand keywords fell from 18.6M to 13.6M, down 27%, while impressions fell from 328M to 226M, down 31%. Yet average position improved from 33.7 to 21.2. Those numbers can coexist without contradiction. If weaker long-tail pages disappear, the remaining query cohort is often smaller, cleaner, and easier to rank a bit higher on. That is a footprint change first, not proof of a healthier search outcome. Google’s own Performance report metrics define average position at the query level, which is why mix shifts can move the metric so sharply. The arithmetic is straightforward. Thin and duplicate blog pages were removed, and with them a large amount of long-tail coverage. Those pages likely contributed many low-impression queries with poor positions. Once removed, they stop pulling the average down. The surviving set contains a higher share of queries where the site already had stronger relevance, so the mean position rises even as total visibility contracts.| Metric | Earlier period | Later period | Change |
|---|---|---|---|
| Non-brand keywords | 18.6M | 13.6M | -27% |
| Impressions | 328M | 226M | -31% |
| Clicks | 1.4M | 929K | -34% |
| CTR | 0.43% | 0.41% | -0.02 pp |
| Average position | 33.7 | 21.2 | +12.5 positions |
Where the clicks actually disappeared
The loss was not spread evenly across the query cohort. In this comparison period, most of the recent click decline sat inside high-competition product-detail searches, not in the thin or duplicate blog URLs that were removed. That changes the diagnosis. If clicks disappear mainly on commercially important query classes while average position improves overall, the problem is usually not that rankings got worse everywhere. It is that the pages and query types still attracting the most buying-intent impressions are winning a smaller share of the click. A simple decomposition makes that visible. Total clicks fell from 1.4M to 929K, a drop of 471K, while impressions fell from 328M to 226M and CTR slipped from 0.43% to 0.41%. Using the standard Search Console relationship of clicks = impressions × CTR, the change can be split into an exposure effect and a click-share effect, even though this remains associative rather than causal in this period’s data (Performance report metrics).| Metric | Earlier period | Later period | Change | Approx. click impact |
|---|---|---|---|---|
| Impressions | 328M | 226M | -102M | -439K clicks at 0.43% CTR |
| CTR | 0.43% | 0.41% | -0.02 pp | -45K clicks at 226M impressions |
| Total clicks | 1.4M | 929K | -471K | Observed |
The query-by-page cut that resolves the argument
The fastest way to settle this kind of dispute in Google Search Console Performance reports is to stop looking at sitewide averages and cut the data by query × page first, then layer brand/non-brand, page type, device, and country. That order matters. If you start with page type alone, product-detail losses get diluted by blog cleanup. If you start with query alone, you miss where the lost demand used to land. Use the same comparison window in both periods and treat the result as directional, not causal, because Search Console aggregates search behavior rather than controlled experiments. In this case, the site-level view looked positive on rank and negative on traffic at the same time: non-brand keywords fell from 18.6M to 13.6M, impressions from 328M to 226M, clicks from 1.4M to 929K, CTR from 0.43% to 0.41%, while average position improved from 33.7 to 21.2. The query-by-page cut explains how those can all be true together. Thin and duplicate blog URLs were removed, which reduced long-tail non-brand coverage. That shrank the denominator of ranking keywords and impressions, making the remaining set look stronger on average. But the click loss was not evenly distributed. Record the cut in one table and force each segment to answer the same question: did clicks fall because the site ranked worse, because it showed up less often, or because fewer searchers chose it?| Segment | Query class | Landing page type | Device/country cut | Period comparison | What changed | Readout | Decision |
|---|---|---|---|---|---|---|---|
| A | Non-brand | Blog / informational | All devices, top countries combined | Period 1 vs Period 2 | Thin and duplicate pages removed | Coverage loss is expected if impressions and ranking keywords drop with no matching business-page loss | Do not treat as a ranking problem |
| B | Non-brand | Product detail | Split mobile/desktop, then top countries | Period 1 vs Period 2 | Click loss concentrated here | About 80% of recent click loss sits in high-competition product-detail queries and is attributed to CTR, not rank decline | Prioritize snippet, title, rich-result, and SERP competition review |
| C | Brand | All core commercial pages | Same device/country cuts | Period 1 vs Period 2 | Stability check | If brand is flat while non-brand falls, the issue is discovery and click capture, not broad site failure | Keep diagnosis focused on non-brand acquisition |
What to change, and what to leave alone
The right response depends on the loss pattern you can actually see in the query-by-page cut, not on the headline metric. In this comparison period, non-brand keywords fell from 18.6M to 13.6M and impressions from 328M to 226M, while average position improved from 33.7 to 21.2. That points to two separate jobs. First, recover or replace lost search footprint where coverage was intentionally reduced. Second, fix click capture on the pages that still rank for commercially important queries. Do not treat every decline as a ranking problem, because the evidence does not support that.| Observed pattern | What it usually means | Bounded action | Leave alone when |
|---|---|---|---|
| High-value product-detail queries kept similar rank but lost clicks | Searchers are seeing the page and choosing something else | Run a snippet test: rewrite title tag and meta description, improve price/availability/review markup where eligible under Google search appearance guidance | CTR is stable and the click loss is explained by lower impressions |
| Query lands on the wrong page type | Intent mismatch between query and destination | Page-intent fix: align template, copy, internal links, and on-page entities to the query class | The current page already satisfies the dominant intent and rank is holding |
| Multiple thin or duplicate pages split the same topic | Cannibalization or low-value index bloat | Consolidate into one stronger page and redirect or canonicalize the rest | The removed pages were the only source of useful long-tail demand |
| Impressions and keyword count both shrink after removals | Smaller search footprint, not necessarily weaker rankings | Demand adjustment: reset forecasts and rebuild coverage selectively where long-tail value was real | The lost terms were irrelevant, duplicative, or non-converting |
| Average position improves while business pages lose clicks | Reporting artifact from a changed keyword mix | No action on rank alone; inspect clicks, impressions, and page/query pairs in Google Search Console Performance reports | Never call the rank gain a win by itself |
Report the loss without calling the ranking gain a win
Do not call average position a win when the search footprint and clicks fell in the same comparison window. In this comparison period, non-brand keywords dropped from 18.6M to 13.6M, impressions fell from 328M to 226M, and clicks fell from 1.4M to 929K, while average position improved from 33.7 to 21.2. That is not a performance win. It is a visibility contraction with a better average among the URLs and queries that remained. Google’s own Performance report metrics define these fields separately for a reason: position is not a proxy for demand captured, coverage, or traffic. Use a matched-cohort retest before you write the narrative. Hold the query-page set constant across both periods, then compare clicks, impressions, CTR, and position only for that shared cohort. This removes the flattering effect created when thin and duplicate blog pages are removed and the remaining set is inherently stronger. If the matched cohort still shows click loss, the ranking gain did not offset the traffic problem. If the matched cohort is stable or up, then the loss sits mostly in coverage shrinkage. Either way, the decision should rest on like-for-like entities, not on a changing denominator. The Google Search Console Performance reports are enough to run this cut if you export query and page data by period.| Test | What stays fixed | What changed in this case | Reporting implication |
|---|---|---|---|
| Headline view | Nothing | Keywords -27%, impressions -31%, clicks -34%, CTR -0.02 pp, position improved 12.5 | Do not report “SEO improved” |
| Matched-cohort retest | Same query-page pairs in both periods | Use to separate coverage loss from performance loss on survivors | Report whether gains were real on a like-for-like base |
| Priority cut | High-click product-detail queries | About 80% of recent click loss concentrated here and tied to CTR, not rank decline | Escalate snippet, title, and SERP competition work before celebrating rank |