Connect Google BigQuery
The Google Cloud roles you need, the shared and per-user sign-in choices, whose account the connection queries as, how live queries are billed, and how to fix sign-in and permission errors.
Connect BigQuery with your Google account and Golden queries it live. Nothing is copied out: every chart runs as a BigQuery job in your project. This page covers the Google Cloud setup, what happens after you connect, and how to read the errors.
Before you start
The person who signs in needs two things in Google Cloud:
- BigQuery Job User on the project you enter as Project ID. Golden runs every query as a job in that project, so that's also where the cost lands.
- BigQuery Data Viewer on the datasets you want to analyze.
Golden asks Google for read-only BigQuery access, nothing else. It can't change your data or touch other Google services.
Shared or per-user sign-in
When you create a new BigQuery connection, the dialog offers two ways to sign in:
- Google sign-in (shared by everyone) - the connection queries as the one person who signed in, so everyone with access to the connection reads data through that account. This is the default.
- Google sign-in (per-user) - each member signs in with their own Google account, and their queries run as them. The customer's own BigQuery permissions then decide what each person sees.
Connect
- In a space, click Create and choose Saved connection, then pick Google BigQuery.
- Enter the Project ID (lowercase, for example my-analytics-123).
- Choose a sign-in method - Google sign-in (shared by everyone) or Google sign-in (per-user).
- Click Connect with Google and approve the read-only access. Google shows this screen every time you connect or reconnect. With per-user sign-in, each teammate signs in the first time they open the connection.
More detail on the dialog is in Set up a warehouse connection.
Pick your data
After you save, the import wizard opens with the title "Import Schema from <connection>". It has three tabs: Browse Tables, Query Builder, and Custom SQL.
- Browse Tables: search with "Search tables, columns, descriptions...", then tick up to 10 tables. Golden suggests relationships between them so you can chart across them.
- Query Builder: pick a table, columns, and filters, then click Preview Query to see the generated SQL. Copy SQL or Edit in Custom SQL takes it further.
- Custom SQL: write a single read-only SELECT. Validate Query checks it before you import. Anything that writes, or more than one statement, is refused with "Only read-only SELECT queries are allowed here".
- Click Import Schema to finish.
- The browser lists the datasets in your Project ID, plus a group of Google public datasets for trying things out: usa_names, chicago_taxi_trips, new_york_citibike, san_francisco_311, baseball, github_repos, google_trends, world_bank_intl_education, noaa_gsod, and new_york_taxi_trips.
- Data in another project doesn't appear in the browser. Reach it with Custom SQL and a fully qualified name, for example
other-project.dataset.table. - Row counts and column details load for the first 20 datasets. Views never show a row count.
How queries and refresh work
BigQuery connections are live. Import Schema saves the shape of your tables, never the rows. Every chart, filter, and AI question runs a fresh query in BigQuery, so what you see is always current.
- Golden reuses a chart's result for 5 minutes, so flipping between sheets doesn't re-run the same query.
- There's nothing to schedule. Reopen a dashboard and it queries the warehouse again.
Keep an eye on cost
BigQuery bills by data scanned, and Golden doesn't set a cap per query. A few habits keep it in check:
- Point Golden at partitioned or clustered tables, and filter on the partition column.
- Select the columns you need in Custom SQL instead of SELECT *.
- If a chart times out in Golden, the job keeps running in BigQuery until it finishes and is still billed. Narrow the query rather than retrying it.
- Set a project-level quota in Google Cloud if you want a hard ceiling.
Browsing tables is cheap: the browser reads table metadata, not the tables.
Limits
| Limit | Value |
|---|---|
| Rows per query | 50,000 |
| Chart query time | 120 seconds. After that the chart shows a timeout error. |
| Rows in a table chart | 50,000. Totals are still computed over every row. |
| Queries running at once | 4 per dataset. The rest wait their turn. |
| Query rate | 600 per minute per account. Past that: "Too many queries right now. Please wait a moment and try again." |
| Tables per import | 10 |
Troubleshooting
| What you see | What to do |
|---|---|
| A Reconnect prompt saying your session expired | Click Reconnect on the chart and sign in with Google again. |
| Reconnect needed, "Ask the connection's owner to reconnect it." | Only the person who set up the connection can reconnect it. Ask them. |
| A message that your organization's Google security policy requires periodic re-authentication | Your Google admin requires regular sign-in. Reconnect when asked; it's expected. |
| Invalid Project ID. | Use the project ID, not its display name: 6 to 30 lowercase letters, digits, or dashes. |
| Failed to list BigQuery datasets | Check the Project ID and that your account has BigQuery Job User and Data Viewer. |
| A quota or rate-limit error | BigQuery is busy. Wait a moment and try again. |