CONNECTIONS / GCS / GCS to Google OCI
Your GCS objects, wired to Google Ads offline conversion import.
Connect GCS and point Signals at your GCS objects; it reconciles closed-won revenue to the Google Ads click through GCLID each time a new file lands, hashed and consent-checked for Google Ads.
- ● gcs → google.oci :: live
- > read closed_deals rows=59,313
- hash sha256(email,phone) consent=filtered
- route google deliver
- ✓ delivered · 46,264 matched
WHAT THIS ENABLES
GCS to Google Offline Conversions
GCS to Google Offline Conversions: your GCS objects, hashed and consent-checked, feed Google Ads as Signals reconciles closed-won revenue to the Google Ads click through GCLID each time a new file lands.
- Offline and in-store sales from your GCS objects activated for Google Ads, as Signals reconciles closed-won revenue to the Google Ads click through GCLID.
- Smart Bidding trained on booked revenue instead of a mid-funnel proxy, drawn from your GCS objects by data teams landing exports in GCS.
The click, the conversion, and the credit.
The conversion happens off Google, away from any pixel. Here is how GCS closes the loop.
Built for the teams that own the number.
Data teams landing exports in GCS activating Google Ads offline conversion import straight from GCS objects.
From kickoff to verified events.
-
Connect
A read-only service account scoped to the one GCS bucket you name to feed Google Ads' Offline Conversion Import (Google Ads API), sized for GCLID coverage.
-
Map
Signals picks up your GCS objects, and its columns map to Google Ads' Offline Conversion Import (Google Ads API) in the visual mapper, hashed and checked for GCLID coverage.
-
Deliver
On each run, Signals pulls your GCS objects, reconciles closed-won revenue to the Google Ads click through GCLID, and processes only the newly dropped file, with GCLID coverage 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 GCS records the event. |
What OCI actually receives.
- ● signals :: event payload
- > POST /offline_conversion_import source=google-cloud-storage.closed_deals
- gclid "Cj0KCQjw…" · conversion_action "closed_won"
- conversion_date_time "2026-07-16T21:50:52"
- conversion_value 18919 · currency_code AED
- ✓ accepted · batch=nightly
Adjacent moves on the same stack.
from GCS
GCS to Google Store Sales
GCS to Google Store Sales: your GCS objects, hashed and consent-checked, feed Google Ads as…
Learn morefrom GCS
GCS to Meta Offline CAPI
GCS to Meta Offline CAPI: your GCS objects, hashed and consent-checked, feed Meta as…
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 GCS Google OCI sync run?
The pace follows your GCS objects: Signals sends changes from GCS to Google Ads each time a new file lands. Because it processes only the newly dropped file, Smart Bidding trained on booked revenue instead of a mid-funnel proxy stays current while data teams landing exports in GCS keep GCLID coverage in view. Delivery needs no export and no manual upload.
What match rate should a GCS-sourced Google OCI batch expect?
Coverage of hashed identifiers across your GCS objects decides it, and data teams landing exports in GCS own that inside GCS. A live email or phone matches into Google Ads; neither, and it will not. First-run feedback flags GCLID coverage, which data teams landing exports in GCS then raise inside your GCS objects.
NEXT STEP