ChatGPT custom audiences: why uploaded rows are not matched users
ChatGPT Ads needs 25,000 matched users for inclusion targeting. Work through exclusions, overlapping lists, and bid adjustments with a count-only worksheet.
ChatGPT Ads custom-audience eligibility depends on matched users, not the number of rows uploaded. A large customer file can therefore be unusable for inclusion targeting, and an otherwise eligible audience can fall below the threshold after exclusions.
The documented size rule
OpenAI’s current setup documentation requires at least 25,000 matched users for inclusion targeting or audience bid adjustments. Smaller audiences can be used for exclusions. OpenAI recommends at least 100,000 users for inclusion or bid adjustments; that recommendation is not the minimum.
Invalid identifiers, duplicates, and unmatched identifiers do not count toward matched users. If a campaign combines inclusion and exclusion audiences, at least 25,000 matched users must remain eligible after exclusions. The same audience cannot be both included and excluded in one campaign.
We checked the documentation on September 4, 2026. Its recent update timestamp is not enough to establish the original launch date of custom audiences.
Three examples that expose the counting error
| Case | Known counts | Size conclusion |
|---|---|---|
| Upload mistaken for reach | 30,000 rows; 18,000 matched users | Below the inclusion minimum |
| Exclusions reduce the audience | 35,000 unique included matches; 12,000 overlapping excluded users | 23,000 remain: below the minimum |
| Size requirement passes | 50,000 unique included matches; 10,000 overlapping excluded users | 40,000 remain: size passes, delivery unproven |
The subtraction is valid because the excluded counts in these examples are explicitly the users who overlap the included set. Subtracting an entire exclusion list would be wrong when many of its members were never included.
Likewise, adding two inclusion audience sizes can double-count people who belong to both. Use the unique eligible audience reported by the platform where available. If that count is unavailable, do not replace it with a sum of file rows and describe it as reach.
Check eligibility before rewriting the ad
A campaign with no delivery can lead a team to rewrite its headline, increase a bid, or change its context hints. Those changes cannot answer a more basic question: was the intended audience eligible in the first place?
Keep a dated record of the file version, processing state, matched size, inclusion choices, exclusion choices, and remaining eligible size. If the audience is still processing, stop the performance diagnosis there. A configuration that has not become usable is not a failed creative test.
Once the size check passes, inspect the other campaign conditions separately. Size eligibility is a prerequisite for the selected audience control, not a guarantee of impressions, clicks, conversions, or access in every market.
A multiplier cannot rescue an ineligible audience
OpenAI says that when a viewer matches multiple selected audience bid adjustments, the highest matching multiplier applies. Multipliers change the maximum bid; they do not determine campaign eligibility.
For a hypothetical configuration with 2× and 3× matching adjustments, the relevant adjustment is 3×, not their 6× product. Keep that calculation apart from the inclusion-minus-exclusion check. A single spreadsheet cell called “audience boost” would obscure two different decisions.
Do not read a passed eligibility check as permission to increase spend. Set a budget and a stopping rule before testing. Compare results only after the audience state is stable enough for the periods to mean the same thing.
Use a count-only worksheet
Download the custom-audience eligibility worksheet (CSV). It contains the three synthetic cases above, labeled EXAMPLE-REMOVE, plus columns for processing state, unique matched inclusion size, overlapping exclusions, and the decision.
This is a planning and QA worksheet, not a customer-list upload template. Do not put email addresses, phone numbers, advertising IDs, or hashed identifiers into it. Counts and internal version labels are sufficient for the diagnostic.
Before any real upload, review OpenAI’s linked eligibility and data-use requirements and confirm that your organization is entitled to use the list. Hashing an identifier should not be treated as a substitute for that review.
Measure the next stage separately
After delivery starts, preserve impressions, clicks, spend, and conversions as distinct outcomes. The Pixel and Conversions API guide covers the downstream measurement question. A well-matched audience is not evidence that the conversion pipeline works, and a functioning pixel cannot prove that the intended audience was reached.
Our contribution here is the overlap-aware decision process and reusable examples. SearchEngineAnswer did not upload a customer list or run a paid campaign for this article, and we report no match-rate or conversion benchmark.
Keep learning
Continue this topic
Next in this topic
Bing’s API retirement deadline has passed: check your SEO reports
Earlier in this topic
AdSense impression counting changes in 2027: how to prepare
Tools & Workflows
Ask a question or join the discussion