On this page
What you are building
You are building a simple daily sync from your CRM to a Meta Customer List Custom Audience. When a lead becomes qualified, becomes a customer or opts out, the audience updates automatically. Your CRM decides who belongs in each list; Meta is only the destination.
The simplest reliable setup
You probably do not need the Marketing API. Start with your CRM’s built-in Meta audience sync. If it does not have one, we recommend LeadsBridge. Zapier or Make also work when your CRM can reliably trigger both additions and removals.
Step 1
Choose the audiences you actually need
Start with two or three lists that change a campaign decision. Give each list one clear job and an exact CRM rule.
| Audience | CRM rule | Use in Meta | Remove when |
|---|---|---|---|
| Existing customers | Confirmed sale or active customer. | Exclude from new-customer campaigns. | They no longer meet your customer rule or must be removed. |
| Open leads | Valid lead with an active sales opportunity. | Suppress duplicate lead ads or run suitable nurture. | Won, lost, expired, invalid or opted out. |
| Qualified leads | Current approved qualification stage. | Retargeting, suppression or a lookalike test. | Stage changes, closes, expires or opts out. |
- Write the exact include rule.
- Write every exit rule, including opt-outs.
- Choose the campaign use: inclusion, exclusion, retargeting or lookalike seed.
Step 2
Choose the easiest sync tool
| Option | Best for | Important check |
|---|---|---|
| Built-in CRM sync | The simplest setup when your audience segment already lives in the CRM. | People are removed when they leave the segment. |
| LeadsBridge | A guided sync when the CRM has no native option. | It supports your CRM segment and shows sync history. |
| Zapier | A small, simple email-only workflow. | Your CRM can trigger both entry and exit. |
| Make | More fields or more complex workflow rules. | The scenario includes both add and remove actions. |
| Marketing API | No connector meets the requirement. | Treat this as a developer-only fallback. |
An add-only automation is not suitable for customer exclusions, open leads or any list people eventually leave. Keep updating the same Meta audience instead of creating a new one each day.
Lead retrieval and Conversions API integrations do not automatically maintain customer-list audiences. Whichever tool you choose, accept Meta’s Customer List Custom Audiences Terms, exclude people you are not authorised to use and never build audiences from prohibited sensitive information.
Step 3
Set up the audience sync
If your CRM has a built-in sync
- Create one saved CRM segment, such as Existing Customers or Open Leads.
- Connect the correct Meta ad account inside your CRM.
- Open the CRM’s ads or audiences area and choose a contact-segment audience.
- Select the saved segment and create the Meta audience once.
- Add one test contact to the segment, then remove it again.
- Confirm the audience status after Meta finishes processing it.
In HubSpot, this is Marketing → Ads → Audiences → Create audience → Contact segment. Other CRMs use similar wording.
If you use LeadsBridge
- Open Facebook Suite → Facebook Custom Audiences.
- Select the correct Meta ad account and one existing audience.
- Choose the CRM list or segment that should feed it.
- Add any simple filters, such as Customer status = Active.
- Map email, phone and any other useful permitted fields.
- Run Simulation, choose the sync interval, then publish.
- Check the first run in the audience history.
If you use Zapier
Create two Zaps so people can enter and leave the audience:
- Add Zap: trigger when a contact enters the CRM segment or reaches the chosen status.
- Add a filter confirming the contact still qualifies.
- Choose Facebook Custom Audiences → Add Email to Custom Audience. Select the fixed audience and map the email.
- Remove Zap: trigger when the contact leaves the segment, opts out or becomes ineligible.
- Choose Remove Email From Custom Audience. Select the same audience and map the email.
- Test one addition and one removal, then turn on both Zaps.
Zapier stays accurate only when the CRM reliably reports both entry and exit. If it cannot, use the CRM’s native sync or LeadsBridge. Make follows the same pattern but can add with more matching fields and remove by email or external ID.
Let the connector format and hash identifiers unless its instructions explicitly tell you otherwise. Remove opt-outs, deletion requests and ineligible records before syncing, and never write customer values into error logs.
Step 4
Choose how the list refreshes
- Saved-segment sync: best when your CRM or LeadsBridge mirrors the current segment.
- Add-and-remove sync: suitable when every entry and exit reliably triggers Zapier or Make.
Run it at least daily and remove opt-outs promptly. Keep the same audience ID so exclusions, ad sets and lookalikes continue working.
Zapier and Make use incremental actions. For other tools, ask whether the sync uses Meta’s Replace Users API when an active ad set depends on it. Always action urgent privacy removals immediately.
Meta processes audience changes asynchronously, so “always updated” means scheduled, monitored and reconciled—not instant.
Step 5
Test before campaigns use the list
Use authorised test records before adding the production audience to an ad set:
- Add a test contact that meets the CRM rule.
- Change its stage and confirm it leaves the audience.
- Test an opt-out removal.
- Compare eligible CRM rows, rows sent and rows received.
- Break a test credential and confirm the owner receives an alert.
- Confirm the audience ID is unchanged after two runs.
Step 6
Monitor the sync and fix failures quickly
Record the audience ID, source and invalid counts, finish time and final status. Never save the customer payload.
- Daily: confirm the sync completed and counts look sensible.
- Quality: fix invalid records at the source.
- Access: alert on expired tokens and permission errors.
- Monthly: confirm the audience still has a valid purpose and owner.
If a sync fails, fix the rule, access or data before rerunning it. Do not create a new audience to avoid the error.
Frequently asked questions
Can Zapier keep the audience updated?
Yes, if the CRM can trigger both entry and exit and you create one Zap to add emails and another to remove them. If the CRM cannot report people leaving a segment, use its native sync or LeadsBridge instead.
How often should the list update?
Daily is the default. Run it more often when stale lead stages create a real campaign or customer-experience problem. Meta processing can still take hours.
Does our Conversions API connection already do this?
Not necessarily. Lead retrieval, CRM conversion events and customer-list audience sync are separate functions. Confirm that the selected tool explicitly supports Customer List Custom Audience additions and removals.
Why is the Meta audience smaller than our CRM list?
Not every identifier matches an eligible Meta account. Duplicates and formatting also affect the result. Compare processing quality and trends; Meta does not reveal which individuals matched.
Do we need to use the Marketing API?
Usually not. Use a native CRM sync, LeadsBridge, Zapier or Make first. Commission an API integration only when those options cannot support the required segment, identifiers or reliability.
Should we create a new audience every day?
No. Create it once and update the same audience ID so campaign exclusions, ad sets and lookalikes keep working.

