---
title: "Compare Date Ranges in Search Console · GSC PAP"
source: https://gscpap.com/guides/compare-search-console-date-ranges
updated: 2026-10-19
---

[All guides](https://gscpap.com/guides)

Guide · about 7 minutes

# Traffic changed: how to compare two Search Console periods and find out why

By the [GSC PAP team](https://gscpap.com/about) · Updated October 19, 2026

A period comparison is only useful if it ends in a cause. This guide runs one comparison properly, checks the three traps that fake a drop, then drills from the site total into the queries and pages that actually moved, and finally checks whether the change reached conversions in GA4.

The tools are `compare_periods` for the Search Console diff, `ga4_compare_periods` for the same two windows in Analytics, and `historical_position_trend` for the queries that look like they moved for ranking reasons.

## How do I compare two date ranges in Google Search Console?

Search Console has a comparison mode in the date picker, and it works well for one dimension at a time: queries, or pages, or countries. What it does not do is tell you which of those explains the change. You end up exporting both windows and lining them up in a spreadsheet, which is the part people stop doing after the second time.

A tool that holds both windows at once can do the subtraction for you across every dimension and return only the rows that moved. With GSC PAP that is `compare_periods`: any two windows, diffed by query, page or country, with the gains and losses ranked.

[![Search Console date range dialog on the Compare tab with Compare last 28 days year over year selected](https://gscpap.com/images/guides/compare-search-console-date-ranges.webp)](https://gscpap.com/images/guides/compare-search-console-date-ranges.webp)

The Compare tab (1) of the date picker. Year over year (2) keeps seasonality out of the comparison.

## Three traps that make a normal week look like a crash

Most reported drops are one of these three, and all three are avoidable before you alarm anybody.

-   Incomplete days. Search Console data settles over about three days, so a window that ends today always undercounts. End both windows at least three days before today, and make them the same length.
-   Mismatched weekdays. A 28-day window against a 30-day window compares four weekends with five. Compare equal numbers of weeks, aligned to the same weekday.
-   Seasonality read as decline. Many query sets fall every year in the same month. Compare year over year as well as month over month before concluding anything.

## Did the traffic move, or did the measurement move?

Before investigating a drop, check whether anything about the property changed. A domain property and a URL-prefix property for the same site report different totals, so a dashboard that silently switched between them shows a cliff that never happened. A site migration, a canonical change or a country split does the same thing.

The quick check is whether impressions moved with the clicks. A drop in clicks with impressions unchanged is a result-page or CTR story. A drop in both is a ranking or indexing story. A drop in both that starts on an exact date, across most pages, is usually something that happened to the site rather than to the market.

## Diagnosing a change with Claude

The prompt works in any client connected to GSC PAP. Not set up in Claude yet? [Connect GSC PAP to Claude](https://gscpap.com/integrations/claude-ai-connectors)

### The scenario

Someone forwards a dashboard screenshot: organic down 18% month over month, with a question mark. You have an hour, and the honest answer could be anything from a Google update to an incomplete week to one page falling out of the index.

### The prompt

```prompt
Use the gsc-pap MCP. For https://example.com, compare the last 28 complete days (ending 3 days ago) with the prior 28 days using compare_periods, and also with the same 28 days a year ago. Give me the site totals first, then the 15 queries and 15 pages with the biggest click changes in both directions. Flag whether impressions moved with the clicks. For the 5 biggest query losses, show the position trend over the last 90 days with historical_position_trend. Then run ga4_compare_periods on the same windows for organic sessions and conversions, and tell me whether the change reached conversions or stopped at clicks.
```

### What happens

1.  #### Totals first, so you know the size of the thing
    
    `compare_periods` returns clicks, impressions, CTR and average position for both windows and the delta. Reading the four together already narrows the diagnosis: clicks and impressions falling together is ranking, clicks alone is CTR, position improving while clicks fall is usually a mix shift towards queries with less volume.
    
2.  #### Then the rows that moved, in both directions
    
    Losses alone are misleading. A site can lose 400 clicks on one query, gain 350 on another and be fine. Ranking the gains next to the losses shows whether traffic moved or disappeared.
    
3.  #### A year-over-year window as the control
    
    The same two windows a year apart tell you whether this is a pattern. If you connected recently, Google's 16-month limit may be the constraint; an archive that has been running longer answers it anyway.
    
4.  #### Then check whether it reached the business
    
    `ga4_compare_periods` on the same dates says whether the click change became a session and conversion change. A click drop that does not reach conversions is often queries that never converted, which changes how urgent this is.
    

### What the answer looks like

Claude with GSC PAP connected

Compare the last 28 complete days with the 28 before and with the same days last year. Is the drop ranking or CTR, and did it reach conversions?

`compare_periods` 28 days ending 3 days ago, against the prior 28 and the same 28 a year ago

| Metric | Last 28 days | Prior 28 days | Change | Year over year |
| --- | --- | --- | --- | --- |
| Clicks | 12,480 | 13,950 | \-10.5% | +4.2% |
| Impressions | 402,000 | 405,300 | \-0.8% | +9.1% |
| CTR | 3.10% | 3.44% | \-0.34 pt | \-0.15 pt |
| Average position | 8.4 | 8.3 | +0.1 | \-0.6 |

Clicks fell 10.5% while impressions held, so this is a CTR story, not rankings. Most of it is one query: "pricing calculator" lost 1,140 clicks at an unchanged position, which points at the result page, so a SERP feature audit is the next step. Year over year you are still up 4%, and GA4 shows organic conversions flat, so the drop stopped at clicks.

Illustrative answer for a made-up example.com. Your queries and numbers will differ.

### Outcome

A one-paragraph answer with numbers behind it: what changed, where it changed, whether it is ranking or CTR, whether it happened last year too, and whether it touched conversions. Good enough to reply to the dashboard screenshot the same hour.

### Where to take it next

-   Save the prompt with your own property and GA4 id, and re-run it whenever a number moves.
-   If the losses are concentrated on one page, pull that page's query mix before touching the content.
-   If positions held and CTR fell, audit the SERP features on those queries.
-   Run the same comparison on the country dimension if you sell in more than one market; one market moving can carry the whole total.

## Frequently asked questions

### Why do my last few days of Search Console data look low?

Search Console data takes roughly three days to settle, so the most recent days are always incomplete and always look like a decline. End both of your comparison windows at least three days before today.

### How far back can I compare in Search Console?

About 16 months, after which Google deletes the older data permanently. Year-over-year comparisons work while the earlier window is still inside that limit. To compare beyond it you need your own stored copy, which is what the GSC PAP archive keeps from the day you connect.

### Clicks dropped but impressions did not. What does that mean?

You are still ranking and still being shown, and fewer people are clicking. That points at the result page rather than your rankings: an AI Overview, a featured snippet or a competitor's richer listing. Check the SERP features on the affected queries before rewriting the pages.

### Was it a Google update or something I did?

Updates tend to move many pages across a site within a few days, and affect sites of a similar kind at the same time. A change you made tends to start on an exact date and to concentrate on the pages or templates you touched. Comparing the date the change starts with your own deploy history settles it faster than any ranking tracker.

## Other guides

[All guides](https://gscpap.com/guides)

[

### AI queries in Google Search Console: how to tell people, AI Mode and agents apart

Search Console mixes AI Mode follow-ups, AI agent searches and scripts into your query report. How to spot each one, with regex filters and real data.

14 min read

](https://gscpap.com/guides/ai-queries-in-google-search-console)[

### Good position, no clicks: find the SERP features eating your CTR

Ranking third and getting no clicks usually means something sits above you: an AI Overview, a featured snippet or a map pack. How to check which, query by query.

7 min read

](https://gscpap.com/guides/low-ctr-at-good-position-serp-features)[

### Find the pages quietly losing organic traffic, before the rankings go

Content decay is slow enough to miss on a dashboard. How to find the pages whose clicks keep sliding, tell decay from seasonality, and decide what to refresh.

7 min read

](https://gscpap.com/guides/find-pages-losing-organic-traffic)[

### Google Search Console anonymized queries: measure the traffic you can't see

Search Console hides anonymized queries from query rows but counts them in totals. Learn what they are, why no tool reveals them, and how to measure them.

6 min read

](https://gscpap.com/guides/google-search-console-anonymized-queries)[

### GSC clicks vs GA4 sessions: why they differ and how to tie clicks to conversions

A Search Console click and a GA4 session measure different things. Why the numbers never match, what gap is normal, and how to compare and combine them page by page.

11 min read

](https://gscpap.com/guides/correlate-organic-clicks-to-ga4-conversions)[

### Audit Core Web Vitals across your site with AI

Audit Core Web Vitals with Claude through a hosted PageSpeed Insights MCP server: Lighthouse lab data and real-user CrUX field data for your top pages.

7 min read

](https://gscpap.com/guides/audit-core-web-vitals-with-ai)[

### Google Search Console historical data: how to keep it past 16 months

Google Search Console keeps 16 months of historical data, then deletes it. Here is what it includes and how to keep it longer, from BigQuery to an archive.

8 min read

](https://gscpap.com/guides/recover-search-console-history-past-16-months)[

### Build a weekly SEO health report with Claude

Automate a weekly SEO report with Claude: one saved prompt pulls Search Console changes, quick wins, decaying pages, GA4 conversions and Core Web Vitals.

8 min read

](https://gscpap.com/guides/weekly-seo-health-report-via-claude)[

### Bulk URL inspection in Google Search Console: diagnose indexing issues at scale

Search Console inspects one URL at a time. The URL Inspection API allows 2,000 checks a day per property. How to inspect in bulk and find indexing issues.

8 min read

](https://gscpap.com/guides/diagnose-indexing-issues-bulk-url-inspection)[

### Track keyword rankings in Google Search Console, past the 16-month limit

See a keyword's position history in Google Search Console, what that average really measures, and how to keep ranking history past the 16-month limit.

6 min read

](https://gscpap.com/guides/track-keyword-rankings-over-years)[

### How to find striking distance keywords in Google Search Console

Striking distance keywords rank just off page one of Google. Find them in Search Console, pick the ones worth fixing, and learn what to change on the page.

8 min read

](https://gscpap.com/guides/find-seo-quick-wins)[

### How to find keyword cannibalization in Google Search Console

Check for keyword cannibalization in Google Search Console: find queries where your pages compete, judge whether it hurts, and fix the cases that do.

8 min read

](https://gscpap.com/guides/detect-keyword-cannibalization)

### Tools that automate this workflow

The MCP exposes 36 tools across 9 categories. These are the ones most relevant to this page:

-   [compare_periods](https://gscpap.com/tools#compare_periods) · Diff any two date ranges (e.g. last 28 days vs prior 28) to spot wins and losses across queries, pages, or countries.
-   [ga4_compare_periods](https://gscpap.com/tools#ga4_compare_periods) · Diff any two windows for any GA4 metric (sessions, conversions, revenue, etc.). Week-over-week, month-over-month, with optional dimension slice. Returns absolute and percentage delta.
-   [historical_position_trend](https://gscpap.com/tools#historical_position_trend) · Plot a query's position over the last N days to see whether you're trending up, down, or volatile.
-   [search_analytics_query](https://gscpap.com/tools#search_analytics_query) · Run any Search Analytics query with full dimension and filter support, identical to what you'd hit the GSC API for, but inline in chat.
-   [detect_duplicate_properties](https://gscpap.com/tools#detect_duplicate_properties) · Find duplicate Search Console properties (e.g. http vs https, www vs apex) that split your reporting and waste verification slots.

[Browse all 36 tools](https://gscpap.com/tools)

### Skip the GCP project. Just sign in.

GSC PAP is hosted, free, and read-only. No service account JSON, no Python venv, no API keys. Sign in with Google, mint a bearer token, paste it into Claude / Cursor / Claude Code. About 60 seconds end to end.

[Sign in with Google](https://app.gscpap.com/login) Read-only Search Console scope, revoke anytime

Want a guide for a workflow we have not covered? Email [support@gscpap.com](mailto:support@gscpap.com).
