ChatGPT Ads Custom Audiences: The 25,000-User Floor Changes the Strategy

ChatGPT Ads Custom Audiences require 25,000 matched users. Learn when to include, exclude, or adjust bids, plus the setup that avoids wasted spend.

Thursday, July 23, 2026Omid Saffari
ChatGPT Ads Custom Audiences: The 25,000-User Floor Changes the Strategy

ChatGPT Ads Custom Audiences are useful only after you clear 25,000 matched users, and OpenAI recommends 100,000. That turns the launch into a fit test: large consumer lists can suppress buyers or change bids now; most local businesses and narrow B2B teams should wait.

ChatGPT Ads Custom Audiences is the first-party data layer inside Ads Manager Beta. You upload customer or prospect identifiers, then use the resulting audience to narrow delivery, suppress people, or change the maximum bid for a matched viewer.

OpenAI Help Center page for ChatGPT Ads Custom Audiences
ChatGPT Ads Custom Audiences

The useful part is control. The catch is that the product counts matched users, not rows in your CRM export. Invalid records, duplicates, and identifiers OpenAI cannot match are removed before the audience reaches Ready status.

The 25,000 matched-user floor is the product boundary

The minimum is not a technical footnote. It decides which businesses can use the feature at all.

OpenAI requires 25,000 matched users per Custom Audience and recommends at least 100,000. A raw upload of 25,000 emails is therefore not a viable plan. Some rows will be invalid, duplicated, or unmatched, and none of those rows count.

Consider a DTC brand doing 50 orders per day. That is 18,250 orders across a 365-day year, before removing repeat buyers and before matching. Even a full year of buyers cannot clear the minimum on order volume alone. That brand may have a larger email prospect pool, but its buyer-suppression audience is still likely too small.

A brand doing 200 orders per day produces 73,000 annual orders. It has a plausible path, especially if it combines a longer customer history or a consented prospect list, but it still needs to see the processed match count before designing the campaign.

The practical boundary looks like this:

Business situationLikely fitWhy
Large DTC or consumer marketplaceStrongBuyer, lapsed, and high-value segments can plausibly clear the matched-user floor
Consumer subscription productStrongAccount and lifecycle lists can support suppression, win-back, and value-based bids
Mid-market B2B SaaSConditionalA broad prospect database may qualify, but customer or opportunity stages often do not
Local-service operatorWeakThe useful geographic customer list is usually far below 25,000 matched users
Early-stage brandWeakThe source list is too small to survive cleaning and matching

This is a different kind of minimum from a platform's daily spend. ChatGPT Ads currently allows a $25 minimum daily campaign budget, but Custom Audiences asks for data scale, not just media budget. The same distinction matters on other emerging channels: a low platform minimum can still be too small for a useful test, as the Reddit Ads budget math shows.

Three controls do three different jobs

Exclusion is the best first move for most acquisition advertisers; inclusion and bid multipliers solve narrower problems.

ControlWhat changesBest useMain risk
IncludeOnly people in at least one included audience are eligibleWin-back, loyalty, known prospects, product-specific upsellDelivery collapses when the eligible segment is too narrow
ExcludePeople in the excluded audience cannot receive the campaignSuppress recent buyers or current customers from acquisitionRemoving too much volume leaves the campaign below the floor
MultiplierThe ad group's maximum bid changes for a matched viewerBid more for demonstrably valuable segments or less for weak onesA large multiplier turns a reasonable base bid into an expensive ceiling

Inclusion is a gate. If a consumer app wants a win-back campaign only for lapsed subscribers, inclusion prevents everyone else from being eligible.

Exclusion is a filter. If a retailer is paying to acquire new customers, excluding recent buyers stops that specific acquisition campaign from competing for people who already converted.

A multiplier is a value signal. It does not decide who can see the campaign. It changes how high the ad group can bid when an eligible viewer belongs to the selected audience.

Decision map for include, exclude, and bid multiplier controls in ChatGPT Ads
Pick the control by job, after the 25,000 matched-user gate.

Start with exclusion, not retargeting

Customer suppression is the cleanest first use because it removes obvious waste without pretending a new channel already knows your lifetime-value model.

For a DTC acquisition campaign, create a Ready audience of recent purchasers and exclude it. The payoff is easy to understand: media intended for new-customer acquisition no longer goes to a matched recent buyer. You still need an incrementality test to prove profit impact, but the strategy has a clear job.

Retargeting through inclusion is harder. ChatGPT already matches ads using conversational context, landing-page content, ad copy, and advertiser-provided context hints. Restricting delivery to a known list can remove the very contextual discovery surface that makes the channel different. Inclusion earns its place when the message is genuinely specific to that list, such as a renewal, upgrade, or win-back offer.

Using both controls in one campaign is allowed, with two constraints:

  • The same audience cannot be both included and excluded.
  • The eligible audience left after exclusions must still contain at least 25,000 matched users.

That second rule can break a sensible-looking setup. An included audience may start above the threshold, but subtracting current customers can push the remainder below it.

For a B2B growth lead, this often ends the idea early. A database with 12,000 contacts cannot qualify, even before narrowing it to decision-makers, open opportunities, or a region. Keep the contextual ad group broad and use CRM stages in downstream measurement instead.

Raw-list math decides whether the audience can run

Plan from the required matched audience backward, because the platform gives no standard match-rate benchmark.

OpenAI says uploaded rows can disappear from the final audience when they are invalid, duplicated, or unmatched. It does not publish an expected match rate, and Ads Manager does not expose individual matched users. Your own processed result is the only reliable rate for the next upload.

The table below uses a 50% illustrative match rate, not an OpenAI benchmark:

GoalMatched users requiredRaw identifiers at the illustrative 50% rate
Minimum usable audience25,00050,000
OpenAI recommended audience100,000200,000

If the first 50,000-record upload returns 22,000 matched users, the useful finding is not that the feature failed. It is that this list produced a 44% observed match rate. You can then estimate how much additional clean, consented source data the next audience needs. Do not assume that rate will transfer unchanged to a different country, identifier type, or list source.

Audience preparation funnel from raw list to valid records, matched users, and Ready status
The gate is applied after cleaning and matching, not at upload.

Prepare and upload a list that reaches Ready

A clean upload is deliberately boring: one identifier type, exact formatting, an auditable name, and no last-minute spreadsheet mixing.

  1. Choose one business job

    Name the audience by the action it should change: recent-buyer suppression, lapsed-subscriber inclusion, or high-value bid adjustment. Do not combine incompatible lifecycle stages merely to cross 25,000.

  2. Export one identifier type

    Use email, phone number, SHA-256 hashed email, or SHA-256 hashed phone. One upload cannot mix those types. A CSV header, when present, must be email, phone_number, email_sha256, or phone_number_sha256.

  3. Normalize before hashing

    Lowercase and trim emails before hashing. Put phone numbers in E.164 format with + and country code before hashing. A hashed value must be a 64-character SHA-256 hexadecimal digest.

  4. Save a valid upload

    Use a UTF-8 CSV or TXT file. The file may be up to 500 MB and contain up to 5,000,000 identifiers. A TXT file uses one identifier per line.

  5. Create and wait for Ready

    In Ads Manager, open Settings, choose Audiences, and select Create custom audience. Processing usually takes 20-30 minutes. Processing and intermediate indexing states are not usable; Ready is.

  6. Version changes instead of editing

    Custom Audiences cannot be edited. Create a replacement, verify it reaches Ready, update the campaign or ad group, and archive the old audience.

OpenAI says uploaded audience files are deleted after processing, usually within 24 hours. That is a platform retention detail, not permission to upload any list you possess. Use only data you are allowed to use, with the notices and consent your business requires.

The status tells you what to fix:

  • Too small: fewer than 25,000 users matched. Add legitimate source volume or stop.
  • Failed: inspect encoding, identifier consistency, file size, and formatting.
  • Processing: wait. The audience cannot be applied yet.
  • Ready: the audience passed processing and the size floor.

Bid multipliers can turn a sensible CPC into a bad ceiling

Keep new audiences at 1x until conversion value proves a different bid is rational.

ChatGPT Ads supports multipliers from 0.1x to 10x. OpenAI currently recommends starting CPC campaigns with a maximum bid of $3-$5 per click. The platform then uses a relevance-weighted, second-price auction, so the maximum is a ceiling rather than a guaranteed charge.

The ceiling still matters:

Audience multiplierMatched-user maximum from a $3-$5 base
2x$6-$10
5x$15-$25
10x$30-$50

A 10x setting can turn a $5 maximum CPC into $50 for a matched viewer. That is defensible only if the conversion rate and contribution margin for that audience support it. A label such as "VIP" is not evidence.

Overlap creates another trap. When a viewer belongs to more than one selected audience, the highest matching multiplier applies. A person in a 2x lapsed-customer audience and a 5x high-value audience receives the 5x bid ceiling. Multipliers do not stack, but the most aggressive one wins.

ChatGPT Ads is still a young paid surface. Budget discipline matters more than novelty. The same operator rule applies when moving spend into Google AI Mode ads: fund a measurable hypothesis, not a channel story.

Measurement has to exist before the audience test

Do not change audience bids until Ads Manager and your own analytics can connect clicks to the outcome that pays the bill.

Ads Manager currently reports impressions, clicks, spend, CTR, average CPC, average CPM, and conversions when measurement is configured. OpenAI says attributed conversions can take 24-48 hours to appear, so same-day bid changes can optimize against incomplete data.

The conversion measurement path has four parts:

  1. Install the OpenAI Pixel for browser-side events.
  2. Send server-side events through the Conversions API when appropriate.
  3. Preserve the oppref click reference through redirects and landing-page navigation.
  4. When Pixel and API send the same conversion, use the same event ID so OpenAI can deduplicate it.

Static UTM parameters are supported. Dynamic UTM macros are not currently supported, so establish a consistent static naming scheme before launch.

Measurement loop from audience and campaign through oppref, Pixel and Conversions API, and delayed reporting
Audience targeting becomes useful only when the conversion loop closes.

For a DTC brand, the decision metric is not audience CTR. It is contribution profit from new customers after media cost, refunds, and the cost of the offer. For a B2B SaaS growth lead, it is qualified pipeline or closed revenue, not raw lead count. For an agency, it is the client's agreed primary conversion with a documented attribution window.

Give the reporting delay time to settle, then compare audience economics with the relevant baseline. A higher CPC can be rational when conversion value rises more. A lower CPC can still be a bad buy when the audience produces low-value actions.

Who should use Custom Audiences now

Use the feature now only when the list clears the gate, the segment changes a real business decision, and conversion measurement is already trustworthy.

Operator situationCallFirst move
DTC brand at 50 orders/dayWait on buyer-only audiencesImprove contextual campaigns and measurement; the annual order count is only 18,250 before deduplication and matching
DTC brand at 200 orders/day with a broader consented CRMTestExclude recent buyers from a new-customer campaign
Consumer app with 250,000 accountsTestSplit active, lapsed, and high-value lifecycle jobs into separate audiences
B2B SaaS company with 12,000 contactsWaitKeep delivery contextual and measure qualified pipeline downstream
Agency with a large consumer clientConditionalUse the client's permitted data and measurement stack; do not combine unrelated client lists
Local-service business with 6,000 contactsSkipThe list cannot meet the minimum, and geographic narrowing makes the usable segment smaller

The feature is meaningful, but it is not universal. Large consumer advertisers finally have the basic audience plumbing expected from a mature ad platform. Smaller operators get a more useful signal from the limit itself: do not force first-party targeting where the data cannot support it.

What is the minimum audience size for ChatGPT Ads Custom Audiences?

Each Custom Audience needs at least 25,000 matched users before it can be used. OpenAI recommends at least 100,000 users, and the threshold is applied after invalid, duplicate, and unmatched identifiers are removed.

Can you edit a ChatGPT Ads Custom Audience after uploading it?

No. Create a replacement audience, wait until it reaches Ready, update the campaign or ad group, and archive the old audience.

What happens if a user matches more than one bid multiplier?

The highest matching multiplier applies. The multipliers do not decide campaign eligibility, and they do not stack together.

Can you include and exclude audiences in the same campaign?

Yes. The same audience cannot be used on both sides, and the eligible audience remaining after exclusion must still have at least 25,000 matched users.

Want a clear operator's read on the next AI platform change before you move budget? Join the newsletter.

Last Updated

Jul 23, 2026

CategoryGrowth

More from Growth

View all Growth articles
Newsletter

One letter, every Sunday. Working systems, not hot takes.

Build logs, working systems, and field notes from running a portfolio of AI ventures.

Weekly. No spam. Unsubscribe anytime.