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
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;
| event_date | sessions | |
| 1 | 2026-07-25 | 18,204 |
| 2 | 2026-07-24 | 16,930 |
| 3 | 2026-07-23 | 17,551 |
| 4 | 2026-07-22 | 15,872 |
Set it up in five minutes
No reverse-ETL platform. No BI migration. No warehouse in the middle.
Connect via service account
Add a BigQuery connection with a read-only service account: Data Viewer and Job User roles, nothing else.
Write the SQL
Write SQL in the browser editor with schema-aware autocomplete, run it, and save it.
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.
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
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 refresh | SQL editor | Team query library | Price | |
|---|---|---|---|---|
| SaturnSQL | Hourly, in the base plan | ✓ | ✓ | €19/mo |
| Connected Sheets | Manual, or scheduled refresh on some paid Workspace tiers | — | — | Free |
| Coefficient | Hourly on paid tiers | — | — | $59/mo |
| Supermetrics | Scheduled, 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.
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.
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 daysNo credit card required.
Use Cases
Help
© 2026 Panda Capital Oy Ab. All rights reserved.