Enable BigQuery and billing, grant Search Console's export service account BigQuery Job User and Data Editor roles, configure the property export, then monitor daily loads, costs, partitions and schema integrity.
- Bulk export sends daily Search Console performance data to BigQuery except anonymized queries.
- The export begins going forward and does not automatically backfill older history.
- The first export can take up to 48 hours after successful configuration.
- Partition expiration should be at least 14 days, and changing exported table schemas can break the pipeline.
01
Definition
Search Console bulk data export is a scheduled pipeline that writes a property’s performance data into Google BigQuery. It is designed for sites that need more rows, longer controlled retention, repeatable SQL analysis or integration with other datasets.
Google states that bulk export includes all Search Console performance data available for the property except anonymized queries. The export runs daily after configuration and accumulates data in BigQuery until the organization deletes it or applies partition expiration. About bulk data export[1]
This is not a magical historical archive. The first export starts with current data after setup. For earlier history, Google directs users to the Search Console API or reports, subject to their limits. Start a new bulk data export[2]
02
Mechanism
Prepare the Cloud project
The Google Cloud project must have billing configured and the required BigQuery services enabled. Google notes that a free usage level exists, but storage and query usage above free quotas can incur cost.
Enable:
- BigQuery API
- BigQuery Storage API
Choose a project whose ownership, billing and lifecycle are controlled by the organization rather than a temporary agency account.
Grant the export service account
Google instructs administrators to grant this principal access:
search-console-data-export@system.gserviceaccount.comRequired roles:
- BigQuery Job User
- BigQuery Data Editor
Grant only the documented roles at the intended project scope. Record the change in the Cloud IAM inventory. Start a new bulk data export[2]
Configure the Search Console property
In Search Console, an owner opens Settings and configures Bulk data export with:
- Cloud project ID, not project number
- Dataset name
- Dataset location
The default dataset name begins with searchconsole. Multiple properties can export to one project when each uses an appropriate distinct dataset name.
Choose the dataset location carefully. Google warns that location is not easy to change after exports begin. A later move can require stopping the export, waiting for the final load, copying the dataset and restarting, with possible missing days during transition. Manage and monitor bulk data exports[3]
Wait for the first load
The first export can occur up to 48 hours after successful setup and includes data for the day of the export. A quiet dataset ten minutes after configuration is not a failure.
Search Console retries nonpersistent errors on later scheduled runs. Persistent configuration failures require intervention.
Protect the generated schema
After tables are created, do not casually add, rename or change columns. Google documents schema mismatch as an export-breaking condition.
Use:
- Views for transformed fields
- Separate derived tables
- Scheduled queries
- Dataform or another transformation layer
- Documented downstream models
Treat source export tables as externally managed ingestion tables.
Control retention and cost
Data can accumulate indefinitely. Apply partition expiration when appropriate, but Google recommends at least 14 days because a shorter expiration can cause exports to fail when a target partition is near expiration or already gone.
Cost controls can include:
- Partition filters
- Required partition filters on derived tables
- Query byte limits
- Scheduled summary tables
- Dataset budgets and alerts
- Avoiding repeated full-table scans
- Retention aligned with actual analytical needs
Query with aggregation
Google warns that bulk-export rows are not guaranteed to be preconsolidated by date, URL, site or another apparent key. Queries should use aggregation functions such as SUM rather than assuming one row per combination. Query guidelines and sample queries[4]
A conceptual pattern is:
SELECT
data_date,
url,
SUM(clicks) AS clicks,
SUM(impressions) AS impressions
FROM searchconsole.searchdata_url_impression
WHERE data_date BETWEEN DATE('2026-07-01') AND DATE('2026-07-31')
GROUP BY data_date, url;Adjust table and field names to the current exported schema.
03
Examples
Large publisher needs query coverage
The interface exposes only representative query rows. Bulk export provides the fuller non-anonymized row set available to Search Console, enabling analysis by query, page, country, device and search appearance without the interface’s 1,000-row table limit.
Anonymized queries remain unavailable. Bulk export improves completeness; it does not abolish privacy.
First export does not appear immediately
Setup completed Monday. The first tables appear Wednesday. That remains within Google’s documented 48-hour setup window.
Check the Search Console export status before changing IAM repeatedly and creating three competing datasets.
Schema modification breaks export
An analyst adds a convenience column directly to the managed table. Search Console later reports schema mismatch.
Repair by restoring the expected schema or recreating the affected table according to Google’s guidance. Put custom fields in a view or derived table thereafter.
Partition expiration is seven days
The target partition can expire before delayed retry data arrives. Google recommends an expiration of 14 days or longer. Increase retention or remove expiration from the managed source table and apply lifecycle rules downstream.
Export errors persist
Search Console shows the latest attempt and sends messages for nontransient errors. Google says failed daily data is retained for retry for about a week; after enough failures, a date can be abandoned, and after roughly a month of failed attempts the bulk export can stop entirely. Manage and monitor bulk data exports[3]
Monitor the setting instead of assuming a configured export remains immortal.
04
Boundaries
Bulk export is not a substitute for analytics, rank tracking, server logs or conversion systems. It carries Search Console’s definitions, canonical attribution and privacy omissions into a more flexible storage layer. SQL cannot recover data Google never supplied.
It also introduces Cloud governance obligations: billing, IAM, regional location, retention, data ownership, monitoring and downstream access. Do not grant broad project ownership merely to make setup easier. Do not place the dataset in a disposable project. Do not expose query data to every employee because the table is now technically convenient.
For smaller properties, direct report exports or the Search Console API may be simpler. Google currently documents report exports as limited to the shown table rows and the API as allowing up to 50,000 rows per day per search type and property. Export Search Console data using the API[5]
Use Search Console Performance Data Limits to understand what bulk export does and does not improve, Search Console Users and Permissions to govern who can configure it, and Domain Property vs. URL-Prefix Property to ensure the exported property has the intended scope.
References
Sources behind this record
- About bulk data export of Search Console data to BigQuery — Google (accessed August 1, 2026)
- Start a new bulk data export — Google (accessed August 1, 2026)
- Manage and monitor bulk data exports in Search Console — Google (accessed August 1, 2026)
- Query guidelines and sample queries — Google (accessed August 1, 2026)
- Export Search Console data using the Search Console API — Google (accessed August 1, 2026)
Corrections
Correction history
No corrections recorded.
To report an error, use the public corrections path.
Bulk export improves row access and analytical flexibility but does not expose anonymized queries, remove Search Console's measurement rules or guarantee zero Google Cloud cost.