Sourcesible
Destination/BigQuery Destination

BigQuery Destination

Last updated: 2026-06-10

Sourcesible Product Documentation · Destinations

Overview

The BigQuery Destination allows you to centralize Sourcesible audience and event data directly in your Google Cloud data warehouse, enabling advanced analytics, predictive modeling, and flexible integrations with your existing tools. Use this Destination to export audience data from Sourcesible to BigQuery for reporting and to keep your warehouse updated with the latest audience and event data for downstream processing.

Before setting up this Destination, ensure you have a Google Cloud project with BigQuery enabled and a GCP Service Account with BigQuery read/write access. You will need to download the Service Account JSON key file before beginning the setup in Sourcesible.

Credential & Permission Setup

Unlike other Destinations, BigQuery does not use OAuth. Sourcesible connects using a GCP Service Account JSON key that you generate in Google Cloud Console.

Create a Service Account

Go to Google Cloud Console and select your project. Navigate to IAM & Admin → Service Accounts. Click Create Service Account, enter a name (e.g., sourcesible-bigquery-destination), and click Create and Continue.

Assign Required Roles

Assign the following IAM roles to the service account:

RolePurpose
roles/bigquery.dataEditorWrite audience and event data to BigQuery tables
roles/bigquery.jobUserExecute load and query jobs
roles/bigquery.metadataViewerRead dataset and table schema

Generate a JSON Key

From the Service Accounts list, click the service account you just created. Go to the Keys tab → Add Key → Create new key. Select JSON and click Create. A .json key file will download to your machine.

Store this JSON key file securely. Anyone with access to it can read and write data in your BigQuery project. Do not commit it to version control.

Connection Configuration (Inside Sourcesible)

Add a New Destination

In the left navigation, click Destinations. Click Add Destination in the top-right corner. From the Destinations catalog, click the BigQuery card, then click Add Destination to open the setup form.

Configure the Destination

In the Destination Name field, enter a name for this connection. You can change this at any time under Settings. Optionally enter a Destination Description to help your team identify this connection.

In the Project ID field, enter the unique Project ID of your Google Cloud project where your BigQuery data is stored. Under Service Account Credentials, click Choose file to Upload credentials and select the .json key file you downloaded above.

In the Data Location dropdown, select the primary data location for your BigQuery datasets. This can be a region (e.g., Asia-Southeast1: Singapore) or a multi-region (e.g., US: Multi-region in the United States).

The Data Location must match the location of your existing BigQuery datasets. Selecting a mismatched location will cause sync failures even if the connection test passes.

Test Your Connection

Click Test Connection to validate your credentials and configuration before saving. Sourcesible will verify that the Project ID exists and is reachable, the service account JSON key is valid and active, the service account has the required roles on the project, and Sourcesible can successfully communicate with the BigQuery API. Once the test passes, click Save Destination.

Do not skip the Test Connection step. Saving without testing means credential errors will only surface at sync time, which may delay data delivery.

Next Steps

With your BigQuery Destination connected, you can activate data from Sourcesible.

Sync an Audience to BigQuery Export customer segments for advanced analytics and reporting.

Set Sync Frequency Control how often Sourcesible pushes updated audience data to BigQuery.

Monitor Destination Health View sync logs, error rates, and delivery status from the Destinations page.

Tips and Troubleshooting

Invalid or Malformed JSON Key

Symptom: The Test Connection button returns a credentials error immediately after uploading the JSON file.

Cause: The JSON key file is corrupted, truncated, or was not generated correctly from Google Cloud Console.

Fix: Delete the uploaded file by clicking the trash icon on the credential upload field, then re-download a new JSON key from Google Cloud Console and re-upload.

Test Connection Fails with Permission Denied

Symptom: The connection test returns a 403 Permission Denied error.

Cause: The service account is missing one or more required IAM roles on the project.

Verify the roles assigned to the service account:

gcloud projects get-iam-policy YOUR_PROJECT_ID \ 
--flatten="bindings[].members" \ 
--filter="bindings.members:YOUR_SERVICE_ACCOUNT_EMAIL" \ 
--format="table(bindings.role)"

Confirm roles/bigquery.dataEditor, roles/bigquery.jobUser, and roles/bigquery.metadataViewer all appear. If any are missing, re-assign them following the Assign Required Roles section above.

Data Location Mismatch Causes Sync Failures

Symptom: The connection test passes but audience syncs fail with a location-related error from BigQuery.

Cause: The Data Location selected in Sourcesible does not match the location of the target BigQuery dataset.

Fix: Check the location of your BigQuery dataset in Google Cloud Console under BigQuery → Dataset Info. Return to the Destination settings in Sourcesible and update the Data Location to match exactly.

Project ID Not Found

Symptom: The connection test returns a project not found error.

Cause: The Project ID was entered incorrectly. This field requires the Project ID (e.g., cdp-data-source), not the Project Name or Project Number.

Fix: Verify the correct Project ID in Google Cloud Console it appears in the project selector at the top of the page. Update the Project ID field in Sourcesible to match exactly.