Upload a list to ChatGPT Ads and, in the United States, something does happen: the platform takes it. What it will not take is the list an account team actually holds. ChatGPT ads targeting accepts a custom audience built from email addresses or phone numbers, with no company-name field, and OpenAI’s own planning threshold for using one to include people is 25,000 matched users. For campaigns targeting the European Economic Area or Switzerland, OpenAI’s docs say custom audiences are not supported at all.
On most channels that is a limitation you work around. On an account-based programme it changes the programme, because the list is the plan. So the question worth answering is not whether the targeting is good enough. It is what an account team does with a channel that will only recognise its buyers one email address at a time, and only in some markets.
The list it takes is not the list you hold
Every account-based play starts the same way. Sales and marketing agree on a set of companies, someone builds the list, and each channel gets its own version of it. LinkedIn takes a company list. The list is what makes the spend account-based rather than merely targeted.
ChatGPT Ads takes a different object. Its custom audiences are built from identifiers that belong to people: an email address, a phone number, a hashed version of either, or a Google advertising ID. None of the documented identifiers is a company name, a domain or an industry, so a list of 200 target accounts has to become a list of the people inside them before the platform can read it, and it then has to match enough of those people to be worth using. Our guide to how the buying works covers the platform mechanics in full. This piece is about the gap between the list you hold and the list the platform wants, and what you put in it.
What ChatGPT ads targeting lets you set
Four things, and it is worth being exact about each of them.
Data table
| Measure | Value |
|---|---|
| job-title, company or industry targeting options | 0 |
| matched users, the planning threshold for using an uploaded list to include people | 25,000 |
| custom audiences for campaigns aimed at the EEA or Switzerland | 0 |
Location comes first. OpenAI’s developer docs let a campaign choose countries, regions and markets, and the examples they give are a US state and a US metro area, which OpenAI files as a designated market area. So a campaign aimed at one industrial region can be drawn more tightly than the whole country around it, at least in the United States. OpenAI’s help center adds US ZIP code targeting in Ads Manager, and neither source lists a radius option.
Then the platform: the ChatGPT apps and browsers the campaign is allowed to appear in.
The third is the context hint. You write, in ordinary language, a description of the situations where your ad belongs, and the system matches that against the conversation in front of the user. The docs describe no keyword bidding. You are not buying a query. You are describing a moment and asking to be present in it.
Last, the custom audience, which gets its own section below. The docs document no job-title, seniority, company, industry, firmographic, lookalike or demographic targeting, so age, gender and income are not options either. Reporting shows campaign performance by country and device rather than a profile of the people who saw the ad, so it does not fill the gaps the targeting leaves.
Custom audiences: the number that decides it
A custom audience is a list of identifiers you upload, which the platform matches against ChatGPT accounts. Three uses. Include it, and the campaign delivers only to people on it; exclude it, and they never see the ad; or raise or lower the bid for them.
One number decides whether any of this helps an account team. It is 25,000. OpenAI’s docs name that as the public planning threshold for including an audience or adjusting bids on it, and they add that uploading 25,000 identifiers does not guarantee enough matched users, because it counts matched users after the match rather than rows in the file. Exclusion has no such threshold. A small list can keep an ad away from existing customers, though inclusion is the direction the number is really about.
Put a typical B2B target account list next to that. Say 200 accounts with a buying committee of eight each, which is 1,600 people before you ask how many of them use ChatGPT under an address or number that matches the one in your CRM. The list you hold is not in the same order of magnitude as the threshold. Inclusion targeting on ChatGPT Ads is built for a consumer-scale customer file, not for an account plan.
The second number is a boundary. Custom audiences are not supported for campaigns targeting the European Economic Area or Switzerland, where OpenAI says personalised ads are not yet available. A campaign aimed there is left with location, platform and context hints.
Three conditions in OpenAI’s own docs that matter more than the feature name
Read the custom audiences page as an account team rather than as a curious marketer, and three conditions stand out. They are the docs as they stood on 11 September 2026, and docs get revised, so treat them as the current shape of the deal.
The identifiers are personal, and you carry the consent. Email, phone, a hash of either, or a mobile advertising ID. Before you upload, OpenAI asks you to confirm that your use complies with the required rights, notices, consents, permissions and legal bases and with its Ad Tools Terms, and to get privacy or legal approval. Ask where your target account list actually came from. A list assembled from a data vendor is a question for your legal team before it is a question for your media plan, and it costs a lot less to ask it now than after the upload.
No match rate is promised. The docs give a planning threshold, not a match rate, and nothing on the page tells you in advance what share of a list will be found. On an account list, a match rate nobody will quote you is the difference between a campaign and a rounding error. Budget for the audience you will have after the match, and treat the size of the file as a hope rather than a plan.
The EEA and Switzerland are out. The carve-out sits in OpenAI’s developer documentation for custom audiences, in one sentence. If your buyers are in the EEA or Switzerland, this part of the platform does not apply to your campaigns there yet, and a plan that assumes it does is planning for something the docs rule out.
Your best buyers may not be in the auction
A perfectly matched audience would still run into this one. Ads can appear only for users on the Free and Go plans, including logged-out ChatGPT, and never for accounts OpenAI identifies as belonging to users under 18. Plus, Pro, Business, Enterprise and Edu accounts never see one.
So think about who inside your target accounts is most likely to be on a paid seat. In the accounts we work in it skews to the heaviest users and the technical evaluators, the people whose employer bought them a seat because they use the thing all day. If that holds in your market, it puts a real slice of the buying committee out of reach, and no upload changes that.
None of this is a reason to stay away. It is a reason to stop describing the channel as a way to put a message in front of specific senior people, because it structurally is not one, and a plan built on that promise will miss.
What replaces the account list
The substitution is real, and it is not a targeting setting. On an account-targeted channel you pick the company and let the message follow. Here you pick the moment and let the person find you inside it. Three pieces of work change.
Data table
| Channel | Ways |
|---|---|
| LinkedIn Ads | 2 |
| ChatGPT Ads | 0 |
Write hints for the situation, not for the persona. “VP of Security at a company with 500 to 2,000 employees” describes a person, and does nothing here. “Someone just failed an audit and is asking which tool stops it happening again” describes a conversation, and a conversation is the thing the system can match.
Do the account work either side of the click. Your list still decides which problems you write hints for, which landing pages you build, and which companies sales chases when a form arrives. Where a custom audience is available, give it the one job it does at any size, keeping the ad away from current customers, and save bid adjustments for the day a matched list clears the threshold.
Leave the account-targeted channels doing the account-targeted job. LinkedIn gives you two ways to aim an ad at a company you have chosen: type its name, or upload a list of names. Job title, seniority and industry sit on top of that. ChatGPT Ads gives you neither, because its list is a list of people, so send it the problems your buyers are researching and never the companies you picked.
How to run it as a test and not as a channel
More teams can open an account now than could in the spring. Self-serve has been open in the United States since May 2026, in beta, and a beta self-serve Ads Manager opened across the 31 European markets, India, the Middle East and North Africa on 31 August 2026, which updates what we wrote at the time in our piece on the European launch. OpenAI’s own count that day was more than 40 countries.
Design the test before you open the account. Pick two or three buying situations you want to be present in, write a hint for each, and send the click somewhere that answers that exact situation instead of to a homepage. Agree what a qualified result looks like before the first euro, because you will be matching whatever arrives against your own list by hand. Our note on what this channel reports covers those gaps.
Keep the budget small and keep everything else running. A contained test answers the only question that really matters here: whether your buyers ask about your category in a chat window at all.
What would have to change before this is an ABM channel
Three things, in order of how much they would move.
A way to match on the company rather than the person, or a threshold a B2B list can clear. Custom audiences reaching campaigns that target the EEA or Switzerland. Account-level reporting, where today OpenAI’s reporting breaks campaign performance down by country and device rather than by who saw or clicked. Until those arrive, treat this as a demand channel that happens to sit very close to the moment of evaluation, and size it accordingly. If you want a hand working out what that is worth to you, this is the work we do.
The platform facts above were checked against OpenAI’s developer documentation on 11 September 2026. This channel has moved several times this year, so check them before you act on them.
FAQ
Can I upload my target account list to ChatGPT Ads?
Not as a list of companies. Custom audiences are built from email addresses, phone numbers, hashed versions of either, or a Google advertising ID, and OpenAI names 25,000 matched users as the public planning threshold for using a list to include people. They are not supported for campaigns targeting the EEA or Switzerland.
What targeting controls does ChatGPT Ads actually have?
Four. Location, which covers countries, regions and markets, with a US state and a US metro area as the examples in OpenAI’s docs, plus US ZIP codes in Ads Manager. Platform, meaning the apps and browsers. Context hints, which are natural-language descriptions of the conversations where your ad should appear. And custom audiences, where they are supported. Keyword bidding, job title, company or industry targeting and lookalikes are not among the documented controls.
Can a custom audience run ABM on ChatGPT Ads?
Rarely on its own. The audience matches people rather than companies, carries a 25,000 matched-user planning threshold for inclusion or bid adjustments, and is not supported for campaigns targeting the EEA or Switzerland. Exclusion has no such threshold, which makes it useful for keeping ads away from existing customers.
Is there any retargeting on ChatGPT Ads?
Only through an uploaded list, and only for campaigns outside the EEA and Switzerland. OpenAI’s docs describe one audience source, the list you upload, and no lookalikes. The docs describe no pixel-built or site-visit audience, so anything of that kind has to be built outside the channel.
How do I reach senior buyers without job-title targeting?
By writing hints for the questions senior buyers ask rather than for the people asking them, and by accepting that some of them are out of reach here. Plus, Pro, Business, Enterprise and Edu accounts are shown no ads at all.
Should a B2B team wait until the targeting improves?
That depends on whether your category gets researched in a chat window today. If it does, a small contained test teaches you more than waiting does. If it does not, better targeting would not have helped you anyway.





