How to keep Search Console data beyond 16 months
Learn three ways to retain Google Search Console performance history: scheduled API exports, BigQuery bulk export and managed storage.
Search Console performance reports retain a rolling window of roughly 16 months. To analyze longer histories, begin saving the data before it ages out—through scheduled API extracts, Google BigQuery bulk export or a service that explicitly offers retention.
Why the 16-month window matters
Search Console is excellent at answering how pages and queries performed recently. But once historical performance records age out of the reporting window, you cannot request them from the standard interface or API.
This becomes frustrating when you want to examine an older seasonal cycle, a pre-redesign baseline or the effect of a content investment from several years ago.
The key principle is simple: start collecting before the oldest data you care about disappears. Adding an export next year will not reconstruct data Google no longer retains.
Option 1: export through the Search Console API
The Search Analytics API can retrieve metrics such as clicks, impressions, CTR and average position by dimensions including date, page, query, country and device.
A basic retention pipeline looks like this:
- Authenticate to the correct Search Console property using OAuth.
- Run a scheduled export of completed performance dates.
- Save raw query results with their property, date, search type and dimensions.
- Handle pagination, failures and API limitations.
- Validate totals and periodically check that exports are still working.
API results have row limits and do not necessarily include every anonymized or very low-volume query. Do not assume that repeated API queries reproduce a perfect, exhaustive copy of the Search Console UI.
Option 2: Search Console bulk export to BigQuery
Google supports an ongoing bulk data export to BigQuery. Its official announcement explains how daily performance data can be exported at scale without the standard daily API row limit, while anonymized queries remain excluded.
This is a strong choice for a website with many pages and queries, especially when you also need SQL joins, dashboards or downstream data science.
Consider the trade-offs:
| Advantage | Cost or limitation |
|---|---|
| Daily, structured historical data | Requires a Google Cloud project and BigQuery setup. |
| Better coverage for large sites than basic API extracts | Anonymized query details remain excluded. |
| Useful for long-term trend and page analysis | Storage, query usage and maintenance may incur costs. |
| Data remains under your warehouse control | Export starts when configured, not before. |
For smaller websites, a well-maintained scheduled API export may be sufficient.
Option 3: use a managed history service
A managed service can make the storage and reporting side easier, but check its actual retention policy, export options and pricing. Ask whether it stores query-level details, which dimensions are available and what happens if you cancel.
GSC Magic’s website describes a planned product for AI access to search data. Long-term managed retention should be treated as a planned capability until offered in your account, not as an existing backup of your site. Join the GSC Magic waitlist for product updates.
Avoid three common reporting mistakes
Comparing incomplete date ranges
Search Console reporting can be delayed. Exclude not-yet-final dates from month-to-month comparisons where possible.
Mixing aggregation levels
Property-level totals and page-grouped data may not sum in the way you expect. Document whether a dataset was grouped by page, query, day or property.
Treating clicks as sessions
Google Search clicks and GA4 sessions measure different things. Read why GSC clicks don’t match GA4 sessions before stitching them together in a long-term dashboard.
What to store: a usable historical dataset
Saving one sitewide click total every month is better than nothing, but it severely limits later SEO analysis. Decide in advance which questions you want to answer in a year.
For a practical performance export, preserve:
| Field | Why it matters |
|---|---|
| Property identifier | Distinguishes a domain property from individual URL-prefix properties |
| Report date | Enables day-level trends and correctly aligned comparison periods |
| Search type | Keeps Web, Image and other eligible surfaces separate |
| Page URL | Identifies landing-page performance and tracks migrations |
| Query, country, device where available | Enables segmentation and root-cause investigations |
| Clicks, impressions, CTR and average position | Core Search Console performance metrics |
| Export timestamp and data state | Explains when the report was captured and whether the data was final |
Not every field needs to appear in every table. A daily page-level table and a daily query-level table can be more reliable than one enormous table that blends incompatible aggregation levels. Document your keys and metric definitions.
Watch the privacy caveat: anonymized queries and API reporting limitations remain limitations in stored exports. Saving historical API results does not create private keyword data Google never returned.
Plan for seasonality and site migrations
Imagine a seasonal store wants to compare November 2024 with November 2026. The normal rolling Search Console view may no longer include the older window. A retained daily dataset can support the comparison—if collection started early enough.
For URL changes, store a separate redirect or migration mapping. Otherwise, a page that moved from /old-guide to /new-guide may look like one page died and another suddenly appeared. Document site migrations alongside historical metrics.
For a meaningful year-over-year report, use equivalent days or weeks, the same search type, and comparable query/page definitions. Look at both absolute click change and percentage change; a 200% jump from one click to three does not deserve the same attention as a gain of 2,000 clicks.
How to validate a historical export
A scheduled pipeline can fail silently. Run these checks each week:
- Did the job complete on its expected schedule?
- Are the newest dates beyond Google’s normal data lag, and are the exported periods final?
- Are there duplicate keys for the same property, date, search type and grouping dimensions?
- Does the row count fall to zero unexpectedly for a previously active property?
- Are property-level control totals broadly consistent with Search Console when compared at the same aggregation?
- Can you restore a sample date range from your retained dataset, not just see that backup files exist?
Set an alert for missed exports. An unused backup that failed three months ago is not a retention strategy.
FAQ: keeping Search Console history
Can I backfill all past data when I first set up BigQuery export?
No. Bulk export starts after configuration. You may separately export still-available history through other means, subject to data coverage and limits, but you cannot reconstruct performance data Google no longer has.
Does the 16-month limit apply to every kind of Search Console report?
The commonly cited rolling window is for Search performance history. Other Search Console reports have different retention and reporting behavior, so do not assume one universal retention policy.
Is BigQuery always the best choice?
Not necessarily. A small site may be well served by a scheduled API export with durable storage and a validation alert. BigQuery becomes particularly useful for larger datasets and SQL-based analysis.
Does GSC Magic already store several years of my data?
Do not assume so. Managed long-term retention is described on the product website as a planned Pro capability. Confirm that your account has access to it before treating it as your archive. You can follow GSC Magic’s availability.
A retention checklist
- Select the Search Console property and Search type to preserve.
- Decide which dimensions matter: pages, queries, countries, devices or dates.
- Save exports in a durable location, with a schema you can query later.
- Log successful run dates and alert on missed exports.
- Verify the oldest and newest available dates monthly.
- Document changes to site migrations, canonical URLs and tracking setup.
Once history exists, your assistant can compare multiple years if your connector actually exposes that stored dataset. A standard Search Console connection cannot restore data outside Google’s retention window.
For daily analysis ideas, see our SEO prompts library or Search Console API guide.
Join the waitlist
Coming soon. Get 30% off Pro for 6 months when you join.