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.

HubSpot Contacts logo HubSpot Contacts LinkedIn URL LinkedIn URL (AI fallback) logo LinkedIn URL (AI fallback) Enrich Contact logo Enrich Contact Full Name Country (derived) logo Country (derived) Work email (waterfall) logo Work email (waterfall) LinkedIn audience ready Update HubSpot + add to list logo Update HubSpot + add to list
HubSpot Contacts logo HubSpot Co. linkedin.com/in/adam-horwitz Skipped Enriched Adam Horwitz United States Skipped yes Updated
HubSpot Contacts logo HubSpot Co. linkedin.com/in/coryrotkel Skipped Enriched Cory Rotkel United States Skipped yes Updated
HubSpot Contacts logo HubSpot Co. company/lets-get-digital Found Enriched Bas Krijgsman Netherlands Skipped yes Updated
HubSpot Contacts logo HubSpot Co. linkedin.com/in/ron-baden Skipped Enriched Ron Baden United States Skipped yes Updated
HubSpot Contacts logo HubSpot Co. company/alignedup Found Enriched Meredith Chandler United States Skipped yes Updated
HubSpot Contacts logo HubSpot Co. 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.

HubSpot Contacts logo HubSpot Contacts Enrich Contact logo Enrich Contact Full Name Location parsed logo Location parsed City (parsed) Country (parsed) Phone (waterfall) logo Phone (waterfall) Meta audience ready Update HubSpot + add to list logo Update HubSpot + add to list
HubSpot Contacts logo HubSpot Co. Enriched Kim Eyckmans Parsed Antwerp Belgium +32472756017 yes Updated
HubSpot Contacts logo HubSpot Co. Enriched Jacob van Zonneveld Parsed Arnhem Netherlands +15037045421 yes Updated
HubSpot Contacts logo HubSpot Co. Enriched Brandon Korbey Parsed Granite Bay United States Skipped yes Updated
HubSpot Contacts logo HubSpot Co. Enriched Katarina Zell Parsed Stockholm Sweden +46707479498 yes Updated
HubSpot Contacts logo HubSpot Co. Enriched Jeroen Speekenbrink Parsed Randstad Netherlands +31621548175 yes Updated
HubSpot Contacts logo HubSpot Co. 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.

HubSpot Contacts logo HubSpot Contacts Enrich Contact logo Enrich Contact Full Name Location parsed logo Location parsed City (parsed) Country code (parsed) Phone (waterfall) logo Phone (waterfall) Google audience ready Update HubSpot + add to list logo Update HubSpot + add to list
HubSpot Contacts logo HubSpot Co. Enriched Seth D. Waschitz Parsed Houston US Skipped yes Updated
HubSpot Contacts logo HubSpot Co. Enriched Ranveer S. Parsed Sarasota US Skipped yes Updated
HubSpot Contacts logo HubSpot Co. Enriched Vincent H.J. Gelink Parsed Hengelo NL +31622826549 yes Updated
HubSpot Contacts logo HubSpot Co. Enriched Bill Solari Parsed Nashua US Skipped yes Updated
HubSpot Contacts logo HubSpot Co. Enriched Katarina Zell Parsed Stockholm SE +46707479498 yes Updated
HubSpot Contacts logo HubSpot Co. 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.

  1. 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.

  2. 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.

  3. 03

    Enrich Contact fills full name, headline, job title, company, and location from LinkedIn, so each row carries the basics before audience matching.

  4. 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).

  5. 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.

  6. 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.