CONNECTIONS / BigQuery / BigQuery to Google OCI
From BigQuery datasets to Google Ads offline conversion import.
Point Signals at the dataset behind a read-only service account, and it reconciles closed-won revenue to the Google Ads click through GCLID on the cadence your scheduled query already keeps.
- ● bigquery → google.oci :: live
- > read sales.pos_transactions rows=69,499
- hash sha256(email,phone) consent=filtered
- route google deliver
- ✓ delivered · 59,074 matched
WHAT THIS ENABLES
BigQuery to Google Offline Conversions
BigQuery to Google Offline Conversions: A scheduled query reads the offline and in-store sales in your BigQuery tables, and Signals reconciles closed-won revenue to the Google Ads click through GCLID, hashed and consent-checked whenever the scheduled query reruns.
- Signals reconciles closed-won revenue to the Google Ads click through GCLID, reading your BigQuery tables whenever the scheduled query reruns.
- Smart Bidding trained on booked revenue instead of a mid-funnel proxy, fed by analytics engineers running BigQuery scheduled queries.
The click, the conversion, and the credit.
The conversion happens off Google, away from any pixel. Here is how BigQuery closes the loop.
Built for the teams that own the number.
Analytics engineers running BigQuery scheduled queries who need Smart Bidding trained on booked revenue instead of a mid-funnel proxy.
From kickoff to verified events.
-
Connect
A read-only service account with dataViewer on the one dataset you nominate to feed Google Ads' Offline Conversion Import (Google Ads API), sized for GCLID coverage.
-
Map
A scheduled query reads your BigQuery tables, and its columns map to Google Ads' Offline Conversion Import (Google Ads API) in the visual mapper, hashed and checked for GCLID coverage.
-
Deliver
Whenever the scheduled query reruns, Signals reconciles closed-won revenue to the Google Ads click through GCLID, scans only the rows the query changed, with GCLID coverage watched in the debugger.
What changes when the CSV goes away.
| Capability | Manual CSV upload | Datahash |
|---|---|---|
| Reporting | Offline sales sit in a separate export, reconciled by hand. | Revenue counted in the same OCI reporting as web conversions. |
| Deduplication | A re-uploaded file risks counting the same conversion twice. | Deduped delivery, so a resent record never counts as a second conversion. |
| Match visibility | Match quality is a guess until the numbers look off. | Match rate reported per upload, tied to the source event set that produced it. |
| Effort and latency | An analyst exports and uploads on a manual cadence. | Server-side and automatic the moment BigQuery records the event. |
What OCI actually receives.
- ● signals :: event payload
- > POST /offline_conversion_import source=bigquery.sales.pos_transactions
- gclid "Cj0KCQjw…" · conversion_action "closed_won"
- conversion_date_time "2026-07-13T13:58:11"
- conversion_value 38886 · currency_code SAR
- ✓ accepted · batch=hourly
Adjacent moves on the same stack.
from BigQuery
BigQuery to Google Store Sales
BigQuery to Google Store Sales: A scheduled query reads the offline and in-store sales in…
Learn morefrom BigQuery
BigQuery to Meta Offline CAPI
BigQuery to Meta Offline CAPI: A scheduled query reads the offline and in-store sales in…
Learn moresame use case
ActiveCampaign to Google OCI
ActiveCampaign to Google Offline Conversions: Signals reads your ActiveCampaign contacts…
Learn moregeneric
Google Offline Conversion Import
Datahash automates GCLID-based OCI uploads to Google Ads so click-based offline conversions…
Learn moreAsked on almost every call.
How often does the BigQuery Google OCI sync run?
The scheduled query sets the pace: rebuild the offline and in-store sales nightly and delivery to Google Ads is nightly, or refresh hourly for an hourly feed. Each run only reads the rows the query changed, so Smart Bidding trained on booked revenue instead of a mid-funnel proxy stays current for GCLID coverage while BigQuery slot cost barely moves.
What match rate should a BigQuery-sourced Google OCI batch expect?
Coverage in your BigQuery tables decides the rate, not BigQuery. A row with a current hashed email or phone matches; one missing both cannot, however the query is tuned. The first run's report from Google Ads' Offline Conversion Import (Google Ads API) sets a baseline, the number advertisers whose Google-sourced deals close days after the click weigh against GCLID coverage.
NEXT STEP