Usertick
BigQuery integration

Survey answers as rows in BigQuery

Insert a row in your BigQuery table for each survey answer, with the survey, the country, the page, the time and every answer as JSON, ready to join with the rest of your data.

Feedback in the same warehouse as everything else

Analysts want answers where the rest of the data lives. With the BigQuery integration, each answer adds one row to a table you own, so you can join feedback with orders, accounts or product events in SQL.

The row has ten columns: the answer's ID, the survey, the variant, the country, the language, the page, the time, a completed flag and every answer as JSON keyed by question.

A workflow decides which answers become rows. It can insert every answer to a survey, or only the ones its conditions pick, such as detractors or the answers the AI read as a bug.

Plan
Every plan, 1 workflow per survey on Free
Connects with
A service account key, a dataset and a table
Writes
One row for each answer, in the table's ten columns
Your table
Created by you, in the service account's project

How answers reach BigQuery

You own the table, and Usertick checks it before the first row.

Connect with a service account

Paste the service account's JSON key with the dataset and the table. Usertick signs in, reads the table's schema and refuses a missing table or column before anything is sent.

Ten columns, the same every time

Each answer fills the same columns, from event_id to answers, so a dashboard or a scheduled query built on the table keeps working as surveys change.

What Usertick sends to BigQuery

Each answer inserts one row with these columns.

event_idThe answer's ID, also used to drop a duplicate insert
survey_id, survey_nameThe survey the answer belongs to
variantThe A/B variant the person saw, empty without one
completedtrue
country, languageWhere the answer came from
urlThe page the survey ran on
received_atWhen the answer arrived
answersEvery answer as JSON keyed by the question's ID, without files

Connect BigQuery in three steps

Create the table first, with survey_name and variant as nullable columns.

  1. 1

    Create the table

    In BigQuery, create a table with the ten columns, and give a service account the BigQuery Data Editor role on the dataset.

  2. 2

    Connect it in Usertick

    Open Settings, then Integrations, select BigQuery and paste the service account JSON with the dataset ID and the table ID.

  3. 3

    Add Insert a row to a workflow

    The step has no settings. A test run checks the table and shows the row for a real answer without writing it.

Read the setup guide

Frequently asked questions

BigQuery comes with every plan, along with the workflows that insert the rows. Free runs 1 workflow per survey.

No. You create the table and its columns, and Usertick checks it when you connect and on each test.

No. The row carries the survey, the context and the answers. To keep the AI reading, the person and the status, send the answers to Google Sheets or a webhook as well.

No. Each answer inserts one row, and later changes in Usertick don't touch it.

Yes. Each connection holds one dataset and table, so add a connection for each table and choose it in the step.

The run fails with BigQuery's reason, such as a column with the wrong type, and the workflow's activity shows it.

More integrations

Google SheetsLog every response as a row that stays current as the AI reading, corrections and status change.
SegmentSend a survey event with the answers on the signed-in user to Segment, and on to the tools you connect there.
Google AnalyticsSee survey completions in Google Analytics, sent through the script already on your page.
NotionAdd each response to a Notion database or a new page.

Listen better, act faster, and build what truly matters.

Start free, see what your customers mean, and get each answer to the person who can act on it.

  • 150 responses a month on Free
  • Every channel and AI analysis
  • No card needed