BigQuery Setup

Free x
Team x
Business ✓
+
Unify ✓
?

Unify requires a Business tier account and is included with Engage.
See the available plans, or contact Support.

At this time, you can only use BigQuery with Linked Events.

On this page, you’ll learn how to connect your BigQuery data warehouse to Segment.

Set up BigQuery

You need to be an account admin to set up the Segment BigQuery connector as well as write permissions for the __segment_reverse_etl dataset.

To set up the Segment BigQuery connector:

  1. Navigate to IAM & Admin > Service Accounts in BigQuery.
  2. Click + Create Service Account to create a new service account.
  3. Enter your Service account name and a description of what the account will do.
  4. Click Create and Continue.
  5. In the Grant this service account access to project section, select the BigQuery User role to add.
  6. Click + Add another role and add the BigQuery Job User role.
  7. Click + Add another role and add the BigQuery Metadata Viewer role.
  8. Click Continue, then click Done.
  9. Search for the service account you’ve just created.
  10. From your service account, click the three dots under Actions and select Manage keys.
  11. Click Add Key > Create new key.
  12. In the pop-up window, select JSON for the key type, and click Create.
  13. Copy all the content within the file you’ve created and downloaded.
  14. Navigate to Segment and paste all the credentials you’ve just copied into the Enter your credentials section as you connect your warehouse destination.

Grant access to datasets and tables for enrichment

Grant access to datasets and tables so that Segment can list datasets, tables, and columns, and create Linked Events.

Grant

  • BigQuery Data Viewer role
    OR
  • Permissions:
    • bigquery.datasets.get
    • bigquery.tables.list
    • bigquery.tables.get
    • bigquery.tables.getData

These can be scoped to projects or datasets.

To create Linked Events on your listed tables, Segment needs bigquery.tables.get and bigquery.tables.getData at dataset level. However, you can still scope bigquery.tables.get and bigquery.tables.getData to specific tables. See BigQuery’s docs for more info.

This page was last modified: 02 Aug 2024



Get started with Segment

Segment is the easiest way to integrate your websites & mobile apps data to over 300 analytics and growth tools.
or
Create free account