Free interactive tool
Search Console Click Drop Analyzer: Why Did Clicks Fall?
Clicks are impressions times click-through rate, so every click drop in Search Console is some mix of two things: you were shown less, or you were shown and chosen less. Paste a Search Console comparison export of your Pages or Queries table and the analyzer splits each row’s click change into those two parts, reads the average-position change beside them, and sorts every row into a kind of drop with its next check. It also tells you whether the loss sits in one page, a few pages, or most of the site, a question Google’s own traffic-drop guide asks you to answer. The compare view in Search Console shows the differences and can sort rows by the click difference; it does not say which part of each difference came from impressions and which from click-through, or how concentrated the loss is. The analyzer runs in your browser and sends nothing anywhere.
How does the analyzer split a click drop?
For each row (a page or a query):
click change = clicks now - clicks before
from impressions = (impressions now - impressions before) x CTR before
from CTR = (CTR now - CTR before) x impressions now
The two parts always add up to the click change exactly.
Normal variation: a change smaller than 2 x sqrt(clicks before + clicks now)
is not classified. A rough screen, not a significance test.
Each remaining loss gets one class, checked in this order:
Gone no impressions now
Large position drop down 10+ places, or out of the top 10 by 3+
Small position drop down 1 to 9 places
Better average, fewer position improved by 1+ while impressions fell
clicks
Fewer clicks, same position within 1 place, CTR part is larger
position
Fewer impressions, same position within 1 place, impressions part is larger
position
(No Position column: the last two say "position unknown".)
Shape of the loss (the total gets the same noise band):
total fell, but rows beyond noise carry
under half of it -> spread thin (site-wide first)
total held or rose, some rows lost -> offset by gains elsewhere
one row carries 50%+ of the loss -> one page or query
50%+ of rows with 5+ clicks lost clicks -> broad (site-wide first)
otherwise -> concentrated in a few rowsWhy these lines: the split follows Google’s own definitions in the Performance report help (read 2026-09-26): CTR is “the click count divided by the impression count”, and in a table row average position is “the average position in Search results for the specific URL or grouping dimension shown in the table row”. Because position is an average, it is shown beside the split rather than folded into it: when low-ranking impressions disappear, the average improves while clicks fall, which is why that pattern has its own class. The small and large position examples come from Google’s guide to debugging Search traffic drops (last updated 2025-12-10, read 2026-09-26), which calls 2 to 4 a small drop and 4 to 29 a large one. Our cut-offs between those two examples (10 places, or leaving the top 10) are our own choice, not Google’s. The same guide says a drop in impressions and clicks together points to its list of common causes, while falling clicks at steady impressions point to titles, snippets, or more appealing rich results.
Analyze your export
Paste the Pages or Queries table from a Search Console export (CSV, or copied from Google Sheets or Excel), header row included. It is read in your browser; nothing is sent anywhere.
| Clicks | 2,695 → 1,594 (-1,101) |
|---|---|
| Impressions | 97,960 → 78,700 |
| Change from impressions | -595 clicks |
| Change from click-through rate | -506 clicks |
| Rows losing clicks beyond normal variation | 5 of 12 (2 carry half the loss, 3 carry 80%) |
| Section | Pages | Clicks | From impressions | From CTR |
|---|---|---|---|---|
| /guides/ | 5 | 1,605 → 989 (-616) | -87 | -528 |
| /recipes/ | 4 | 723 → 244 (-479) | -506 | +27 |
| / (home) | 1 | 150 → 140 (-10) | -5 | -5 |
| /about/ | 1 | 12 → 11 (-1) | 0 | -1 |
| /tools/ | 1 | 205 → 210 (+5) | +4 | +1 |
| Class | Rows | What it means, and what to check |
|---|---|---|
| Gone | 1 | No impressions in the newer period, or too rare for Search Console to report: the export writes a "~" value as 0. Inspect the URL in Search Console first: a noindex, a redirect, a changed canonical or a removed page shows up here. If your export hit 1,000 rows, the row may only have dropped below the export cut-off. Wrong canonical: what to fix first. |
| Large position drop | 1 | Moved down 10 or more places, or fell out of the top 10 by 3 or more places. Look at what now ranks above you for the main queries. If many pages dropped like this at once, Google's advice is to self-assess the whole site, not single pages. Core update drop: 7-day triage worksheet. |
| Fewer impressions, same position | 1 | Shown less often at about the same position: fewer searches, or fewer queries the page appears for. Check the top queries in Google Trends and compare with the same period last year. If search interest fell everywhere, the page did not get worse. |
| Fewer clicks, same position | 1 | Shown as often at about the same position, but clicked less. Search the main queries and look at the results page: a new AI Overview, a rich result, or a title Google rewrote. Then check that your title and snippet show the answer. Impressions but no clicks: fix order. |
| Better average, fewer clicks | 1 | Average position improved while impressions fell: usually low-ranking impressions disappeared, which lifts the average. Switch to the Queries tab for this page and find which queries fell away. The average position alone hides this. |
| Normal variation | 7 | The change is inside the rough noise band for this many clicks. No action from this row alone. |
| Page | Clicks | From impr. | From CTR | CTR | Position | Class |
|---|---|---|---|---|---|---|
| https://example.com/guides/sourdough-starter | 820 → 410 | +21 | -430 | 2.1% → 1.0% | 3.1 → 3.2 | Fewer clicks, same position |
| https://example.com/recipes/pumpkin-loaf | 380 → 90 | -291 | +1 | 3.7% → 3.8% | 5.0 → 5.2 | Fewer impressions, same position |
| https://example.com/guides/proofing-basket | 240 → 60 | -80 | -100 | 2.7% → 1.0% | 6.1 → 19.5 | Large position drop |
| https://example.com/recipes/focaccia | 95 → 0 | -95 | 0 | 3.7% → 0.0% | 6.4 → – | Gone |
| https://example.com/recipes/rye-bread | 160 → 70 | -118 | +28 | 2.0% → 3.3% | 14.2 → 6.0 | Better average, fewer clicks |
Worked example: a 41% drop that is five separate problems
The data loaded in the analyzer is a hypothetical baking blog’s Pages export, last 28 days against the previous 28. Clicks fell from 2,695 to 1,594, a 41% drop, the kind of number that reads like a penalty. The analyzer says otherwise: 7 of the 12 pages are inside normal variation, 3 pages carry 80% of the loss, and the five losing pages each lost clicks for a different reason.
- /guides/sourdough-starter, 820 to 410 clicks: impressions went up slightly and position held at about 3, but click-through halved from 2.05% to 1%. Almost all of the loss (−431) is the CTR part. Search the main query and look at the results page before touching the article: a new AI Overview or a rich result above you is the usual cause of this shape.
- /recipes/pumpkin-loaf, 380 to 90: impressions fell from 10,200 to 2,400 at the same position. That is demand, not ranking; a seasonal recipe out of season looks exactly like this. Compare the same weeks last year before you edit anything.
- /guides/proofing-basket, 240 to 60: average position went from 6.1 to 19.5. That is the only real ranking loss here. Check what now ranks above it.
- /recipes/focaccia, 95 to 0 with zero impressions: a technical cause until proven otherwise. Inspect the URL for a noindex, redirect or canonical change.
- /recipes/rye-bread, 160 to 70: average position improved from 14.2 to 6.0. The page lost its low-ranking impressions (8,000 to 2,100), and the average improved because those deep positions stopped counting. Open the Queries tab for this page to see which queries went away.
The section table shows the same split: /guides/ lost 616 clicks almost all through click-through, and /recipes/ lost 479 almost all through impressions. A site-wide rewrite would have touched seven healthy pages to fix five problems that each need a different fix.
How do you export the right data from Search Console?
- Open Performance → Search results. Pick the search type you care about (usually Web) and leave other filters off unless you want a subset.
- In the Date filter choose Compare and set the two ranges. Google’s comparison help describes the option. For a core update, compare a week after the rollout finished with a week before it started, the method in our core update triage worksheet. For a seasonal site, also run the same weeks year over year.
- Open the Pages tab (or Queries), click Export, and choose CSV, Google Sheets or Excel. Paste the Pages or Queries table, header row included. The analyzer finds the Clicks, Impressions and Position columns by name and works out which period is newer from the column labels; if it cannot tell, it says so and Swap periods fixes it.
- Exported the two periods separately instead? Paste the newer one in the first box and the older one in the second.
When does this analysis not apply?
- Big sites and the 1,000-row cut-off. Search Console exports are truncated to 1,000 rows. A page just below the cut-off in one period looks “gone” in the comparison. The analyzer warns when either period has 1,000 rows; for a full picture, use the Search Console API or the bulk data export.
- Rare rows export as zero. In a comparison, Search Console shows a value too rare to report as “~”, and the export writes it as 0. A row can look “Gone” or “New” only because it was rare in one period; this affects queries most.
- Row sums are not the chart totals. Google’s data discrepancies page says anonymized queries are left out of the query table but counted in the chart, and page-level and property-level numbers are aggregated differently. Use the analyzer for where the loss sits, not to reconcile the headline number.
- Small numbers. A page going from 8 clicks to 4 is inside the noise band and is not classified. The band is a rough screen for independent counts; it will not catch every random swing, and it is not a test you can quote as statistical proof.
- Queries versus pages. The Queries table counts one impression per search for the whole property; the Pages table counts per page. Run both: the Pages view finds the section, the Queries view finds the searches that went away.
- What it cannot tell you. It sorts the drop; it cannot see the results page, your server, or Google’s systems. A “Fewer clicks, same position” row still needs you to search the query and look. Google’s traffic-drop guide also asks you to check the Page indexing, Crawl stats, Security issues and Manual actions reports, which no export shows.