Soku AI
All blog posts

ChatGPT Ads Custom Audiences Do Not Work in the EEA or Switzerland — and Only the Developer Docs Say So

September 4, 2026 · 13 min read

Soku Team

Soku Team

ChatGPT Ads Custom Audiences Do Not Work in the EEA or Switzerland — and Only the Developer Docs Say So

On 4 September 2026 we diffed both of OpenAI's official ChatGPT Ads documentation surfaces — the help centre collection and the developer docs at developers.openai.com/ads — and found two things that only matter when you read them together.

First: OpenAI added seven currencies to the Minimum Campaign Spend table. Czechia at 350 CZK, Denmark at 110 DKK, a single Europe (EUR) row at 15 EUR, Norway at 160 NOK, Poland at 65 PLN, Sweden at 175 SEK and Switzerland at 20 CHF. That is the billing plumbing for a European self-service rollout, and the availability table now lists all 30 EEA member states plus Switzerland as self-service Available.

Second: the developer documentation for Custom Audiences states, in one sentence:

Custom audiences are not supported for campaigns targeting the European Economic Area (EEA) or Switzerland, where personalized ads are not yet available.

Put those together and the operational fact is this: ChatGPT Ads has just become buyable across Europe with a targeting capability that does not function there. Inclusion audiences, exclusion audiences and audience bid multipliers — the three things Custom Audiences do — are unavailable for every campaign targeting the markets whose minimum budgets OpenAI has just published.

And the sentence that says so appears in the developer docs only. The Ads Manager help article that an advertiser would actually read while building the audience does not mention it.

Everything below was verified against OpenAI's own documentation on 2026-09-04. Source URLs are listed at the end.

The Two Surfaces Say Different Amounts

This is worth being precise about, because it changes where you should go to check things.

The help-centre article Set up Custom Audiences for your campaign is thorough on mechanics. It documents the three uses, the identifier types, the file format, the matched-user thresholds and the audience states. What it says about eligibility is one line:

Before uploading your list, review the Custom Audiences eligibility and data-use requirements.

That link is new — it was added to the article in the same window we diffed. Follow it and you reach the developer page, where the EEA and Switzerland exclusion is stated in the third paragraph.

So the geographic restriction is documented. It is simply documented one click away from the place where you would hit it, on a surface whose audience is engineers integrating the Ads API rather than media buyers building a campaign. If your workflow is Ads Manager rather than the API, the current documentation does not put this in front of you.

We are not calling this an inconsistency. Both documents are correct and they do not contradict each other. It is a placement problem, and placement problems are the kind that cost a campaign a week.

What Is Actually Unavailable

To be concrete about what you lose, here is what Custom Audiences do, per the help-centre article, all three of which are off the table for EEA and Swiss targeting:

  • Campaign-level inclusion. Limit campaign eligibility to people in one or more selected audiences — known customers, qualified prospects, a specific segment.
  • Campaign-level exclusion. Prevent delivery to people in selected audiences — existing customers, recent purchasers, anyone who should not see this campaign.
  • Ad-group audience bid adjustments. Apply a bid multiplier that raises or lowers an ad group's maximum bid when the viewer matches a selected audience. Where a viewer matches several selected audiences, the highest matching multiplier applies, and multipliers do not decide eligibility.

The exclusion one is the one worth pausing on. Suppressing existing customers is not an optimisation, it is hygiene — it is how you stop paying to reacquire people who already bought. A European campaign on ChatGPT Ads currently cannot do it.

The Thresholds, for Where It Does Work

If you are running outside the EEA and Switzerland, these are the numbers that decide whether an audience is usable at all, per the help-centre article verified 2026-09-04:

UseMinimum matched usersOpenAI's own recommendation
Inclusion targeting25,000At least 100,000
Ad-group bid adjustment25,000At least 100,000
ExclusionNone stated

Three details that follow, and that catch people out:

  • Matched users, not uploaded rows. The documentation is explicit that "uploaded rows may differ from the final matched audience size because invalid values, duplicate values, or identifiers that couldn't be matched do not count toward the matched users." A 40,000-row CSV is not a 40,000-user audience, and the 25,000 gate is applied to the second number.
  • Small audiences are not rejected, they are demoted. An audience under 25,000 matched users shows as Ready with an Exclusion only note. It will look like it worked. It just will not be selectable for inclusion.
  • Combining inclusion and exclusion re-applies the floor. Per the article: if you use both, "the resulting eligible audience after exclusions must still meet the minimum size of 25,000 matched users for inclusion targeting." Excluding your purchasers out of a 26,000-user inclusion list can drop the campaign under the floor.

The Currency Table, in Full

The Minimum Campaign Spend table now carries 17 rows. The seven added in this window are marked.

CountryDaily minimum
Australia25 AUD
Brazil40 BRL
Canada25 CAD
Czechia350 CZKnew
Denmark110 DKKnew
Europe (EUR)15 EURnew
India725 INR
Japan2,500 JPY
Mexico150 MXN
New Zealand25 NZD
Norway160 NOKnew
Poland65 PLNnew
South Korea25,000 KRW
Sweden175 SEKnew
Switzerland20 CHF
United Kingdom15 GBP
United States25 USD

Read from Create campaigns for ChatGPT Ads on 2026-09-04. The minimum follows your ad account's billing currency, not the country you are targeting.

Two observations that are ours rather than OpenAI's, and worth flagging as such.

The EUR row is a single row for the whole euro area. Every euro-denominated account, from Ireland to Greece, gets one floor of 15 EUR a day. Contrast that with the non-euro European entries, which are priced individually — 350 CZK, 110 DKK, 160 NOK, 65 PLN, 175 SEK, 20 CHF. Converted at prevailing rates those non-euro floors land broadly in the 15–20 EUR band, so the structure is consistent; it is the granularity that differs, and it follows currency rather than market.

The floor is low relative to the United States. 15 EUR and 15 GBP against 25 USD is a meaningfully cheaper entry point for testing. Combined with self-service availability across 31 European markets, the barrier to running a first ChatGPT Ads campaign in Europe is now lower than it is in OpenAI's home market.

And the Budget Behaves as an Average, Not a Cap

Since this is the first budget most European advertisers on the platform will set, one thing from the Daily Budgets article that surprises people who are used to a hard daily cap:

  • A daily budget is the average you want to spend per day over a seven-day period, not a ceiling on any given day.
  • Maximum spend on a single day is twice your daily budget.
  • Maximum spend over the seven-day period is seven times your daily budget.
  • Underspend earlier in the period may be used later in the same period.
  • If you change the budget during a day, that day's maximum is based on the highest budget active at any point in it. OpenAI's own example: raise 100 to 110 mid-day and the day's maximum becomes 220.
  • Change it mid-week and the seven-day limit is prorated from the change through the following Sunday at midnight.

So a 15 EUR daily budget is a 105 EUR weekly commitment with up to 30 EUR possible on any single day. Plan the week, not the day.

What This Means for a European Launch

If you are launching in a euro-denominated market: you can start at 15 EUR a day per campaign, and you should build the campaign assuming no audience layer at all. Country, state or DMA targeting where offered, platform targeting across iOS, Android and Web, and creative — that is the toolkit. Do not architect a European account around a customer-suppression list you cannot apply.

If you run one global account across regions: this is the case most likely to bite. Your US campaigns can use audiences and your EEA campaigns cannot, which means a suppression or high-value-customer strategy that works in one half of the account silently does nothing in the other. Structure European campaigns separately rather than cloning a US campaign and changing the country.

If your minimum is in a non-euro European currency: note that the floor follows your billing currency, not the market you target. A Swedish krona account targeting Germany is on 175 SEK, not 15 EUR.

If you were waiting for personalised targeting in Europe: the developer documentation's phrasing is "not yet available", which is a statement about the present, not a roadmap. We would not plan a European Q4 around it arriving. When it does, the budget table has historically been the earlier signal — as it was for India, whose 725 INR row appeared before the availability article listed it.

A Note on Our Own Coverage Gap

One honest process finding from this run, because it affects how much weight to put on documentation diffs generally, including ours.

OpenAI's ads documentation index at developers.openai.com/ads/llms.txt currently lists 23 pages. Our monitor was tracking 21 of them. The two it was not tracking were Custom Audiences and Delta Feeds — and Custom Audiences is the page carrying the sentence this entire article is about. We found it by following the new link out of the help-centre article rather than by diffing the developer docs, which is luck rather than method.

Both pages have been added to our monitored set. The general lesson holds for anyone doing this: a documentation index is only a canary if you diff the index itself, and a page that was never in your source list will never show up as changed.

Sources

All verified 2026-09-04.

Facts above are quoted or summarised from those pages. The per-market observations about the EUR row's granularity, the European entry price relative to the United States, and the global-account structuring risk are Soku's analysis, not OpenAI's.

For the wider picture, see ChatGPT Ads self-service across 52 countries, ChatGPT Ads minimum daily budgets by country and how ChatGPT Ads custom audiences work.

Related Tools

Related Use Cases

Relevant Reads