CONNECTIONS / HubSpot / HubSpot to Meta Custom Audience
HubSpot lists, kept live as Meta Custom Audiences.
Every contact entering or leaving your chosen HubSpot list flows through Signals as a hashed add or removal on the matching Meta audience.
- ● hubspot → meta.custom_audience :: live
- > sync list vip_contacts rows=15,027
- hash sha256(email,phone)
- route meta.custom_audience upsert
- ✓ audience refreshed · 12,481 matched
WHAT THIS ENABLES
HubSpot to Meta Custom Audience
HubSpot to Meta Custom Audience mirrors membership of a chosen HubSpot list into a Meta Custom Audience as hashed adds and removals, so the audiences behind suppression, lookalike, and retention work move when the CRM moves.
- HubSpot's list engine steering who your Meta campaigns reach.
- Lifecycle-stage audiences updated as contacts move through your funnel.
- A single list definition powering both email journeys and paid social targeting.
WHAT FLOWS WHERE
HubSpot to Custom Audience, mapped.
Membership changes on a HubSpot active list travel through Signals for hashing and reach Meta's Custom Audiences API as targeted adds and removals.
Membership changes on a HubSpot active list travel through Signals for hashing and reach Meta's Custom Audiences API as targeted adds and removals.
Built for the teams that own the number.
Marketers whose suppression lists lag their CRM by weeks.
Teams running win-back campaigns keyed to lifecycle stages.
From kickoff to verified events.
-
Connect
A read-only private app token that can see the lists you pick and nothing else.
-
Map
List membership translated into Meta's hashed identifier schema.
-
Deliver
Upserts to the Custom Audience on every sync, with match reporting per run.
What ships with this use case.
Meta audiences that shadow your HubSpot lists without manual exports.
Suppression synced fast enough to protect acquisition budgets.
Lookalike seeds drawn from your highest-scoring lifecycle cohorts.
What Custom Audience actually receives.
- ● signals :: audience upload
- > POST /customaudiences source=hubspot.list
- schema ["EMAIL_SHA256","PHONE_SHA256"]
- num_received 15,027 · num_invalid_entries 96
- audience_id "1355…" · session "upsert"
- ✓ accepted match=83%
Adjacent moves on the same stack.
from HubSpot
HubSpot to Google Customer Match
HubSpot to Google Customer Match rebuilds a Google Customer Match audience from a HubSpot…
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 Meta Custom Audience
ActiveCampaign to Meta Custom Audience: Signals reads your ActiveCampaign contacts and deal…
Learn moregeneric
Meta Custom Audience
Build and refresh Meta Custom Audiences from your CRM, warehouse, or SingleView, with…
Learn moreAsked on almost every call.
Why would a HubSpot list produce a lower match rate than expected on Meta?
Usually because part of the list was built from contacts whose email or phone was never verified, so the hashed value has nothing on Meta's side to match against. Lists sourced from gated content or older imports tend to run lower than lists built from checkout or login events, and we surface the invalid-entry count on every sync instead of leaving match quality a guess.
Can one HubSpot list feed Meta audiences in more than one ad account?
It can. Nothing about the source list ties it to a single ad account, so the same HubSpot list can supply several accounts inside one Business Manager at once, each getting its own sync cadence and its own match-size report. Teams sharing a customer base but running separate campaigns do not need to duplicate the underlying segment just to target it from more than one place.
What happens to a contact's Meta audience membership if their lifecycle stage changes mid-cycle?
Whichever HubSpot list is driving the audience re-evaluates its membership on its own schedule, and the next sync reflects whatever the list looks like at that point, add or removal included. A contact moving from lead to customer, for instance, drops out of a prospecting list and into a customer list on the very next refresh.
NEXT STEP