Templates / Marketing / ad-audience-enrichment
Sync paid audiences to HubSpot
Auto-prepare HubSpot contacts for LinkedIn, Meta, and Google ad audiences. Enrich the fields each platform needs, then sync each row to the matching HubSpot audience list. Marketing stops manually building ad audiences. Every HubSpot contact lands in the LinkedIn, Meta, or Google audience list with the fields that platform requires, validated and enriched before sync.
Last updated
01 LinkedIn audience
One row per HubSpot contact bound for LinkedIn Matched Audiences. Validates the LinkedIn URL (or finds it via AI fallback), enriches the contact, derives country, then runs Work email (waterfall) only when needed. The status formula checks for first name, last name, at least one contact method, and at least one country field.
| | LinkedIn URL | | | Full Name | | | LinkedIn audience ready | |
|---|---|---|---|---|---|---|---|---|
| | linkedin.com/in/adam-horwitz | Skipped | Enriched | Adam Horwitz | United States | Skipped | yes | Updated |
| | linkedin.com/in/coryrotkel | Skipped | Enriched | Cory Rotkel | United States | Skipped | yes | Updated |
| | company/lets-get-digital | Found | Enriched | Bas Krijgsman | Netherlands | Skipped | yes | Updated |
| | linkedin.com/in/ron-baden | Skipped | Enriched | Ron Baden | United States | Skipped | yes | Updated |
| | company/alignedup | Found | Enriched | Meredith Chandler | United States | Skipped | yes | Updated |
| | No match | Skipped | ... | Skipped | Skipped | no | Skipped |
02 Meta audience
One row per HubSpot contact bound for Meta Custom Audiences. Same enrichment spine as LinkedIn, but the platform needs phone plus city/state for hashed matching. Location parsed splits the LinkedIn location string into structured fields, and Phone (waterfall) runs when HubSpot has no phone.
| | | Full Name | | City (parsed) | Country (parsed) | | Meta audience ready | |
|---|---|---|---|---|---|---|---|---|
| | Enriched | Kim Eyckmans | Parsed | Antwerp | Belgium | +32472756017 | yes | Updated |
| | Enriched | Jacob van Zonneveld | Parsed | Arnhem | Netherlands | +15037045421 | yes | Updated |
| | Enriched | Brandon Korbey | Parsed | Granite Bay | United States | Skipped | yes | Updated |
| | Enriched | Katarina Zell | Parsed | Stockholm | Sweden | +46707479498 | yes | Updated |
| | Enriched | Jeroen Speekenbrink | Parsed | Randstad | Netherlands | +31621548175 | yes | Updated |
| | Enriched | Vincent H.J. Gelink | Parsed | Hengelo | Netherlands | +31622826549 | yes | Updated |
03 Google audience
One row per HubSpot contact bound for Google Customer Match. Identical enrichment spine, except Google needs an ISO country code (US, NL, BE) in addition to phone. Location parsed extracts the code, then the status formula flags the row.
| | | Full Name | | City (parsed) | Country code (parsed) | | Google audience ready | |
|---|---|---|---|---|---|---|---|---|
| | Enriched | Seth D. Waschitz | Parsed | Houston | US | Skipped | yes | Updated |
| | Enriched | Ranveer S. | Parsed | Sarasota | US | Skipped | yes | Updated |
| | Enriched | Vincent H.J. Gelink | Parsed | Hengelo | NL | +31622826549 | yes | Updated |
| | Enriched | Bill Solari | Parsed | Nashua | US | Skipped | yes | Updated |
| | Enriched | Katarina Zell | Parsed | Stockholm | SE | +46707479498 | yes | Updated |
| | Enriched | Michiel Meyer | Parsed | Amsterdam | NL | +31644130149 | yes | Updated |
How does Sync paid audiences to HubSpot run?
Each step is a Baseloop action on the table. The workflow chains them in order, so the same sequence runs on every row that lands.
- 01
Pull HubSpot contacts into three Baseloop tables, one per ad platform (LinkedIn, Meta, Google). A recurring schedule keeps each table in sync with the CRM list view.
- 02
Validate or find LinkedIn URL. Keep the URL when it points to a /in/ profile. Otherwise an AI fallback resolves the right LinkedIn from the email and company.
- 03
Enrich Contact fills full name, headline, job title, company, and location from LinkedIn, so each row carries the basics before audience matching.
- 04
Per platform, run the right parsing and waterfall. LinkedIn audience uses Country (derived) plus Work email (waterfall) for the email-based match. Meta audience uses Location parsed (city, state, country) plus Phone (waterfall). Google audience uses Location parsed with country code plus Phone (waterfall).
- 05
A status formula checks each row against the platform's required fields and writes yes or no, so rows missing data stay flagged and the audience count matches what each ad platform will accept.
- 06
HubSpot Update Contact writes the enriched fields back and adds the contact to the matching HubSpot audience list. From HubSpot the list syncs to LinkedIn Matched Audiences, Meta Custom Audiences, or Google Customer Match.
What does Sync paid audiences to HubSpot produce?
Marketing stops manually building ad audiences. Every HubSpot contact lands in the LinkedIn, Meta, or Google audience list with the fields that platform requires, validated and enriched before sync.
Build this on Baseloop today
Build the flow on your data in Baseloop. Free to start, no credit card.