BigQuery → Google Sheets

BigQuery to Google Sheets, on a schedule

Point SaturnSQL at BigQuery with a read-only service account and the results land in your sheet automatically, no Apps Script, no add-on to install. From €19/month.

Read-only service account · Per-query byte cap · No credit card required

ga4_daily_sessions.sqlbigquery
SELECT
  event_date,
  count(DISTINCT user_pseudo_id) AS sessions
FROM `project.analytics.events_*`
WHERE _TABLE_SUFFIX = FORMAT_DATE('%Y%m%d', CURRENT_DATE() - 1)
GROUP BY 1 ORDER BY 1;
Every day
Daily sessionsUpdated 06:00
event_datesessions
12026-07-2518,204
22026-07-2416,930
32026-07-2317,551
42026-07-2215,872

Leaving SeekWell or PopSQL?

SeekWell ends July 31, 2026, PopSQL shuts down September 1, 2026. Keep your BigQuery reports running for less, see the SeekWell or PopSQL migration guide.

Set it up in five minutes

No reverse-ETL platform. No BI migration. No warehouse in the middle.

1

Connect via service account

Add a BigQuery connection with a read-only service account: Data Viewer and Job User roles, nothing else.

2

Write the SQL

Write SQL in the browser editor with schema-aware autocomplete, run it, and save it.

3

Schedule to a Sheet

Choose the Sheet, pick hourly, daily, or weekly, and append or overwrite. Done.

Already using GA4?

Your GA4 events already land in BigQuery for free. Turn them into a living report with SaturnSQL, see how to query GA4 data in BigQuery.

Honest comparison

What about Connected Sheets?

Connected Sheets is Google's free, built-in way to pivot BigQuery data inside a spreadsheet. It is often exactly enough, here is where it is and is not.

Connected Sheets is the right call when…

  • You just need to view or pivot one BigQuery table, live, inside a single spreadsheet
  • Everyone touching the data already has BigQuery access through the same Google account
  • The result does not need to be a saved, reusable, named query the team owns

Where it runs out of room

  • No shared query library: each teammate's Connected Sheet is its own copy, not a query the team owns
  • No version history on the query itself (tracing why a number changed means comparing spreadsheets by hand)
  • Lives inside one spreadsheet, with no single workspace spanning BigQuery and an operational database like Postgres or MySQL
  • No native way to also push the same result to Slack or a second destination sheet on the same schedule
Pricing

From €19/mo, with a real SQL editor included

Connected Sheets is free but stays inside one spreadsheet. Coefficient and Supermetrics price per source or per seat for scheduled refresh.

Scheduled refreshSQL editorTeam query libraryPrice
SaturnSQLHourly, in the base plan€19/mo
Connected SheetsManual, or scheduled refresh on some paid Workspace tiersFree
CoefficientHourly on paid tiers$59/mo
SupermetricsScheduled, per connector$39+/mo per source

Vendors’ published rates as of July 2026, for orientation, not a live quote. Connected Sheets is free with a Google account that has BigQuery access. Coefficient and Supermetrics also connect Snowflake, which SaturnSQL does not.

Cost safety

Keep BigQuery costs predictable

Every BigQuery connection has a per-query maximum bytes billed cap, 10 GB by default (about $0.06 at on-demand pricing). BigQuery refuses to run any scheduled query that would scan more than the cap, so a bad join or a dropped filter fails safely instead of running up a surprise bill. Raise or lower the cap per connection depending on how large your tables are.

For large or partitioned tables, filter on the partition column (for example a date or _TABLE_SUFFIX filter on GA4's sharded event tables) so BigQuery only scans the days you actually need. That keeps scheduled runs well under the byte cap and the query fast, whether it runs hourly or once a day. See setting up the read-only service account for the exact IAM roles, and exporting to Google Sheets or scheduling queries for how the cadence and destination sheet work.

FAQ

Frequently asked questions

Does SaturnSQL support BigQuery?

Yes. Add a BigQuery connection with a read-only service account, write your SQL in the browser editor, and schedule the results to a Google Sheet. Setup takes about five minutes. See the BigQuery client overview for the full editor feature set.

What does it cost to run?

Every query defaults to a 10 GB per-query byte cap, about $0.06 at BigQuery's on-demand pricing, and you can raise or lower that cap per connection. Combined with a SaturnSQL plan from €19/user/month, most scheduled reports cost cents per month in BigQuery charges.

Is it read-only?

Yes. The service account needs only two IAM roles: BigQuery Data Viewer and BigQuery Job User. Neither role can write, delete, or modify tables, datasets, or the service account itself, so SaturnSQL cannot change your data even by mistake.

Can I pull my GA4 data this way?

Yes, if GA4's free BigQuery export is enabled. SaturnSQL can query those exported event tables directly and schedule the results into a Sheet. See our guide to querying GA4 data in BigQuery for the table structure and starter SQL.

Your BigQuery data in Sheets, on a schedule

From €19/mo. Set it up in five minutes and stop exporting CSVs by hand.

Start free for 14 days

No credit card required.