- Destinations
- Warehouse
Google BigQuery
Overview
Section titled “Overview”BigQuery is Google Cloud’s serverless data warehouse, built to query very large datasets quickly and to scale to petabytes without anyone managing infrastructure.
Writing to it keeps a copy of what Signals processes in your own Google Cloud project, alongside whatever you send to advertising platforms. That is what makes it useful for reporting, reconciliation and onward modeling.
It is a place to land data rather than an activation destination, so nothing is optimized or targeted as a result of connecting it.
Supported sources
Section titled “Supported sources”Prerequisites
Section titled “Prerequisites”Before connecting Google BigQuery, make sure you have:
- A Google Cloud project with BigQuery enabled.
- A Google Cloud service account holding the BigQuery Data Editor and BigQuery Job User roles.
- A service account key as a JSON file.
- The dataset ID, a table name, and the region the dataset is hosted in.
- A Datahash Studio account with the target project selected.
- A source connected in the same project.
Authentication
Section titled “Authentication”This connector authenticates with a service account key rather than a sign-in, which makes it the exception among the Google destinations.
- Log in to Datahash Studio.
- Open Destinations, then Google.
- Click the Big Query connector tile.
- In your Google Cloud project, create a service account for Datahash to use and give it the BigQuery Data Editor and BigQuery Job User roles.
- Generate a key for it: open IAM and Admin, then Service Accounts, open the account, go to Keys, then Add Key, then Create New Key, and choose JSON.
The project is taken from the service account key, so there is no separate project field to fill in.
Configuration
Section titled “Configuration”- Supply the JSON Key for your service account.
- Enter the Dataset ID, which is the dataset the data should be written into.
- Enter the Table Name.
- Enter the Data Location, which is the Google Cloud region your BigQuery dataset is hosted in.
- Name the Instance, so it is identifiable in the dashboard.
- Click Validate Credentials to confirm the configuration and permissions are correct, then finish the setup.
The table name behaves in two ways. If a table of that name already exists in the dataset, Signals validates it before using it. If none exists, Signals creates it. Either way the name has to be unique within the dataset.
There is no field mapping on this destination. The columns are determined by what your source sends.
Manage instance
Section titled “Manage instance”One instance covers one dataset, one table and one region. Writing to a second table or a second dataset needs a second instance.
To add another, open Manage Instances and click Add Instance. To change one, open it from Manage Instances, use the menu in the top right and choose Edit, update the fields and click Finish. Cancel keeps the previous configuration running, so updates apply only after you finish.
Data & identifiers
Section titled “Data & identifiers”Signals writes the data your source provides into your own BigQuery table. Because it goes to your warehouse rather than to an advertising platform, identifiers are not hashed on the way, so what lands in the table is what your source provided.
That is worth planning for. A table in your own project holding unhashed customer data falls under your own access controls and retention rules, so decide who can query the dataset before you point production data at it.
Best practices
Section titled “Best practices”- Use a dedicated dataset for Datahash rather than writing into one your analysts already use.
- Decide access and retention on the dataset before connecting, since the data arrives unhashed.
- Pick the data location deliberately. It affects where the data physically resides, which may matter for your obligations.
- Rotate the service account key periodically and revalidate the instance afterwards.
Troubleshooting & FAQ
Section titled “Troubleshooting & FAQ”Validate Credentials fails. Check the service account holds both BigQuery Data Editor and BigQuery Job User, that BigQuery is enabled on the project, and that the JSON key is complete and unmodified. A credential built for BigQuery as a source will not work here: reading needs Data Viewer, writing needs Data Editor.
The table name is rejected. A table of that name already exists but does not match what Signals expects, or the name is not unique within the dataset.
The dataset cannot be found. The Dataset ID is wrong, or it belongs to a different project than the service account key. Remember the project comes from the key, not from a field.
No data arriving. Confirm a source is connected in the same project and sending.
Delivery stopped. The service account key may have been rotated or revoked, or its roles removed. Supply a fresh key and revalidate.

