/

Industry insights

OpenAI Ads is not ready for B2B. But it will be.

Cyrille Huteau

A phone showing an example OpenAI ad inside a ChatGPT answer, on a light Alpic background.
A phone showing an example OpenAI ad inside a ChatGPT answer, on a light Alpic background.

We are an AI startup, so when a brand new ad platform appeared inside an AI assistant, we were excited. Ad platforms are rarely a joy to use, but this one was too interesting to watch from the sidelines, and we wanted in on day one.

We spent about $1,100 of our budget on OpenAI Ads between July and September 2026. It bought 42,185 impressions, 557 clicks and a lasting suspicion that we were bidding in the dark.

After two campaigns in the UK, the US and most of Europe, our verdict is that for B2B the platform is not ready, least of all for what we sell: MCP apps, an MCP hosting platform and an agent readiness suite. These are products and services companies never buy online because they need demos and customized builds. B2B and B2C companies with straightforward product catalogs may already do fine. The rest of us have to wait: the audience and the idea are ready, but the tooling reads like a first draft.

Below is what we ran, what broke, why B2C probably does better, and why we still think this is one of the most interesting ad products in years.

What is OpenAI Ads?

OpenAI Ads is the advertising product inside ChatGPT: a sponsored unit that appears below an answer, carries an ad label, and is bought through a self-serve tool called Ads Manager.

A ChatGPT answer with a sponsored ad unit and an ad label below it.

An ad in ChatGPT. Image source: openai.com

The US pilot started in February 2026. In May, OpenAI opened a beta of Ads Manager and added cost-per-click bidding next to the original cost-per-thousand-impressions model. The $50,000 minimum spend that early advertisers faced was dropped, replaced by a $25 minimum daily spend today (and likely to change again). Ads reached Europe in August, and self-serve buying followed a week later.

There are no keywords to bid on. Each ad group takes optional free-text “contextual hints” describing when the ad should appear, and OpenAI decides what that means.

The ad group form in OpenAI Ads Manager, with a free-text field for contextual hints.

Ad group set-up in OpenAI Ads Manager.

What we ran

Two campaigns, both optimized for clicks and billed per click, on daily budgets of $50 and $25. Ads Manager does not accept less than $25 a day today. On our first tests the floor was a bid: below $3 per click, our ads would not show, and we could have bid higher. Either way, OpenAI sets the entry ticket.

Campaign

Dates / budget share

Where

Spend

Impressions

Clicks

CPC

CPM

Summer ($50/day)

22 Jul to 9 Aug

UK, US

$934.57

22,995

353

$2.65

$40.64

↳ GEO

77% of summer spend


$722.32

15,123

277

$2.61

$47.76

↳ Skybridge

22% of summer spend


$206.24

7,591

74

$2.79

$27.17

↳ Alpic Platform

0.6% of summer spend


$6.00

281

2

$3.00

$21.35

September ($25/day)

11 to 20 Sep

31 countries, mostly Europe

$188.10

19,190

204

$0.92

$9.80

↳ Skybridge

100% of September spend


$188.10

19,190

204

$0.92

$9.80

Total



$1,122.67

42,185

557

$2.02

$26.61

Figures come from Alpic’s ad account, pulled through the ChatGPT plugin for OpenAI Ads, which exposes more data than Ads Manager itself, as of 2 November 2026.

Budget is set at campaign level, so OpenAI decides how it is shared between ad groups, and its choices were lopsided. In summer, GEO took 77% of the money, Skybridge 22%, and Alpic Platform got $6 in three weeks, which bought two clicks. Day to day it swung just as hard: on 22 July Skybridge spent $32 and GEO nothing, and the next day GEO spent $50 and Skybridge nothing. Are research intents changing that much day to day? We have our doubts.

The cleanest comparison is Skybridge, the one ad group that ran in both periods. In summer, mostly in the UK, it cost $2.79 per click and $27.17 per thousand impressions. In September, across Europe, it cost $0.92 and $9.80, with a similar click-through rate (0.97% against 1.06%). The creative and the hints stayed the same. Two things changed besides geography: the summer ad groups ran on a fixed $3 bid, and September used the “maximize clicks” strategy. We cannot say how much of the drop comes from Europe and how much from bidding.

GEO drew almost twice the click-through rate of Skybridge, 1.83% against 0.97%, from the same budget pool. With no view of where ads run, comparing ad groups was the only way we had to learn what our hints were doing, and it stays blurry.

One oddity is worth a line. The most complete data lives in the ChatGPT plugin, not in the platform’s own dashboard. We believe that is where marketing is heading: more questions asked to an AI, fewer dashboards opened.

What is broken for B2B

B2B advertising runs on knowing who saw what, and in what mood. OpenAI Ads gives you less of that than we expected from a company this size.

The big one: we never learn where our ad ran

This is the one that hurts the most. Google Ads shows us the search terms behind our clicks, and LinkedIn shows us job titles and company industries. On OpenAI Ads, targeting is a text box. You write something like “show this ad when the user is looking to host an MCP server” and OpenAI decides what that means. The ad group report we use shows spend, impressions, reach, frequency, clicks, conversions, CPC, CPM and the hint we typed. It does not show which conversation, which topic or which question triggered an impression. We told the platform when to show our ads. We don’t know if it respected our instructions.

Without that, we cannot tell a good hint from a bad one, find the conversations that waste money, or explain a single click to a finance team. Every optimization lever advertisers have relied on for two decades starts with knowing where the ad ran. Here, that lever is missing.

Budget and geography drift

Our September campaign was created with a $25 daily budget. Daily spend ran from $0.17 to $50: $48 on the first day, nothing the next, then $50 and $46, then under 50 cents for three days in a row, then $42. The summer campaign spent a steady $50 a day on 19 of 20 days, but what that money bought was not steady: daily impressions swung from 441 to 2,175 and CPM from $20 to $113. Pacing is unstable too. On top of that, control is missing: we could not decide where the money went.

In September, 33 countries shared one budget with no per-country control that we could find. Germany took $22.55, France $19.61, Italy $16.79. The US, OpenAI’s home market, got $4.06, about 2% of the budget, about the same as Bulgaria ($4.34) or Estonia ($4.25). Luxembourg cost $69 per thousand impressions and Malta $1.80, a 38x gap on a similar tiny volume (54 and 43 impressions). In summer, 91% of the spend went to the UK, and we found no setting to ask for a different split, which means running separate campaigns to control budget (with a $25 daily minimum spend, that can quickly become very costly).

The platform does move, though. OpenAI gave advertisers a new campaign setting to choose where ads run: Android app, Android web, iOS app, iOS web or desktop web. It is important for B2B, where mobile traffic can be fully irrelevant, and exactly the kind of distribution lever we were missing. It shipped within weeks of the ads reaching Europe, showing the platform is still maturing.

The Eligible platforms dropdown in OpenAI Ads Manager listing Android app, Android web, Desktop web, iOS app and iOS web.

The new “Eligible platforms” setting in OpenAI Ads Manager.

The US pilot started in February 2026. In May, OpenAI opened a beta of Ads Manager and added cost-per-click bidding next to the original cost-per-thousand-impressions model. The $50,000 minimum spend that early advertisers faced was dropped, replaced by a $25 minimum daily spend today (and likely to change again). Ads reached Europe in August, and self-serve buying followed a week later.

There are no keywords to bid on. Each ad group takes optional free-text “contextual hints” describing when the ad should appear, and OpenAI decides what that means.

The ad group form in OpenAI Ads Manager, with a free-text field for contextual hints.

Ad group set-up in OpenAI Ads Manager.

What we ran

Two campaigns, both optimized for clicks and billed per click, on daily budgets of $50 and $25. Ads Manager does not accept less than $25 a day today. On our first tests the floor was a bid: below $3 per click, our ads would not show, and we could have bid higher. Either way, OpenAI sets the entry ticket.

Campaign

Dates / budget share

Where

Spend

Impressions

Clicks

CPC

CPM

Summer ($50/day)

22 Jul to 9 Aug

UK, US

$934.57

22,995

353

$2.65

$40.64

↳ GEO

77% of summer spend


$722.32

15,123

277

$2.61

$47.76

↳ Skybridge

22% of summer spend


$206.24

7,591

74

$2.79

$27.17

↳ Alpic Platform

0.6% of summer spend


$6.00

281

2

$3.00

$21.35

September ($25/day)

11 to 20 Sep

31 countries, mostly Europe

$188.10

19,190

204

$0.92

$9.80

↳ Skybridge

100% of September spend


$188.10

19,190

204

$0.92

$9.80

Total



$1,122.67

42,185

557

$2.02

$26.61

Figures come from Alpic’s ad account, pulled through the ChatGPT plugin for OpenAI Ads, which exposes more data than Ads Manager itself, as of 2 November 2026.

Budget is set at campaign level, so OpenAI decides how it is shared between ad groups, and its choices were lopsided. In summer, GEO took 77% of the money, Skybridge 22%, and Alpic Platform got $6 in three weeks, which bought two clicks. Day to day it swung just as hard: on 22 July Skybridge spent $32 and GEO nothing, and the next day GEO spent $50 and Skybridge nothing. Are research intents changing that much day to day? We have our doubts.

The cleanest comparison is Skybridge, the one ad group that ran in both periods. In summer, mostly in the UK, it cost $2.79 per click and $27.17 per thousand impressions. In September, across Europe, it cost $0.92 and $9.80, with a similar click-through rate (0.97% against 1.06%). The creative and the hints stayed the same. Two things changed besides geography: the summer ad groups ran on a fixed $3 bid, and September used the “maximize clicks” strategy. We cannot say how much of the drop comes from Europe and how much from bidding.

GEO drew almost twice the click-through rate of Skybridge, 1.83% against 0.97%, from the same budget pool. With no view of where ads run, comparing ad groups was the only way we had to learn what our hints were doing, and it stays blurry.

One oddity is worth a line. The most complete data lives in the ChatGPT plugin, not in the platform’s own dashboard. We believe that is where marketing is heading: more questions asked to an AI, fewer dashboards opened.

What is broken for B2B

B2B advertising runs on knowing who saw what, and in what mood. OpenAI Ads gives you less of that than we expected from a company this size.

The big one: we never learn where our ad ran

This is the one that hurts the most. Google Ads shows us the search terms behind our clicks, and LinkedIn shows us job titles and company industries. On OpenAI Ads, targeting is a text box. You write something like “show this ad when the user is looking to host an MCP server” and OpenAI decides what that means. The ad group report we use shows spend, impressions, reach, frequency, clicks, conversions, CPC, CPM and the hint we typed. It does not show which conversation, which topic or which question triggered an impression. We told the platform when to show our ads. We don’t know if it respected our instructions.

Without that, we cannot tell a good hint from a bad one, find the conversations that waste money, or explain a single click to a finance team. Every optimization lever advertisers have relied on for two decades starts with knowing where the ad ran. Here, that lever is missing.

Budget and geography drift

Our September campaign was created with a $25 daily budget. Daily spend ran from $0.17 to $50: $48 on the first day, nothing the next, then $50 and $46, then under 50 cents for three days in a row, then $42. The summer campaign spent a steady $50 a day on 19 of 20 days, but what that money bought was not steady: daily impressions swung from 441 to 2,175 and CPM from $20 to $113. Pacing is unstable too. On top of that, control is missing: we could not decide where the money went.

In September, 33 countries shared one budget with no per-country control that we could find. Germany took $22.55, France $19.61, Italy $16.79. The US, OpenAI’s home market, got $4.06, about 2% of the budget, about the same as Bulgaria ($4.34) or Estonia ($4.25). Luxembourg cost $69 per thousand impressions and Malta $1.80, a 38x gap on a similar tiny volume (54 and 43 impressions). In summer, 91% of the spend went to the UK, and we found no setting to ask for a different split, which means running separate campaigns to control budget (with a $25 daily minimum spend, that can quickly become very costly).

The platform does move, though. OpenAI gave advertisers a new campaign setting to choose where ads run: Android app, Android web, iOS app, iOS web or desktop web. It is important for B2B, where mobile traffic can be fully irrelevant, and exactly the kind of distribution lever we were missing. It shipped within weeks of the ads reaching Europe, showing the platform is still maturing.

The Eligible platforms dropdown in OpenAI Ads Manager listing Android app, Android web, Desktop web, iOS app and iOS web.

The new “Eligible platforms” setting in OpenAI Ads Manager.

AI rewrites your ad unless you stop it

Creative enhancement is switched on by default. Its description says the AI generates personalized and translated versions of your headlines and descriptions, which may be shown without your review or approval. It is a toggle, so you can switch it off, but only if you notice it. Some companies will like that. A company that cares what text its name sits next to should have to opt in.

B2C will get there first

Whoever sells a catalog has an obvious way in to OpenAI advertising. Product feed is the second campaign type in Ads Manager, next to Standard: you upload your catalog and the ads build themselves from it. We did not test it, because Alpic has no catalog to upload as a shop would, but it is the one part of the platform that looks designed for a specific buyer. A retailer gets a format, a data source and a click that ends on a product page.

B2B gets the Standard campaign: one image, or four to six square ones, a title capped at 50 characters, a description capped at 100 and a single landing page URL. A hundred characters is a tight pitch for anything that takes many touchpoints, and usually a conversation, before booking a demo.

Why we still believe in it

OpenAI said ChatGPT has passed 900 million weekly users (and now certainly more) and that roughly one query in five shows direct commercial intent, according to remarks its VP of ads made. They describe an audience that tells a machine, in full sentences, what it needs and what it is trying to do. That is a richer signal than a keyword.

Price is the second reason. Our September campaign in Europe cost $0.92 per click, against $2.65 for the summer campaign aimed mostly at the UK. Skybridge, the only ad group that ran in both periods, went from $2.79 to $0.92. Geography and bidding strategy changed too, so this is an observation, not a law. Still, it compares well: WordStream’s 2026 benchmark puts Google search at a median $5.42 per click, and LinkedIn round ups at $5.74 to $7.50. Cheap clicks are good news if the right people click, and LinkedIn we can at least say who they were.

OpenAI’s own VP of ads called the product “like a baby” at 19 weeks old. Fair. Babies are rarely shipped with budget controls, but they grow fast. OpenAI ships features at a steady pace, so we expect much of this to improve over the next few months.

The ad that opens an agent

The part we are most curious about is not in our account yet. On 31 July, a new “Agent” campaign type was flagged in Ads Manager, one that sends users to a conversation with a business agent instead of a website. By that description, which we have not seen confirmed, OpenAI crawls the advertiser’s site, the advertiser adds instructions, and the agent draws on product feeds, MCP tools and lead capture forms. It is reportedly live for select advertisers in the US only. The journalist who covered it could not see it in his account, and neither can we.

If it ships roughly as described, it fixes most of what frustrated us. A 100-character description is a poor way to explain a platform. A conversation that can answer an objection, ask a qualifying question and capture a lead is a better one, and it puts the conversation that usually precedes a demo inside the ad, which is how B2B buying already works. MCP tools are on the reported list, and given what we build, we read that line with more than neutral interest.

Plenty is unknown: pricing, what the user sees, how prominent these ads will be, whether advertisers will ever see which intents triggered an ad, and how OpenAI keeps its promise of “answer independence” once the ad is itself a conversation.

Today, our advice depends on what you sell. A company with a simple, familiar offer, with a clean and accessible product catalog, can reasonably test OpenAI Ads now (and hopefully get results). A B2B team that needs results this quarter from products with longer sales cycles, or from new technology barely anyone is looking for yet (our own case), should wait. We will rerun this test the day the Agent campaign type shows up in our account.

Liked what you read here?

Get our newsletter!

Liked what you read here?

Get our newsletter!