We ran ads inside ChatGPT. Here’s why it didn’t work (yet).

ChatGPT adsChatGPT advertisingOpenAI adsChatGPT ads for B2BAI advertising postmortem
We ran ads inside ChatGPT. Here’s why it didn’t work (yet).

In late August we turned on ChatGPT Ads for CarsXE — sponsored placements inside ChatGPT for people asking about vehicle data APIs, VIN decode, plate lookup, and related automotive workflows.

We paused the campaign after a few weeks. Not because “AI ads don’t work,” and not because nobody clicked. We paused because the audience we could reach wasn’t the audience that buys B2B APIs — and our measurement couldn’t prove the outcomes we actually care about.

This is the postmortem.

What we ran

  • Platform: OpenAI Ads Manager (ChatGPT Ads, beta)
  • Campaign: CarsXE campaign
  • Objective: Clicks
  • Budget: ~$50/day
  • Flight: Aug 21, 2026 → paused by late September (currently not serving)
  • Audience direction (ad-group context hints): developers and data teams evaluating vehicle data APIs — VIN decode, plate/registration, lien/theft, market value, images, REST integrations for automotive workflows
  • Creatives: nine ads on product and landing pages (VIN specs, plate decode, lien/theft, images, valuation, sandbox API landers)

The numbers (full flight: Aug 21–Sep 29)

Impressions39,453
Clicks449
CTR1.14%
Spend$1,175.40
Avg CPC$2.62
Avg CPM$29.79
Platform “conversions”11
Approx. CPA (on those 11)~$107

CTR around 1% on a brand-new surface isn’t a death sentence. People clicked. The deeper problem was who could see the ads — and what we counted as a win.

The big takeaway: free users see the ads; paying users don’t

As we understand ChatGPT Ads today, ads show to free ChatGPT users. People and teams who pay for Plus / Team / Business / Enterprise — the builders, startups, and professionals most likely to buy a vehicle-data API — are largely on paid plans that don’t see ads.

That means the inventory is skewed toward consumers and casual free users, not the B2B buyers we actually sell to.

Google and Meta still let you chase intent and professional audiences without filtering out the people who already pay for software. ChatGPT Ads, by design, filters a lot of those high-intent / high-willingness-to-pay users out of the auction. For a consumer app that might be fine. For enterprise / developer API GTM, it’s almost shooting yourself in the foot: the real winners on this surface will probably be consumer products, not B2B platforms.

We still ran a clean developer-facing creative slate. The channel’s audience filter mattered more than the copy.

What “worked” on paper (and why it didn’t matter)

Ads Manager showed 11 conversions across the flight.

Those were tied to registration_completed — essentially the same moment as a sandbox / free signup. Mid-flight, first real API call and first paid credit spend sat at zero. So even among people who clicked, we were paying for free accounts, not production builders, paid plans, or enterprise leads.

That mismatch compounded the audience problem: free-chat inventory → free signups → no activation.

Why it failed (the real reasons)

1. Channel audience is wrong for B2B

If ads only reach free ChatGPT users, you’re fishing in a pool that systematically under-indexes on startups, professional teams, and businesses that already pay for tools. Compared with Google or Meta, this is a weaker place to buy B2B API demand today.

2. We optimized for the wrong event

Sandbox signup isn’t the north star. We want paid signup, enterprise leads, and embedded production accounts. Conversion mapping appears frozen at campaign creation — fixing it means a new campaign once the right events show in diagnostics, not an in-place swap.

3. Server-side conversion plumbing wasn’t proven

We had a pixel and a click-id path. We did not have reliable proof that CAPI was posting. As of late September, Ads Manager still listed registration / usage custom events and still showed gaps (including no recent S2S) — and still did not list subscription_created / lead_created. Until CAPI is proven, platform “conversions” aren’t a scale decision.

4. Clicks did not become activated builders

No first-api-call / first-paid-credit-spend signal mid-flight. Funnel problem on top of inventory problem.

5. Attribution wasn’t ready to scale

We couldn’t cleanly join ad click → user → paid → production usage in one trusted report.

What we did next

We held / paused spend. We’re not writing off AI-native ads forever — but we are clear-eyed that this surface, as currently constructed, favors consumer, and that our first flight also measured the wrong thing.

If we come back, it would only be after paid/lead events are clean in diagnostics, as a new campaign — and with eyes open that Google / Meta remain better primary channels for B2B until ChatGPT ads reach paying professional users.

The lesson

New inventory is exciting. Audience composition is destiny.

If your buyers are businesses and startups on paid ChatGPT plans, free-user ad inventory will look busy and still miss the customer. Consumer brands may crush it here. B2B API companies should treat ChatGPT Ads as an experiment — not a replacement for Google and Meta — until the product shows ads to the people who actually pay for software.