BigQuery connection
Stream survey responses to a Google BigQuery table for advanced analysis. Build dashboards, run SQL queries, and combine response data with your other datasets.
Overview
The BigQuery connection inserts a new row into your chosen BigQuery table for each survey response. Centiment automatically creates the table with the right schema if it doesn't exist, and updates the schema as you add new questions to your survey. Responses are synced in efficient batches of 100 rows.
Prerequisites
-
A Google Cloud project with the BigQuery API enabled
-
A service account with BigQuery access and its JSON key file
-
A BigQuery dataset
-
A survey with at least one question
Setup
Step 1: Connect your BigQuery account
Select an existing connected BigQuery account or click Connect an account and upload your Google Cloud service account JSON key file.
Step 2: Select a dataset and table
Choose the BigQuery dataset and table where response rows should be inserted. If the table doesn't exist yet, Centiment creates it automatically with the correct schema.
Step 3: Set trigger rules
Choose which response statuses trigger the sync — Complete, Disqualified, or Over Quota. You can also add conditions to filter which responses are sent.
What gets synced
Each row includes the following metadata columns alongside your survey question data:
-
session — The unique response session ID
-
status — Response status (complete, partial, disqualified, etc.)
-
progress — Completion percentage
-
started_at — When the response began
-
ended_at — When the response was submitted
-
duration — How long the response took
-
collector — Which collector captured the response
-
language — Response language
-
timezone — Respondent's timezone
-
ip — Respondent's IP address
-
os — Operating system
-
browser — Browser used
-
device — Device type
Survey questions are added as individual columns with sanitized names that comply with BigQuery's naming rules. NPS and CSAT questions get separate score and comment columns. Matrix questions are expanded into one column per row.
Automatic schema management
You don't need to set up the table schema manually. Centiment handles it:
-
First sync — Creates the table with columns for all metadata and current survey questions.
-
New questions added — The schema is updated automatically to include new columns on the next sync.
Backfill
When first enabled, existing responses that match your trigger rules are automatically synced to BigQuery. Backfill is processed in batches of 100 rows for efficiency, so large datasets sync quickly.
Good to know
-
Make sure your service account has the BigQuery Data Editor and BigQuery Job User roles, or row inserts will fail.
-
Column names are automatically sanitized to meet BigQuery requirements — spaces and special characters are replaced.
-
If you add new questions to your survey after the table is created, the schema updates automatically. You don't need to alter the table manually.