Jump to a popular page, or start typing.

    CONNECTIONS / HubSpot / HubSpot to Google OCI

    Turn HubSpot closed-won deals into Google click conversions.

    Google hands you a GCLID once, at the form. Signals stores it on the contact record immediately and keeps it available for the day, or the quarter, when the deal finally closes and the conversion uploads.

    hubspot -> google-oci :: live

    1. ● hubspot → google.oci :: live
    2. > event Contact created gclid=Cj0KCQjw…
    3. > event Deal closed-won value=17,650 USD
    4. hash sha256(email,phone) gclid=carried
    5. route google.oci upload batch=nightly
    6. ✓ delivered · click conversion recorded

    WHAT THIS ENABLES

    HubSpot to Google Offline Conversion Import

    HubSpot to Google Offline Conversion Import keeps a captured GCLID pinned to the HubSpot contact for the full life of its deal, converting the eventual closed-won into a click conversion Google Ads can count and Smart Bidding can learn from.

    • The click that opened a deal gets the credit when HubSpot closes it, right inside Google Ads.
    • Form fills stop being the ceiling of what Smart Bidding can learn from; closed revenue takes over.
    • One upload job standing in for whatever spreadsheet someone used to assemble for OCI by hand.
    WHAT FLOWS WHERE

    The click, the conversion, and the credit.

    The conversion happens off Google, away from any pixel. Here is how HubSpot closes the loop.

    Google credits the campaign that sourced the conversion conversion happens off-platform Ad click on Google Contact created recorded in HubSpot S Signals hash · dedupe Offline Conversion Impo… delivered · credited
    WHO THIS IS FOR

    Built for the teams that own the number.

    Advertisers buying Google traffic whose actual conversion moment lives in a HubSpot pipeline.

    Ops teams whose current OCI process starts with pulling a closed-won report into a spreadsheet.

    HOW DATAHASH SETS IT UP

    From kickoff to verified events.

    1. Connect

      Private app token scoped to the HubSpot contact and deal fields this specific upload draws on.

    2. Map

      You pick which deal stage counts as the conversion and which contact property holds the GCLID; the mapper records both.

    3. Deliver

      Batches go out on your schedule, and each one reports back its accepted row count.

    WHAT YOU GET

    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 HubSpot records the event.
    ON THE WIRE

    What OCI actually receives.

    signals :: hubspot.google-oci :: wire

    1. ● signals :: event payload
    2. > POST /offline_conversion_import source=hubspot.deal
    3. gclid "Cj0KCQjw…" · conversion_action "closed_won"
    4. conversion_date_time "2026-07-14 11:20:00+04:00"
    5. conversion_value 17650 · currency_code USD
    6. ✓ accepted · batch=nightly
    FAQ

    Asked on almost every call.

    What happens to a HubSpot deal whose contact never captured a GCLID?

    That deal cannot go through OCI at all; the upload format has one match key and it is the click ID. Two things limit the damage. Datahash writes the GCLID to a contact property automatically wherever the form exposes it, which keeps the gap small, and most workspaces run Enhanced Conversions for Leads on the same pipeline, so a GCLID-less deal still reports through hashed email and phone instead of vanishing.

    How long after a HubSpot deal closes does the Google Ads conversion show up?

    Google usually finishes processing an OCI batch within a few hours of receiving it, so the bigger variable is your own upload schedule, which can run hourly, nightly, or anywhere between. In practice a morning closed-won shows up in reporting by the next business day. That leaves Smart Bidding plenty of room to fold the conversion into the same week's bidding decisions.

    Does this work if a deal moves through several HubSpot pipelines before it closes?

    Yes. Signals follows the deal record itself rather than a single pipeline, so a deal that starts in one pipeline and gets reassigned to another before closing still carries its GCLID and closes correctly through OCI. Only the final closed-won stage, wherever it lives, triggers the upload.

    NEXT STEP

    HubSpot to Google OCI, in production this week.