Connect Google BigQuery
Connecting Google BigQuery stores a service account key against your workspace so MarqIQ can read your BigQuery datasets later. Data sync for BigQuery is in early access: connecting saves and checks your credentials, and no BigQuery data reaches your reports or analyses yet. If you want records analysed today, connect a CRM such as HubSpot instead — those are the connections with a sync engine behind them.
Before you start
Data sync for BigQuery is in early access
Connecting stores and checks your credentials. It does not start a sync, because there is no BigQuery sync engine yet. The page says so in its own words, in an amber panel above the form: "Connecting stores and validates your credentials, but automated data sync for this source isn’t live yet — Google BigQuery data won’t appear in your reports until it ships. We’ll enable your connection automatically when it does." An Early access badge sits beside the Google BigQuery heading for the same reason. Connect now if you want the credential in place; expect no rows until sync ships.
Plan required
Google BigQuery is a Pro-and-above tool. On Starter the Connect button is replaced by Upgrade to connect, and a direct request is answered "Google BigQuery is part of the Pro plan — this workspace is on Starter." A Free Trial workspace has the Pro feature set, so it can connect BigQuery.
Permissions required
You need somebody who can create a service account and download a key in the Google Cloud project that holds your BigQuery data. That is usually a project owner or a security admin, not the marketer who asked for the connection. In MarqIQ you need a workspace that is not read-only — a lapsed subscription answers "This workspace is read-only. Renew the subscription to connect tools."
- Your GCP Project ID — the id of the project that holds the data, such as `my-project-123`. Not the project number and not the display name.
- The Dataset you want MarqIQ to read, such as `marketing`. This field is optional and you can leave it blank.
- A service account JSON key file for that project, downloaded from the Google Cloud console.
- BigQuery’s own documentation, linked from the top of the connect page as API docs: cloud.google.com/bigquery/docs
Create a service account key in Google Cloud
MarqIQ does not run a Google sign-in flow for BigQuery. You create the key yourself and paste its contents in.
Open the Google Cloud console at console.cloud.google.com
Switch to the project that holds your BigQuery data.
Copy the project id from the project picker while you are there. You need it in the next section, and the id is the lowercase string with hyphens, not the number beside it.
Go to IAM & Admin then Service Accounts.
Click Create service account.
Name the service account MarqIQ.
Google records the service account against every query it runs, so a named account makes MarqIQ’s reads identifiable in your BigQuery audit logs.
Grant the account read access to the data you want MarqIQ to read.
BigQuery’s read roles are BigQuery Data Viewer on the dataset and BigQuery Job User on the project.
MarqIQ never tests these roles. Nothing in the connect step contacts Google, so a key with no BigQuery access connects exactly as a correct one does. Check the roles with your Google Cloud administrator instead of relying on the connection to catch them.
Open the service account you have just created.
Go to its Keys tab.
Click Add key.
Choose Create new key.
Choose JSON.
Click Create to download the file.
Google shows this key once. Store it the way you store any other secret, and delete the download when you have pasted it.
Open the downloaded file in a text editor.
Copy the whole file, from the opening brace to the closing one.
It starts `{ "type": "service_account", ...`. The file path is not the key, and the `private_key` line on its own is not the key either.
Connect it in MarqIQ
Open Integrations in MarqIQ.
Click Add more to open Explore Integrations.
Type BigQuery into Search integrations…
The card is headed Google BigQuery, sits under Data Warehouses, and carries a Pro+ lock badge.
Click Connect on the Google BigQuery card.
If the button reads Upgrade to connect, your plan or your tool allowance blocks it. The reason is printed in amber at the foot of the card, in the same words the connect route would answer with.
Paste your project id into GCP Project ID.
Type your dataset name into Dataset.
This field is not required. Leave it blank if you have not settled on one dataset.
Paste the whole JSON key into Service Account JSON.
Click Connect.
MarqIQ checks that GCP Project ID and Service Account JSON are both filled in, and that the JSON parses. It does not call Google. The credentials are then encrypted and saved against your workspace.
The button reads Connecting… while it saves. Any refusal appears in red directly above it.
Note
The saved connection is named after your project — Google BigQuery — my-project-123. That name is how you tell two BigQuery projects apart in the integrations list, so paste the project id you meant.
What you see once it is connected
- A Connected badge at the top of the page, beside the Early access badge, and a Connection active panel below it.
- Your GCP Project ID shown in full, and your Dataset too where you filled one in. A blank Dataset is left out of this panel rather than shown empty.
- Service Account JSON masked to its last four characters, which is the only part of the key any MarqIQ screen ever shows again.
- No connected date and no last-sync date. MarqIQ deliberately leaves that stamp empty, because nothing has synced — a date there would read as though records had arrived.
- Available in Reporting with no dimensions and no metrics, under the line "This source exposes fields from your queries/tables once a model is defined." BigQuery declares no fixed field list, unlike GA4 or Google Ads.
- A Disconnect button. It asks "Disconnect Google BigQuery?" first, then purges the stored key and flips the connection to disconnected. Your field mappings and any synced records are kept, so reconnecting later costs you nothing.
What MarqIQ reads and writes
- In BigQuery: nothing, today. No query runs, no job is submitted and no table is read or created. There is no BigQuery sync engine, so no scheduled job touches your project either.
- In MarqIQ: one integration record holding your project id, your dataset and your service account key, encrypted, plus the time of your first connect. Only the three fields named on the connect form are stored — anything else posted to the connect route is dropped.
- Your key is never shown back to you in full and never leaves MarqIQ.
What connecting BigQuery does not unlock
Read this before you spend one of your two Pro tool slots on BigQuery.
- No analysis and no audit. Those read the record store, which only the tools with a sync engine fill: HubSpot, Salesforce, Marketo, Pipedrive, Zoho CRM, Microsoft Dynamics, Pardot, Mailchimp, Salesforce Marketing Cloud, Adobe Campaign and Adobe Journey Optimizer. BigQuery is not one of them.
- No field mapping. Field Mapping under Tool Operations maps MarqIQ’s tracking fields onto a CRM or a marketing-automation tool, and BigQuery is neither.
- No Tool Operations, no hidden form fields and no Template Studio authoring.
- No contribution to reports yet. BigQuery is listed on Data Sources under Warehouses & Custom, marked Connected, with Mapping only · no record sync yet where a Sync button sits on a tool that has an engine.
- It still uses a tool slot. Pro includes two tools besides Google Tag Manager, so a BigQuery connection is one of those two even while sync is in early access.
Tip
Where both Pro slots already hold a tool that syncs, leave BigQuery until sync ships. Waiting costs you nothing, and a key created today sits unused until then.
If it did not work
"Missing required field: GCP Project ID"
Why: One of the two required fields is blank or holds only spaces. With both blank the message is plural — "Missing required fields: GCP Project ID, Service Account JSON".
Fix: Fill in GCP Project ID and Service Account JSON. Dataset is optional and is never named in this message.
"Service Account JSON is not valid JSON"
Why: What you pasted into Service Account JSON does not parse. The usual causes are pasting the file path instead of the file, copying only part of the file, or copying the `private_key` line on its own.
Fix: Open the downloaded key file again, select all of it, and paste the whole thing — opening brace to closing brace. MarqIQ checks only that it parses. A well-formed key for the wrong project is saved without complaint, so check the project id on the connection afterwards.
"Google BigQuery is part of the Pro plan — this workspace is on Starter."
Why: BigQuery is a Pro-and-above tool and this workspace is below Pro. The card in Explore Integrations prints the same sentence, so the amber Upgrade to connect link and the refusal agree.
Fix: Move to Pro or above. Connecting a tool that is already connected is always allowed, so rotating a key on an existing BigQuery connection is never blocked by this.
"Pro allows 1 tool from this category, and Snowflake is already connected. Business and above allow more than one from the same category."
Why: Snowflake, Google BigQuery and Custom API all sit in the Data Warehouses category, and Pro allows one tool from any one category.
Fix: Disconnect the warehouse you are replacing, or move to Business and above, where the per-category limit is lifted.
"Pro includes 2 tools besides Google Tag Manager, and this workspace has connected 2 (HubSpot, Snowflake). Disconnect one, or move up a plan."
Why: The total tool allowance is used up. The message names every tool counting against it so you can see what to drop. Google Tag Manager is not in that count, and neither are AI provider keys.
Fix: Disconnect one of the named tools, or upgrade. The Integrations header shows the same count as a "2 / 2 tools · GTM free" badge.
"This workspace is read-only. Renew the subscription to connect tools."
Why: The subscription has lapsed. A read-only workspace connects nothing at all, BigQuery included.
Fix: Open Account, then Subscription, and use Upgrade to renew. Connect again afterwards.
"Unauthorized"
Why: Your sign-in has lapsed, so the connect route answers before it reads anything you typed. What you had entered is still in the form.
Fix: Reload the page and sign in again, then click Connect.
"Could not connect", with nothing more specific
Why: The page prints that wording only when the refusal carries no message of its own. Every refusal listed above carries one, so this points at the request rather than at what you typed.
Fix: Click Connect again. If it repeats, reload the page and try once more.
The button stays on Connecting… and no message appears
Why: The response was not readable as JSON — a proxy page or a network drop rather than a refusal MarqIQ generated. The page has nothing to print and nothing to reset the button with.
Fix: Reload the page. Nothing was saved, so paste your project id and key again and click Connect.
The connection says Connected but no BigQuery data appears anywhere
Why: That is the expected state. Data sync for BigQuery is in early access, so credentials are stored and checked and no records are pulled.
Fix: Nothing to fix. MarqIQ enables your connection on its own when sync ships. In the meantime, Data Sources lists BigQuery as Connected and marks it Mapping only · no record sync yet rather than showing a Sync button that would fail.
The page says "Integration not found"
Why: The address you opened is not one of the data sources this page serves. Check the spelling — the path is /integrations/bigquery, one word, no hyphen.
Fix: Click ← Back to Integrations and open the Google BigQuery card from there.
Next steps
Related articles
Was this article helpful?