What are custom audiences?
A custom audience is a group of people an ad platform builds by matching your own data, such as a customer list, a company list, or site activity, to its users, so you can target or exclude them.
The match step decides how much of an uploaded list an advertiser can reach. A platform never targets the file itself. It compares each row against its own user records, builds the audience from the rows that resolve to an account, and lets you target or exclude only those matched users. Every network has its own name for the feature: Meta calls it custom audiences, Google calls it Customer Match, and LinkedIn calls it matched audiences. The ad audience(opens in a new tab) you end up with depends on which identifiers were in the file, how current the records were, and whether the platform's size minimums were met. A list that looks large in a spreadsheet can shrink a lot at the match step, and a campaign can fail to launch if too little of it matches.
A custom audience starts from one of four sources
The source decides how the audience behaves, so it is worth choosing deliberately.
- A customer or contact list uploaded as a file or synced from a CRM, matched on identifiers such as email address, phone number, or name.
- A company list, which LinkedIn accepts by company name, website, email domain, or Page URL.
- Site or app activity collected through the platform's pixel or event feed.
- Engagement on the platform itself, such as video views, lead form opens, or visits to a company page.
List-based audiences are built from data you already hold, so they reflect your pipeline and customer base. Activity-based audiences are built from behavior, so they refresh as people visit and act. A team on LinkedIn(opens in a new tab) can run both, using the list to define who is in scope and the activity audience to follow who has engaged.
Each platform sets its own floor
Every platform sets a minimum before an audience can run. Meta's help center recommends at least 1,000 customers in a list and one main identifier, either an email address or a phone number. It shows a match score out of 10, the share of uploaded rows it resolved, and flags a list as outdated after 30 days without a refresh. LinkedIn's help center says an audience needs at least 300 matched member accounts before a campaign can use it, and a list that goes unused for 90 days expires. Google requires good policy and payment history, and a list needs 100 members added or refreshed within the past 540 days.
Google also changed how lists get in. Since April 2026 the Google Ads API rejects Customer Match uploads from integrations that made none between October 2025 and March 2026, and those teams have to go through the Data Manager API. If a sync that once worked now fails with a not-allowlisted error, that change is the first place to look.
Account-level versus contact-level custom audiences
A custom audience can be built around a person or around a company, and the two behave differently inside an account-based program. A contact list reaches the individuals whose identifiers the platform can match, so you choose the buyers by name. A company list, which LinkedIn accepts directly, reaches whoever at that company fits the job function and seniority filters you set on top of it. That works for account-level coverage and leaves the choice of person to the filters.
Contact-level specificity matters when a buying committee(opens in a new tab) holds several roles with different jobs to do. A named list lets you separate the economic buyer, the champion, and the evaluator and give each a different message. Meta asks for an email address or phone number as its main identifier, so a team holding only account names has to resolve contacts before it can build a person-level audience there.
Custom audiences versus lookalike audiences
A custom audience reaches the people in your data. A lookalike audience takes a custom audience as its seed and asks the platform to find other people who resemble it, so every row lost at the match step and every stale record in the seed carries into the lookalike. Not every network still offers the feature. The targeting guide(opens in a new tab) covers how the two layer together.
Where custom audiences fit in an ABM program
A target account list becomes useful to a paid team once it is turned into a custom audience. The list defines who is in scope, and the audience is the mechanism that puts ads in front of those accounts and nobody else. Exclusions are the other half: existing customers, open opportunities, and accounts a rep is working directly can all be held out so they don't see top-of-funnel ads.
Platform controls matter here too. On Meta's Advantage+ campaigns, an included custom audience works as a suggestion that the system may expand beyond, while exclusions stay hard limits. A list uploaded once keeps describing your CRM as it stood that day, so the refresh cadence, and the match rate(opens in a new tab) you see on each refresh, deserve a place in the program's reporting.