Google BigQuery

BigQuery sandbox: free limits, setup and what happens when you upgrade

The BigQuery sandbox lets you use BigQuery with no billing account and no credit card. This guide lists its limits as Google states them in October 2026, including the 10 GiB storage cap that deleting data does not give back, shows how far 1 TiB of free queries goes with tested byte counts, walks through setup and the upgrade, and explains why tables made in the sandbox still expire after you add billing.

Google BigQueryAlyona Samovar10 min read

BigQuery sandbox: free limits, setup and what happens when you upgrade

The BigQuery sandbox is BigQuery with no billing account attached. You sign in with a Google account, create a project, and query, without a credit card. In exchange, Google caps storage and compute, deletes every table after 60 days, and switches off a few features.

Sandbox rule What it means in practice
No billing account, no credit card nothing can be charged
10 GiB of storage, lifetime deleting data does not give the space back
1 TiB of query data processed per month the same as the free tier on a billed account
Tables, views and partitions expire after 60 days your work disappears unless you upgrade
No streaming, no DML, no Data Transfer Service no INSERT/UPDATE/DELETE, no scheduled queries
Upgrade = enable billing on the project old tables keep their 60-day expiry until you change it

Note: Originally published in April 2024. Fully rewritten in October 2026: the limits are quoted from Google’s sandbox and pricing pages as read on 16 October 2026, and every byte count and result below was produced by running the query in BigQuery on 16 October 2026.

Reading to get this done?

What the sandbox limits are

What the sandbox limits are

Google’s sandbox page (read in October 2026) lists these limits:

  • All BigQuery quotas and limits apply. The sandbox is not a smaller engine; it is the same BigQuery with extra caps.
  • Storage: a lifetime limit of 10 GiB. Google adds that this quota “is not refunded upon data deletion”. Loading 8 GiB, deleting it and loading it again does not work: you have used 8 of your 10.
  • Compute: 1 TiB of processed query data each month, the same as the BigQuery free tier.
  • Expiration: every dataset has a default table expiration, and all tables, views and partitions expire after 60 days.
  • Not supported: streaming data, data manipulation language (DML) statements, and the BigQuery Data Transfer Service.

The last line has two effects most guides skip. No DML means no INSERT, UPDATE, DELETE or MERGE; you build tables with CREATE TABLE ... AS SELECT or by loading files instead. And no Data Transfer Service means no scheduled queries, because Google’s scheduled queries page (read in October 2026) says scheduled queries “use features of BigQuery Data Transfer Service”.

How far 1 TiB of free queries goes

How far 1 TiB of free queries goes

BigQuery bills on-demand queries by the bytes read in the columns you select. The fastest way to use up the sandbox is SELECT *. Google’s own sandbox tutorial queries the NYC Citi Bike trips table in the public datasets, so here is that table, counting trips per start station:

SELECT
  start_station_name,
  COUNT(*) AS num_trips
FROM `bigquery-public-data.new_york.citibike_trips`
GROUP BY start_station_name
ORDER BY num_trips DESC
LIMIT 5;
start_station_name num_trips
E 17 St & Broadway 291615
8 Ave & W 31 St 291577
Lafayette St & E 8 St 277060
W 21 St & 6 Ave 275348
West St & Chambers St 260911

The job processed 699,461,121 bytes and billed 700,448,768 (668 MiB). The table holds 33,319,019 rows and 4,916,537,671 bytes; the query read one column of fifteen. Here is what the same table costs with different queries, measured with a dry run:

Query on citibike_trips Bytes processed Runs that fit in 1 TiB
start_station_name with GROUP BY, LIMIT 5 699,461,121 about 1,570
same, no LIMIT 699,461,121 about 1,570
SELECT * ... LIMIT 10 4,916,537,671 about 220

Two rules fall out of that table:

  1. LIMIT does not reduce the bytes on an ordinary table, as the dry runs above show. Google’s pricing page (read in October 2026) notes one exception: on a clustered table, LIMIT can reduce the bytes scanned.
  2. Selecting all columns cost seven times more than selecting one, for ten rows of output.

The query editor shows the estimate before you run it, next to a check mark. In the sandbox, read it every time.

Small queries have a floor. Google charges a minimum of 10 MB per table referenced and per query. A week of the public GA4 sample:

SELECT
  event_date,
  COUNT(*) AS events,
  COUNT(DISTINCT user_pseudo_id) AS users
FROM `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`
WHERE _TABLE_SUFFIX BETWEEN '20210101' AND '20210107'
GROUP BY event_date
ORDER BY event_date;
event_date events users
20210101 22096 2160
20210102 23599 2581
20210103 24743 2579
20210104 31395 3079
20210105 42827 4101
20210106 56076 5486
20210107 44473 4171

It processed 7,518,449 bytes and billed 10,485,760: the 10 MB minimum. Without the _TABLE_SUFFIX filter the dry run reads 131,761,313 bytes for the whole sample, about 17 times more.

The Handoff

Hand this to your AI

Don't start from scratch. Have your AI assistant lay the foundation with you.

Set up a data foundation for my team: connect my data, model the business, and see the numbers everyone trusts.

How to track what you have used this month

How to track what you have used this month

To see how much of the 1 TiB you have used, query the jobs view. Run this in your sandbox project, changing region-us to the location of your data:

SELECT
  COUNT(*) AS queries,
  ROUND(SUM(total_bytes_billed) / POW(1024, 4), 3) AS tib_billed,
  ROUND(100 * SUM(total_bytes_billed) / POW(1024, 4), 1) AS pct_of_free_tib
FROM `region-us`.INFORMATION_SCHEMA.JOBS_BY_PROJECT
WHERE job_type = 'QUERY'
  AND creation_time >= TIMESTAMP_TRUNC(CURRENT_TIMESTAMP(), MONTH);
queries tib_billed pct_of_free_tib
2084 0.529 52.9

That result is from our own test project between 1 and 16 October 2026: 2,084 queries had used 52.9% of a terabyte. The view covers one project in one region; on a billed account the free 1 TiB is counted per billing account, so add up every project on it.

How to start the sandbox

How to start the sandbox

These steps follow Google’s sandbox page as read in October 2026.

  1. Open BigQuery Studio at https://console.cloud.google.com/bigquery.
  2. Sign in with a Google account, or create one.
  3. On the welcome page, pick your Country, tick the Terms of Service box, optionally tick Email updates, and click Agree and continue.

The Google Cloud welcome page, with country and terms of service to accept before continuing.

  1. Click Create project. On the New Project page, enter a Project name. For Organization, choose one or No organization; accounts managed by a school or company must choose their organization. If asked for a Location, click Browse and pick one.

The New Project form, with a project name, a location and a Create button.

  1. Click Create. You return to BigQuery, and a sandbox notice appears at the top of the page.

There is no separate “sandbox login”. The sandbox is a state of a project: any project without billing is in it. Public datasets are already visible in the bigquery-public-data project, so you can run the queries above straight away. To bring your own data, load a CSV or a Google Sheet as a table; it counts against the 10 GiB and expires in 60 days.

What the GA4 export does in a sandbox

What the GA4 export does in a sandbox

Google Analytics 4 can write its BigQuery export to a sandbox project. Google’s Set up BigQuery Export page (read in October 2026) says you can export “to the BigQuery sandbox free of charge (sandbox limits apply)”. Those limits change what you get:

  • Daily export only. Google’s export schema page says that in the sandbox “there is no intraday import of events”. The streaming export, which fills events_intraday_YYYYMMDD, needs an upgraded project.
  • 60 days of history at most. Each events_YYYYMMDD table is a table in the sandbox, so it expires 60 days after it is created, and the export does not send past days again, so expired days are gone.
  • The 10 GiB cap stops the export. Google lists “Cloud project over quota” as a reason export tables stop populating and notes the quota “is small for free projects (10GB)”. It also warns that switching the project from free to paid can make the export fail if the project is already over 10 GB.

For a site you want to analyse for longer than two months, enable billing before linking GA4. How to link the property and read the tables is in the GA4 BigQuery Export guide and querying GA4 event data.

Sandbox, free tier and free trial

Sandbox, free tier and free trial

BigQuery sandbox Free tier on a billed account Google Cloud Free Trial
Card or billing account none billing account required card or other payment method at signup
Query processing 1 TiB a month first 1 TiB a month free free tier plus $300 of credit
Storage 10 GiB, lifetime first 10 GiB a month free free tier plus credit
Table expiration 60 days none by default none by default
DML, streaming, transfers not available available, billed available, paid from credit
Ends when you enable billing does not end after 90 days or when the $300 is spent

Sources, read in October 2026: Google’s BigQuery pricing page for the free tier, which it says is available “during and after the free trial period”, and Google’s free features page for the trial. Beyond the free tier, on-demand queries cost $6.25 per TiB on the pricing page; more on that in BigQuery pricing.

The difference that matters most is storage. On a billed account the 10 GiB is free each month; in the sandbox it is a one-time allowance.

How to upgrade, and the expiration trap

How to upgrade, and the expiration trap

Google’s upgrade instructions are two lines: enable billing for the project, then choose a pricing model. In the console, per the Cloud Billing docs (read in October 2026):

  1. Open the My projects page in the Billing section of the Google Cloud console. A sandbox project shows “Billing is disabled”.

The Billing page listing a project with billing disabled.

  1. In the project’s row, open the Actions menu and choose Change billing.

The Actions menu on a project with billing disabled, offering Change billing.

  1. Pick a billing account and click Set account.

The Set the billing account dialog, listing the billing accounts you manage.

The project is now out of the sandbox. Your existing tables are not safe yet. Google’s sandbox page says you “should update the default expiration times” after upgrading, and its dataset docs (read in October 2026) explain why: when you change a dataset’s default, “any tables that already exist expire according to the original table expiration setting”. Changing the dataset protects new tables only. Every old table still has a date on it.

Clear the dataset defaults first. This statement was validated by dry run, not run:

ALTER SCHEMA your_dataset
SET OPTIONS (
  default_table_expiration_days = NULL,
  default_partition_expiration_days = NULL
);

Then clear each existing table and view. Rather than typing them, generate the statements from INFORMATION_SCHEMA. Shown here against the public new_york dataset so the output is visible; replace it with your dataset:

SELECT
  FORMAT('ALTER %s `%s.%s` SET OPTIONS (expiration_timestamp = NULL);',
         IF(table_type = 'VIEW', 'VIEW', 'TABLE'), table_schema, table_name) AS statement
FROM `bigquery-public-data.new_york.INFORMATION_SCHEMA.TABLES`
ORDER BY table_name
LIMIT 3;
statement
ALTER TABLE `new_york.311_service_requests` SET OPTIONS (expiration_timestamp = NULL);
ALTER TABLE `new_york.citibike_stations` SET OPTIONS (expiration_timestamp = NULL);
ALTER TABLE `new_york.citibike_trips` SET OPTIONS (expiration_timestamp = NULL);

Views need ALTER VIEW: in our dry run, ALTER TABLE on a view failed with “ALTER TABLE SET OPTIONS only supports setting options for tables”. Both forms passed the dry run on the right object type. For partitioned tables, also check the table’s own partition_expiration_days option, since the sandbox applies the 60 days to partitions too.

Do this soon after upgrading. A table created on day one of a sandbox project is deleted on day 60 whether or not billing is on. Before you do, set a budget alert on the billing account; the free tier still applies after the upgrade, but nothing stops a SELECT * on a large table from passing it.

When you outgrow the sandbox

When you outgrow the sandbox

The sandbox is good for learning SQL, testing a public dataset and checking whether BigQuery fits. It stops being enough on the day a query result has to reach someone else on a schedule: there are no scheduled queries, and the tables behind a report vanish after 60 days.

After the upgrade, the usual next step is to export a result to a spreadsheet by hand, which works until the second request. In OWOX Data Marts, you publish the query once as a Data Mart and deliver it to Google Sheets, Data Studio, Excel, email or Slack on a schedule, with one data model behind every report. OWOX Data Marts runs your SQL as written, in your own BigQuery project, and does not transform the data. The function families you will use in that SQL are mapped in the BigQuery functions overview.

The Result

Hand this to your AI

Don't start from scratch. Have your AI assistant lay the foundation with you.

The ask

Set up a data foundation for my team: connect my data, model the business, and see the numbers everyone trusts.

Who answers

Your assistant interviews you about your sources and goals; OWOX Data Marts hold the models and the SQL.

The handoff

Open the prompt in your assistant. It reads this page, asks what it is missing, and sets OWOX up with you.

The result

Published Data Marts you can use in Sheets and ask about in your own AI chat.

Example from our demo shop

7 sources, 75 Data Marts

Seven ad platforms, the store and a plan sheet become 75 published Data Marts in 7 business contexts, joined by defined relationships and read by the same assistant.

We ran this on 9 November 2026.

FAQ

Frequently Asked Questions

How do I upgrade from the BigQuery sandbox to a paid account?

Enable billing on the project: in Manage billing accounts, open the My projects tab, choose Change billing from the project's Actions menu and click Set account. Then clear the 60-day expiration on the dataset defaults and on every existing table and view, because tables created in the sandbox keep their original expiration after the upgrade.

What are the limits of the BigQuery sandbox?

As of October 2026, Google gives the sandbox a lifetime 10 GiB of storage that is not refunded when you delete data, 1 TiB of processed query data per month, and a 60-day expiration on all tables, views and partitions. Streaming, DML statements such as INSERT and UPDATE, and the BigQuery Data Transfer Service, which scheduled queries depend on, are not supported.

How do I set up the BigQuery sandbox?

Open console.cloud.google.com/bigquery, sign in with a Google account, choose your country and accept the terms on the welcome page, then create a project. A project without a billing account is in the sandbox, and a sandbox notice appears on the BigQuery page; no credit card is asked for.

Who should use the BigQuery sandbox?

Anyone learning BigQuery SQL, trying public datasets or checking whether BigQuery fits before asking for a billing account. It is not suited to reporting that must run on a schedule or keep data longer than 60 days.

What is the BigQuery sandbox?

It is BigQuery used in a Google Cloud project with no billing account, so nothing can be charged and no credit card is needed. It runs the same BigQuery engine, with caps on storage and queries, a 60-day table expiration and a few features switched off.

Is the BigQuery sandbox the same as the BigQuery free tier?

No. Both give 1 TiB of free queries a month, but the free tier on a billed account gives 10 GiB of storage free every month with no table expiration, while the sandbox gives 10 GiB once and deletes tables after 60 days.

Who wrote this

Alyona Samovar

Alyona Samovar Senior Digital Analyst

Alyona Samovar is a Senior Digital Analyst who spent years at OWOX helping enterprise clients design analytics systems, build BigQuery reporting pipelines, and optimize marketing measurement. She specializes in SQL-based analytics, data modeling, and turning raw marketing data into actionable insights. Alyona writes about practical analytics workflows, BigQuery best practices, and data-driven decision-making.