OpenAI Bolted Custom Audiences Onto ChatGPT Ads Mid-Upfront Week

OpenAI Bolted Custom Audiences Onto ChatGPT Ads Mid-Upfront Week
OpenAI dropped the audience upload mid-Upfront Week. The targeting layer moved before the TV money did.

OpenAI added a custom audience upload to ChatGPT Ads on May 14, 2026, accepting CSV or TXT files up to 512MB of raw or SHA-256 hashed emails and phone numbers. A 512MB file holds roughly 7.8 million identifiers. The feature landed three days into the $30.99 billion TV Upfront Week, while holdco buyers were committing forward dollars to inventory most of them had already priced.

The Box Itself

The upload panel sits inside the campaign creation interface, at the “Create Ad Group and Ads” step. Two configurations: include (show ads only to listed users) and exclude (suppress ads from listed users). Entrepreneur Juozas Kaziukenas posted screenshots from a gated rollout on LinkedIn on May 14, and PPC Land’s writeup confirmed the SHA-256 hash support and the 512MB cap.

That cap is generous. At roughly 65 bytes per hashed email row, 512MB holds about 7.8 million identifiers, which is comfortably above what any single advertiser realistically uses for a suppression list. It is, however, light on functionality. There is no lookalike build, no audience overlap viewer, no LTV-weighting toggle that Meta and Google have spent the last six years adding. This is the very first version of what infrastructure looks like when it ships.

If you are running campaigns on ChatGPT Ads right now, the suppression case is the one I would test first. Building a “do not show to existing customers” list is mechanical: hash your customer email file with SHA-256, save it as a single-column CSV, name the segment, set the campaign to exclude. The audience creation flow lives inside the same screen as the campaign setup, so it adds maybe four minutes to the workflow.

What This Looks Like Against the Upfront Numbers

The timing is the part worth sitting with. Total primetime TV upfront commitments came in at $30.99 billion this week according to Variety’s recap, with $13.2 billion of that going to streaming, a 13.9% year-over-year jump. Disney pulled 3,700 people to the Javits Center. Netflix locked another year of single- and multi-year first-right-of-refusal deals, Digiday reported, as its ad business heads toward a $2.42 billion forecast.

OpenAI did not present at an upfront. It did not need to. The infrastructure that holdcos forward-bought against (programmatic CTV, big-network reach, attention guarantees) all assumes upper-funnel awareness dollars flow to inventory where attention is measurable in 30-second blocks. The custom audience upload changes the math on a slice of that. A direct-response brand that maintains a hashed customer list can now run sequenced ChatGPT prospecting against people whose intent shows up not as a query but as a multi-turn conversation. Holdcos signing their TV deals on May 12 did not price the May 14 release into anything.

I do not think the entire upfront map collapses because of a CSV box. Forward-committed TV money is sticky and built on relationships I have no business pretending I understand. But the directional move is clean: targeting infrastructure that used to require a Meta or Google account is now available inside a platform that did not exist as an ad channel six months ago.

Why Hashed Emails Land Differently Here

At Meta and Google, the customer list is one signal among many. The platform already has a behavioral profile on the user, a graph of purchases, an inferred income band. Your hashed file matches into a system that has been profiling that person for the better part of a decade.

ChatGPT Ads has none of that history. What it has is a conversation log, which is a stream of user-stated intent. Sometimes that intent shows up in plain English, sometimes as a multi-paragraph request for advice. When a hashed match identifies that user, the ad system gets paired with a signal stream that the user typed themselves. From what I have seen of the early CTR data on r/PPC (the three-account test we covered last week ranged from 0% to 2.4%), variance is huge and the platform has not yet calibrated. A clean customer list narrows that variance in a way no other input does at this stage.

The honest version: matching rates will be low at first. ChatGPT Ads does not have universal email coverage, and the match rate problem that Meta solved with Conversions API took years. But the early-mover bid window matters. CPCs are still $3 to $5 according to PPC Land’s coverage of the self-serve open, which is roughly where Meta CPCs sat in 2014 before competition normalized them.

The Suppression Move I Would Actually Run This Week

Take your existing customer list. Hash it SHA-256, raw email per row. Upload it as the exclude segment on every prospecting campaign you have running in ChatGPT Ads. You will burn fewer impressions on people who already converted, your CTR will drift up by something that probably reads as noise in a tiny test but compounds at scale, and you will be inside the workflow before the lookalike feature ships and the bid auction tightens.

The other case worth setting up: a list of users from your CRM who started a free trial but never converted. Upload as an include segment. Run a campaign aimed exclusively at people who already showed intent and quit. The cost-per-action on a list like that has historically been the cleanest math in performance, and ChatGPT’s conversational surface is the most patient place I have seen to re-engage that segment. I think most teams will overcomplicate this.

The Part Most Coverage Missed

The five partners OpenAI named on May 5 (Criteo, Kargo, Adobe, Pacvue, StackAdapt) are the routing layer for hashed audiences at scale. Criteo alone reported 1,000+ active brand campaigns inside ChatGPT Ads by May 5, per Marketing Dive. The implication is that once OpenAI standardizes the audience format, those five partners are positioned to push enterprise customer lists in at scale, which is the upgrade path from “single advertiser uploads a CSV” to “global CDP plugs in via API.”

If you run an enterprise CDP, the integration timeline you should be asking about is whether your team gets the API hooks before lookalike audiences ship. That is the window where match rate quality matters most.

What I Would Watch For Next

Lookalike audiences. Frequency caps. A measurement story past the oaiq pixel. Each of those features lands inside ChatGPT Ads and the platform looks more like a Meta competitor than a search competitor. The CSV upload was the first move. The next four are the ones that decide whether direct-response budgets actually shift, or whether OpenAI ends up the third-place option after Meta and Google for the next two years.

Holdco upfronts cleared $30.99 billion this week. The targeting infrastructure underneath them moved on its own schedule, and the buyers who locked in TV commitments will be running the same campaigns six months from now against an OpenAI surface that looks pretty different than the one their RFPs assumed.

Notice Me Senpai Editorial