Google Search Console Performance Comparison
Upload one Google Search Console comparison CSV and see exactly which queries or pages gained or lost clicks, impressions, CTR and position.
Upload the GSC comparison export
In Google Search Console, set Date → Compare, open either the Queries or Pages table, then export that comparison as CSV. Upload that single CSV here.
Results
Turn the findings into action.
Get My Free QCK SEO + CRO AuditWhy use this tool?
Period-over-period SEO analysis becomes much easier when gains and losses are tied to individual queries or pages. This comparator reads Google Search Console's own period-comparison export and recalculates the differences from the two period columns.
How it works
Set Date to Compare in Google Search Console, export the Queries or Pages comparison table as CSV, upload that one file, and inspect changes in clicks, impressions, CTR and average position.
How to interpret the results
A decline is a signal to investigate, not a diagnosis. Seasonality, demand, SERP changes, indexing, migrations, competitors and site changes can all affect Search Console performance.
Google Search Console Performance Comparison Tool FAQs
What should I compare in Google Search Console?
Use equivalent date ranges whenever possible and keep filters such as country, device and search type consistent between exports.
Does the tool use estimated traffic?
No. Calculations are based on the two period values already contained in the Google Search Console comparison CSV you upload.
Can I use this to investigate an SEO traffic drop?
Yes, it can identify which queries or pages changed most, but determining the cause requires additional technical and SERP analysis.
Why can average position move differently from clicks?
Average position, impressions, CTR and clicks measure different parts of search performance and can move independently.
Explore more free SEO tools
Key takeaways
- ✓A traffic drop is a symptom. Comparing two periods query by query tells you which symptom you actually have.
- ✓Impressions down means visibility lost. Impressions flat with clicks down means a SERP or snippet change.
- ✓Always compare like with like — same length of period, same day-of-week alignment, same country and device filters.
- ✓Seasonal declines are normal. Compare year-on-year as well as month-on-month before diagnosing anything.
- ✓Aggregate numbers hide the story. The explanation is almost always in a small number of queries or pages.
Why aggregate traffic numbers explain nothing
Organic traffic is down 18%. That sentence starts every difficult SEO conversation and contains no information about what happened.
An 18% decline could be one high-traffic page losing its ranking, a hundred pages each slipping two positions, a seasonal pattern that happens every year, a SERP feature absorbing clicks at unchanged positions, or a tracking change that has nothing to do with search at all. These require completely different responses, and the aggregate figure cannot distinguish between them.
Using Google Search Console's own comparison export at the query or page level replaces the symptom with a diagnosis. Usually the explanation is concentrated in a surprisingly small number of rows.
Setting up a valid comparison
Most bad conclusions come from bad comparisons rather than bad analysis. Four rules prevent nearly all of them.
- Equal period lengths. Twenty-eight days against twenty-eight days, not a month against six weeks.
- Day-of-week alignment. Search behaviour is weekly. Comparing periods that contain different numbers of weekends introduces a difference that is not real.
- Consistent filters. Same country, same device, same search type on both exports. Mixing them produces movement that exists only in the filter.
- Mind the data lag. Search Console data is incomplete for the most recent two to three days. Including them will always show a decline.
Before diagnosing anything: run the same comparison against the same period last year. A large share of declines that trigger emergency meetings are seasonal patterns that repeat annually and require no action at all.
Reading what the comparison shows
Impressions down, position down
You lost rankings. This is the most straightforward diagnosis. Now determine scope: a handful of pages points at page-level causes — content changes, lost links, technical problems on those URLs. Broad decline across many pages points at something sitewide, such as an algorithm update or a technical change affecting the whole site.
Impressions flat, clicks down
You are still appearing as often but being clicked less. Almost always the results page changed around you: an AI Overview appeared, a competitor gained rich results, an extra ad block pushed organic down. Your position number may be identical while your actual visibility is lower.
Impressions up, clicks flat
Usually new low-position visibility. You are appearing for more queries, but at positions where clicks were never likely. Not a problem, and often an early sign that new content is starting to gain traction.
Clicks up, position down
Counterintuitive but common. You gained visibility across many low-position queries, which drags average position down while adding traffic. This is why average position is a poor headline metric.
Query-level versus page-level comparison
Both views answer different questions and you need both.
Query comparison tells you what changed in demand and in your coverage of it. New queries appearing, old queries disappearing, and shifts in which terms drive traffic.
Page comparison tells you where the change landed. A single page losing half its clicks is a page problem; fifty pages each losing a tenth is a sitewide one.
Run the query view first to understand the shape, then the page view to locate it. Doing it in the other order tends to produce a long list of small movements without a story.
Common causes and how they look
- Algorithm update — broad decline across many pages starting on a specific date, positions down, impressions down.
- Technical problem — sharp drop, often on a subset of URLs, sometimes with a coverage error appearing in Search Console at the same time.
- Lost featured snippet — one query, large click loss, position roughly unchanged.
- Seasonality — gradual, matches the same period last year, spread evenly across queries.
- Competitor movement — specific queries, position down, everything else stable.
- Cannibalization — position unstable and the ranking URL for a query has changed between periods.
- Migration fallout — decline beginning on the launch date, often with new 404s appearing.
Building a report someone will act on
The output of this analysis should be three lists, not a spreadsheet.
- What changed — the specific queries and pages responsible for most of the movement, with numbers.
- Why, as far as the data shows — the pattern each one matches, stated with appropriate confidence rather than certainty.
- What to do — the action for each, ordered by the size of the opportunity.
Being honest about uncertainty matters here. "Position held while clicks fell, which is consistent with a SERP layout change" is more credible and more useful than an unqualified claim about an algorithm update.
New, lost and stable queries
Beyond the metric movements, a period comparison sorts every query into three buckets, and each one tells you something different.
New queries
Terms receiving impressions in the current period but not the previous one. These show what is starting to work. Recently published content usually appears here first, at low positions with few clicks, weeks before it produces meaningful traffic. It is the earliest available signal that a content investment is landing.
Lost queries
Terms that had impressions before and have none now. Worth checking individually rather than in aggregate. A high-value query disappearing entirely usually means a page was removed, deindexed, or dropped out of the top hundred — all of which are specific, findable problems.
Stable queries with movement
The largest bucket and where most of the traffic change lives. A query present in both periods with a meaningful click difference is the clearest signal available, because nothing about its existence changed — only its performance.
Comparing pages after a migration
A migration makes period comparison harder because URLs change, so a page-level comparison shows every old URL as lost and every new one as new. The fix is to compare at query level instead, where the terms remain constant regardless of which URL serves them.
Run the query comparison, identify queries that lost clicks, then check which URL now ranks for each. Redirect problems show up as queries where the ranking URL is a redirect target that does not match the intent, or where nothing ranks at all.
Final thoughts
Comparing periods properly turns an anxious conversation into a specific one. Most declines are smaller and more localised than the headline number suggests, and a meaningful share are seasonal patterns that need no response at all.
Set Date to Compare in Search Console, export the query or page comparison table, then analyze the deltas, and check the same window last year before drawing conclusions. That sequence answers the question far more often than another look at the aggregate chart.
Frequently asked questions
How do I compare two periods in Google Search Console?
In Google Search Console, open Performance, set Date to Compare, choose the two matching periods, then export the Queries or Pages table as CSV. Upload that single comparison CSV here; the tool detects the two period columns and recalculates the deltas.
Why did my organic traffic drop?
The aggregate number cannot tell you. Compare query and page level data between periods: impressions down means lost rankings, impressions flat with clicks down usually means the results page changed around you.
How long should each comparison period be?
At least 28 days, and both periods must be the same length with matching day-of-week composition. Shorter periods are dominated by weekly patterns rather than real change.
Why does Search Console show fewer clicks in recent days?
Data for the most recent two to three days is incomplete. Excluding them from any comparison prevents a false decline.
Can this tool tell me if an algorithm update hit my site?
It shows the pattern — broad decline across many pages beginning on a specific date is consistent with an update. Confirming it requires cross-referencing known update dates, which the data alone cannot do.
Should I compare month-on-month or year-on-year?
Both. Month-on-month shows recent change; year-on-year separates real decline from seasonality. Many alarming monthly drops disappear when viewed against the same period last year.
Is my data uploaded when I use this tool?
No. The comparison CSV is parsed locally in your browser. Nothing is transmitted or stored by QCK, so client Search Console data stays on your machine.
Related free tools
Use the GSC comparison export to isolate the queries or pages behind the change, then get a QCK SEO + CRO audit to investigate the cause and prioritize the response.
