To set up a ChatGPT Ads custom audience, upload a CSV of your customers' emails or phone numbers in Ads Manager under Tools and Audiences, wait for it to show Ready, then add it to a campaign. For B2B, start with exclusion: it is the one use with no minimum list size.
- Exclusion, any size: lists under 25,000 matched users still work, marked Exclusion only
- Targeting and bid adjustments: 25,000 matched users, and OpenAI recommends 100,000
- Who never sees ads: Plus, Pro and Business plan users, so many work accounts are out of reach
- Not in Europe: unsupported for campaigns targeting the EEA or Switzerland
- Your data: first-party lists only, never purchased or broker data
What custom audiences do, and who they can never reach
A custom audience is a list of your own customers or prospects that ChatGPT Ads matches against its users. You upload email addresses, phone numbers or advertising IDs, and the platform finds the matching ChatGPT accounts. Ads Manager never shows you who matched.
You can use a matched audience in three ways, and they do not share the same rules:
One limit applies before any list does. OpenAI's overview of ads in ChatGPT states that it does not show ads to users on Plus, Pro or any Business plan, or to users under 18. A buyer who uses ChatGPT through their company's Business plan never sees an ad there, whatever your audience says. The people a list can reach are the ones using ChatGPT on plans that carry ads.
For targeting, a custom audience needs 25,000 matched users. For exclusion, it needs none. That difference decides whether a B2B team can use the feature at all.
Why B2B should start with exclusions
Exclusion is the only use with no size floor, so it is the only one most B2B lists qualify for. OpenAI's custom audiences guide says audiences below 25,000 matched users can be used for exclusions, and its developer documentation adds that no minimum matched size is required for that use.
That is worth saying plainly, because several widely cited guides still say otherwise, describing the minimum as applying to exclusions too or treating a small suppression list as too small to use. OpenAI's current documentation is clear, and Ads Manager says it in plain words. When we created an empty test audience on October 17, 2026, it reached Ready with an Exclusion only label and the note “Available for campaign exclusions; unavailable for inclusion targeting and bid adjustments.”
An exclusion list does not find new buyers. It stops you paying to show ads to people you have already won or are already talking to, which on a B2B budget is often the fastest saving available.
The third list pairs naturally with a Conversions campaign: once someone has booked a demo, the campaign has done its job for that person. The targeting that finds new buyers is still context hints, which describe the conversation rather than the person and have no size floor at all; our guide to writing effective context hints covers how to build them.
Before you upload: building a list OpenAI will accept
The file is a UTF-8 CSV or TXT of up to 500 MB, holding email addresses, phone numbers, their SHA-256 hashes, or Google Advertising IDs. A CSV needs a header row that names each column, and you can mix identifier types in one file.
If you hash the values yourself, normalize first: trim and lowercase emails, put phone numbers in E.164, and send the 64-character hex digest, not Base64. OpenAI's developer documentation also warns not to remove dots or plus tags from email addresses, a step some list tools do by default.
Two B2B cautions. First, ChatGPT matches your list against its own accounts, and a buyer's ChatGPT account may use a personal address rather than the work email in your CRM. OpenAI does not publish match rates, so treat matching as uncertain and include every identifier you hold lawfully. Second, OpenAI's rules, which its Ad Tools Terms formalized in June, are strict: upload only first-party data you have the right to use for ads, never purchased or broker lists, and get privacy or legal approval for your use case. Campaigns targeting the EEA or Switzerland cannot use custom audiences at all.
If your buyers use ChatGPT through their company's Business plan, no list will put your ad in front of them there. Plan for the accounts that can see ads.
How to create the audience in Ads Manager, step by step
Audiences live in their own section of Ads Manager, separate from campaigns, so you build them once and reuse them. These steps follow OpenAI's guide and Ads Manager as of October 17, 2026.
1. Open Tools, then Audiences
Expand Tools in the left sidebar and select Audiences. Any audiences you have already built are listed here with their status, a matched-users range and a count of invalid identifiers. With none yet, the page invites you to upload raw or hashed emails and phone numbers.
2. Create the audience and upload the file
Select Create audience and give it a name you will recognize in a campaign later, such as “Exclude: current customers”. A description is optional, and so is the file: Ads Manager lets you create an empty audience and add members later. For a CSV, Ads Manager reads the identifier types from the header; for a TXT file, you choose the type. Then select Create audience.
3. Wait for Ready
OpenAI says processing usually takes about 20 to 30 minutes, depending on file size; our empty test audience went from Publishing to Ready in under a minute. You may see interim statuses such as Upload pending, Indexing or Publishing; the audience is usable only once it says Ready. A Failed status usually means the file is not valid UTF-8, uses an unsupported identifier, or breaks the formatting rules above.
Do not be surprised if the matched count is lower than your row count. Duplicates, invalid values and identifiers that match no ChatGPT user all drop out, which is why OpenAI calls 25,000 a planning threshold and warns that uploading 25,000 identifiers does not guarantee 25,000 matches.
How to exclude (or include) the audience in a campaign
Audiences attach at the campaign level, in a Custom audiences section with one control for including and one for excluding. With no audiences in the account, the buttons read Create include audience and Create exclude audience; once you have one, they read Include audience and Exclude audience, as in OpenAI's Help Center.
Select Exclude audience, then choose your ready audience from the Excluded audiences list. Three rules from OpenAI apply when you combine them:
- One role per audience. The same audience cannot be both included and excluded in one campaign.
- Exclusions shrink inclusions. If you include one audience and exclude another, what remains must still reach 25,000 matched users.
- Several lists stack. Exclude more than one audience and anyone in any of them is left out.
A small audience still appears in the Included audiences list, but greyed out. Hover over it and Ads Manager explains: “Audience does not meet the requirements for inclusion targeting.”
Exclusion works at the campaign level, so add your lists to every campaign they apply to. A customer list belongs on acquisition campaigns, not on a campaign built to sell more to existing accounts.
Audience bid adjustments: bidding more for people you know
A bid adjustment raises or lowers an ad group's maximum bid when the viewer belongs to an audience you choose, from 0.1x to 10x. It does not decide who can see the campaign; it only changes how hard the ad group bids for them.
Three details are easy to miss. The Audience bid adjustments section appears only with a manual bid, labelled Maximum CPC in a Clicks campaign and Manual: Max bid in a Conversions campaign; with Autobid it disappears. Exclusion-only audiences are not offered here at all: with one in the account, the panel still said “No custom audiences available”, so do not read that message as a missing audience. And when a viewer is in more than one adjusted audience, the highest multiplier applies.
Bid adjustments carry the same 25,000 matched-user floor as inclusion, so most B2B teams will not have them yet. If you do, manual bidding has its own case for B2B, which our post on automatic bidding for B2B sets out.
Keeping your lists current
An exclusion list is only as good as its last update. A customer who signed last week and is not on the list will keep seeing your acquisition ads.
Each audience's Actions menu in Ads Manager offers Add members, Remove members, Replace members, Merge audiences and Archive. Changing members does not mean recreating the audience or editing the campaigns and ad groups that use it, so the campaign keeps the same audience while the list behind it changes. A monthly export from your CRM and a Replace upload keeps the main lists honest, and teams with a developer can automate the same steps through the Ads API, which merges 2 to 64 audiences into a new one. Retired audiences are archived; the menu has no delete.
If you are weighing whether your list will ever be large enough to target with, our breakdown of the 25,000-user minimum compares it with Google, Meta and LinkedIn and covers what to do while you grow toward it.
Mistakes to avoid
Most mistakes here waste the list rather than the budget, but a stale or wrongly formatted list quietly does both.
- Skipping custom audiences because of the 25,000 floor. The floor applies to targeting and bid adjustments, not exclusion.
- Uploading purchased or broker lists. OpenAI's rules allow first-party data only.
- Hashing badly. Unnormalized values, Base64 instead of hex, or stripped email dots and plus tags all lose matches.
- Excluding until nothing is left. With an include audience, the remainder after exclusions must still reach 25,000 matched users.
- Using custom audiences on EEA or Swiss campaigns. They are not supported there.
- Never updating the list. New customers and closed deals keep seeing ads meant for strangers.
For the rest of the campaign build, the full campaign setup walkthrough covers creative, bids and review, and the overview of how ChatGPT Ads work places audiences alongside context hints and the pixel.
Frequently Asked Questions
#Can I use a small customer list for ChatGPT Ads custom audiences?
Yes, for exclusion. OpenAI states that audiences below 25,000 matched users can be used for exclusions, and its developer documentation says no minimum matched size is required for that use. A small list shows as Ready with an Exclusion only note. It cannot be used to target people or to adjust bids until it reaches 25,000 matched users.
#What is the minimum audience size for ChatGPT Ads?
Inclusion audiences and audience bid adjustments need at least 25,000 matched users, and OpenAI recommends 100,000. Matched is the word that matters: duplicates, invalid values and identifiers that do not match a ChatGPT user do not count, so uploading 25,000 rows is not enough. Exclusion audiences have no minimum.
#How do I exclude existing customers from ChatGPT Ads?
Export your customers' email addresses or phone numbers from your CRM into a UTF-8 CSV, then in Ads Manager open Tools, Audiences, and Create audience to upload it. When the audience shows Ready, which usually takes 20 to 30 minutes, add it to each campaign under Custom audiences as an exclude audience. Update the list as customers change.
#What file format does ChatGPT Ads accept for customer lists?
A UTF-8 CSV or TXT file up to 500 MB. A CSV needs a header row naming each identifier column: email, phone_number, email_sha256, phone_number_sha256 or gaid, and you can mix types in one file. A TXT file holds one identifier per line, and you choose its identifier type when you upload it.
#Can I see which people matched my ChatGPT Ads audience?
No. OpenAI states that Ads Manager does not show individual matched users or let you select specific people from an audience. You see the audience's status, a matched-user range such as Under 25K, and a count of invalid identifiers. Uploaded files are deleted after processing, usually within 24 hours.
#Do ChatGPT Ads custom audiences work in Europe?
Not in the European Economic Area or Switzerland. OpenAI says custom audiences are not supported for campaigns targeting those regions, because personalized ads are not yet available there. Campaigns for those markets have to rely on context hints and location targeting instead.
#Why can't my buyers see my ChatGPT ads even if they are on my list?
Because of their ChatGPT plan, not your list. OpenAI does not show ads to users on Plus, Pro or any Business plan, or to users under 18. A buyer who uses ChatGPT through their company's Business plan never sees an ad there, whether or not your audience includes them.
Related Reading
- ChatGPT Ads Custom Audiences Need 25,000 Users: The B2B Reality
- How to Set Up a ChatGPT Ads Conversion Campaign for B2B
- What Are Context Hints in ChatGPT Ads? The 5 Patterns Defined
- ChatGPT Search Ads for B2B: Early Results, What's Working, and What Isn't
- How to Set Up a ChatGPT Ad Campaign in 8 Steps (September 2026)
