BigQuery Destination
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.
2. 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.
2.1 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.
2.2 Assign Required Roles
Assign the following IAM roles to the service account:
| Role | Purpose |
|---|---|
| roles/bigquery.dataEditor | Write audience and event data to BigQuery tables |
| roles/bigquery.jobUser | Execute load and query jobs |
| roles/bigquery.metadataViewer | Read dataset and table schema |
- Click Continue, then Done.
2.3 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.
3. Connection Configuration (Inside Sourcesible)
3.1 Open the Destinations Catalog
- In the left navigation, click Destinations.
- Click Add Destination in the top right corner.
- From the Destinations List, click the BigQuery card.
3.2 Review Features and Overview
- On the BigQuery detail page, review the Feature section, which lists what this Destination enables:
- Export audience data from Sourcesible directly to BigQuery for advanced analytics and reporting
- Keep your warehouse updated with the latest audience and event data for downstream processing
- Click Add Destination to open the setup form.
3.3 Configure the Destination
- In the Destination Name field, enter a name for this connection (e.g., BigQuery). 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 Enter your credentials → Service Account Credentials, click Choose file to Upload credentials and select the .json key file you downloaded in Section 2.3. Supported format: JSON only.
- In the Data Location dropdown, select the primary data location for your BigQuery datasets. This can be either a region or a multi-region. Examples include:
- US: Multi-region in the United States
- Asia-Southeast1: Singapore
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.
3.4 Test the Connection
- Click Test Connection to validate your credentials and configuration before saving.
Sourcesible will verify the following during the test:
- ✅ The Project ID exists and is reachable
- ✅ The service account JSON key is valid and not expired
- ✅ The service account has the required roles on the project
- ✅ Sourcesible can successfully communicate with the BigQuery API
- Once the test passes, click Save Destination.
Sourcesible will return you to the Destinations page, where the new connection will appear with a Connected status and a confirmation banner: Your destination has been connected successfully.
Do not skip the Test Connection step. Saving without testing means credential errors will only surface at sync time, which may delay data delivery.
4. Next Steps
With your BigQuery Destination connected, you can:
- 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
5. 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 following the steps in Section 2.3 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.
Fix: Verify the roles assigned to the service account by running:
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 Section 2.2.
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.