Jump to a popular page, or start typing.

    CONNECTIONS / HubSpot / HubSpot to Google Store Sales

    Report HubSpot deal revenue through Google Store Sales.

    Some deals never had a click for Google to see. Store Sales Direct matches on who bought instead of what they clicked, and Signals prepares the hashed contact and deal data it needs.

    hubspot -> google-store-sales :: live

    1. ● hubspot → google.store_sales :: live
    2. > event Deal closed-won value=33,750 AED
    3. > event Contact updated address confirmed
    4. hash sha256(email,phone,address)
    5. route google.store_sales upload batch=nightly
    6. ✓ delivered · transaction matched

    WHAT THIS ENABLES

    HubSpot to Google Store Sales

    HubSpot to Google Store Sales turns closed-won deals and their contact records into Store Sales Direct uploads, matched on hashed identity rather than a click ID, so showroom and phone revenue still reaches Smart Bidding.

    • In-store and phone-closed revenue recorded in HubSpot, counted in Google Ads reporting.
    • Bid strategies learning from sales that a landing page never saw happen.
    • A single upload path whether or not the underlying deal ever carried a GCLID.
    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 Deal closed-won recorded in HubSpot S Signals hash · dedupe Store Sales Direct (Goo… delivered · credited
    WHO THIS IS FOR

    Built for the teams that own the number.

    Showroom and branch-heavy businesses, from dealerships to franchises, running their pipeline in HubSpot.

    Teams already running Google Store Sales from POS who want HubSpot-sourced deals included too.

    HOW DATAHASH SETS IT UP

    From kickoff to verified events.

    1. Connect

      Private app token limited to the HubSpot fields that describe the contact and the closed amount.

    2. Map

      The deal amount and its contact's identifiers take the shape of Google's Store Sales Direct match-key schema.

    3. Deliver

      Uploads run nightly or weekly, and Google reports matched transactions per batch.

    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 Store Sales 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 Store Sales actually receives.

    signals :: hubspot.google-store-sales :: wire

    1. ● signals :: transaction payload
    2. > POST /store_sales_direct source=hubspot.deal
    3. hashed_email sha256 "4b7f92…" · hashed_phone sha256 "a03ce1…"
    4. transaction_amount 33750 · currency_code AED
    5. transaction_date_time "2026-07-16 18:05:00+04:00"
    6. ✓ accepted · matched=true
    FAQ

    Asked on almost every call.

    How well do HubSpot contact records match once Store Sales hashes them?

    Contact data quality decides this one almost entirely. Hashing works with whatever the record holds, so a contact carrying verified email, phone, and a confirmed address gives Google the most to match against, and a sparse record gives it very little, whatever the deal was worth. We look at your HubSpot property fill rates during discovery, which sets a realistic expectation before the first upload rather than after it.

    Does Store Sales Direct care whether the HubSpot deal has a GCLID?

    It does not. Identity is the match key here: hashed email, phone, and address stand in for the click ID entirely, which is what makes the format usable for a sale no ad click ever preceded. Plenty of teams still run OCI in parallel, letting whichever match path fits a given deal carry it, but Store Sales on its own never asks for a GCLID.

    Can a HubSpot workflow trigger the Store Sales upload instead of waiting for the nightly batch?

    The upload itself still runs on Signals' own schedule against the Google Ads API, but a HubSpot workflow can mark a deal ready for upload the moment a rep confirms the sale, so the deal is queued for the very next scheduled batch instead of waiting for someone to update the record hours later.

    NEXT STEP

    HubSpot to Google Store Sales, in production this week.