CONNECTIONS / HubSpot / HubSpot to Google Customer Match
Google Customer Match, driven by your HubSpot lists.
Point Signals at a HubSpot active list and the matching Customer Match audience follows it, member for member, with no export ever leaving a marketer's laptop.
- ● hubspot → google.customer_match :: live
- > sync list lifecycle_customers rows=23,460
- hash sha256(email,phone)
- route google.customer_match upsert
- ✓ list refreshed · 20,176 matched
WHAT THIS ENABLES
HubSpot to Google Customer Match
HubSpot to Google Customer Match rebuilds a Google Customer Match audience from a HubSpot active list on every sync, hashing contact identifiers so lookalike and suppression campaigns run against the segment HubSpot currently defines instead of an export pulled weeks ago.
- Active lists in HubSpot doubling as Google Ads audiences that maintain themselves.
- Suppression and retention plays that track lifecycle stage changes as they happen.
- One list definition governing both your CRM view and your Google targeting.
WHAT FLOWS WHERE
HubSpot to Customer Match, mapped.
HubSpot list membership changes reach Signals, are hashed there, and arrive at Google's Customer Match API as incremental audience updates.
HubSpot list membership changes reach Signals, are hashed there, and arrive at Google's Customer Match API as incremental audience updates.
Built for the teams that own the number.
Teams tired of exporting contacts every Monday to keep audiences fresh.
From kickoff to verified events.
-
Connect
Private app token scoped to read the HubSpot lists you choose, nothing else.
-
Map
Contact properties matched to Google's hashed identifier fields in the visual mapper.
-
Deliver
Scheduled Customer Match syncs that send only what changed since the last run.
What ships with this use case.
HubSpot lifecycle segments live in Google Ads targeting within one sync cycle.
No repeated manual uploads to keep suppression lists honest.
Per-sync matched counts so you know each audience's effective reach.
What Customer Match actually receives.
- ● signals :: audience upload
- > POST /user_list_operations source=hubspot.list
- operation ADD · user_list "lifecycle_customers"
- hashed_email sha256 "e91a37…" · hashed_phone sha256 "2cf914…"
- members_uploaded 23,460 · members_matched 20,176
- ✓ accepted match=86%
Adjacent moves on the same stack.
from HubSpot
HubSpot to Meta Custom Audience
HubSpot to Meta Custom Audience mirrors membership of a chosen HubSpot list into a Meta…
Learn morefrom HubSpot
HubSpot to TikTok Custom Audience
HubSpot to TikTok Custom Audience makes one HubSpot active list the source of truth for a…
Learn moresame use case
ActiveCampaign to Google Customer Match
ActiveCampaign to Google Customer Match: Signals reads your ActiveCampaign contacts and…
Learn moregeneric
Google Customer Match
Datahash builds and refreshes Google Customer Match audiences from your CRM, warehouse, or…
Learn moreAsked on almost every call.
Does this work with a static HubSpot list, or only an active one?
Both, though an active list is the better fit because HubSpot re-evaluates its membership automatically as contacts change lifecycle stage. Static lists sync too, they just need someone to add or remove contacts inside HubSpot first. Most marketers running an evergreen suppression or lookalike audience point Signals at an active list so the two systems never drift apart.
What happens to a contact's Customer Match membership after a lifecycle stage change removes them from the HubSpot list?
The next sync sees the list without that contact and sends Google a removal alongside any new adds, so the audience reflects HubSpot's current list rather than a snapshot from the last time it changed. A contact who re-enters the list later, say after re-engaging with a campaign, is added back on the same cycle with no manual cleanup.
Can Signals build the audience from a saved contact view instead of a formal HubSpot list?
Most builds use an active list because HubSpot maintains its membership on its own, but a saved view built on matching filter criteria works if a list is not how your team organizes segments. We confirm which object your workspace already uses during setup rather than asking you to rebuild segmentation just for this sync.
NEXT STEP