You Can Now Buy ChatGPT Ads — But Can You Prove They Made Money?
ChatGPT Ads went self-serve on 5 May 2026 and the $200,000 minimum disappeared, so small stores are now spending real money at $3 to $5 a click. The problem is proving it worked. Platform-reported conversions rarely match the order table, because a 7-day click window and stripped mobile referrers hide revenue you actually earned. Reconciliation means joining OpenAI spend to your WooCommerce orders on a persisted click ID, then reporting net revenue after refunds — not trusting either number alone.
The money is real now
In February this channel needed a six-figure commitment. By May it needed a credit card.
ChatGPT Ads launched on 9 February 2026 as a managed buy with a $200,000 to $250,000 minimum. By April that floor had dropped to $50,000. On 5 May 2026 OpenAI opened a self-serve Ads Manager and removed the minimum entirely.
Current pricing sits at roughly $3 to $5 per click, or $25 to $60 per thousand impressions. That took the channel from enterprise-only to affordable for a single-owner WooCommerce store in 86 days.
Plenty of stores took the invitation. AdClarity estimated total ChatGPT ad spend at around $109 million for April 2026 alone, with projections pointing toward $500 million. The spending is no longer experimental, but the measurement mostly still is.
ChatGPT Ads went from a $200,000 minimum in February 2026 to no minimum at all by 5 May. The barrier to spending collapsed faster than the barrier to measuring.
Three numbers that never agree
Every store running this channel ends up staring at three conversion counts and no way to choose between them.
Open ChatGPT Ads Manager and you get one number. Open GA4 and you get a second. Open the WooCommerce order table and you get a third. They will not match, and the differences are not rounding.
| Source | What it measures | Systematic bias |
|---|---|---|
| ChatGPT Ads Manager | Conversions inside the 7-day click, 1-day view window | Undercounts late purchases; counts gross order value |
| GA4 | Sessions with a recognised source | Files stripped-referrer ChatGPT traffic as Direct |
| WooCommerce orders | Money actually charged | Complete, but has no campaign attribution on its own |
| Reconciled view | Spend joined to orders on a persisted click ID | Net revenue after refunds, attributable by campaign |
Notice the last row is the only one that answers the question you actually asked. The order table knows the money. Ads Manager knows the spend. Neither knows both, and nothing joins them for you by default.
You may be interested in: 85% say they measure ROI, only 32% actually do
Why they diverge
Three mechanical causes, all of them fixable, none of them fixed by installing another tag.
First, the window. The documented default is 7-day click and 1-day view, while roughly 60% of attributable conversions happen outside the immediate click window. Guidance points toward planning around a 28-day view instead. That single mismatch explains most of the gap on considered purchases.
Second, the referrer. Mobile browsers frequently strip it, so a ChatGPT session arrives in GA4 labelled Direct. You see the order. You cannot see where it came from.
Third, the value. A browser event reports whatever the thank-you page rendered. Your order table knows what the customer was charged after tax, shipping, a discount code and a partial refund on Thursday. Those are different numbers, and only one of them is revenue.
Volatility makes this worse, not better. One documented account recorded 1.49x blended ROAS at about $1.72 CPC across 15 days — well under the $3 to $5 CPC the press reports — with daily ROAS swinging between 0.2x and 2.9x. Judging a campaign like that on a single day of platform-reported data is guessing with extra steps.
Reconciliation is a join, not a dashboard. Without a click identifier persisted on the order record, ad spend and revenue live in two systems that can never be compared.
How to reconcile spend against revenue
Persist the click ID server-side, stamp it on the order, then join spend to orders in one table.
The sequence is short. Capture the oppref click identifier from the landing URL on the server, not in the browser. Persist it against the session. Write it into order meta the moment the order is created.
Add coded UTMs to every ad URL as a second, independent path — when the click ID is lost, the campaign is still identifiable. Then pull OpenAI spend by campaign and join it to orders on those keys.
Two rules keep the output honest. Report net revenue after refunds and cancellations, because gross revenue flatters every channel equally. And report on a rolling 28-day window, so late conversions land in the same view as the spend that caused them.
You may be interested in: ChatGPT Ads now bids for conversions — and browser-only signal starves it
What a working reconciliation looks like
One table, one row per campaign per day, spend and net revenue side by side.
The end state is unglamorous and that’s the point. A daily table with campaign, spend, orders, net revenue, blended ROAS and refund rate. No spreadsheet reassembly, no screenshot comparisons, no arguing about which dashboard is right.
Getting there needs order events streaming to a warehouse with the click ID attached, so spend and revenue can be joined on a key that survives the browser. A server-side pipeline such as Transmute Engine™ streams WooCommerce order events into BigQuery with the click identifier persisted on the record. That single join is the difference between reporting on ad spend and reporting on profit.
Here’s the thing — this is the same reconciliation problem you already have with Meta and Google. ChatGPT is just the newest channel exposing whether you ever solved it.
Key takeaways
- The floor is gone: the $200,000 minimum from February 2026 was eliminated on 5 May, putting $3 to $5 clicks within reach of ordinary WooCommerce stores.
- Three sources, three biases: Ads Manager undercounts late orders, GA4 mislabels stripped-referrer traffic as Direct, and the order table has no campaign attribution on its own.
- The window is the main gap: a 7-day click default against roughly 60% of conversions arriving later guarantees platform under-reporting.
- Join on a persisted key: capture the click ID server-side and stamp it on the order, with coded UTMs as an independent fallback.
- Report net, not gross: revenue after refunds on a rolling 28-day window is the only number worth a budget decision.
Frequently asked questions
Three reasons usually stack. The default attribution window is 7-day click and 1-day view, so later purchases fall outside it. Mobile browsers often strip the referrer, so ChatGPT sessions land in GA4 as Direct. And browser-side events fire on the thank-you page total rather than the net amount charged after tax, shipping and refunds. Ads Manager is measuring clicks it served; your order table is measuring money you banked.
Capture the oppref click identifier from the landing URL on the server, persist it against the visitor session, then write it into order meta when the order is created. That gives every order a durable link back to the click that produced it, independent of cookie lifetime. Tag your ad URLs with UTMs as well, so the campaign is identifiable even when the click ID is lost.
Published figures vary widely because the auction is young. One documented account reported 1.49x blended ROAS at about $1.72 CPC over 15 days, with daily ROAS ranging from 0.2x to 2.9x. Treat any single day as noise and judge on a rolling window of at least two to four weeks.
Use them for in-platform optimization, not for profitability. The platform needs conversion events to bid well, so keep feeding it. But the number you scale or cut a campaign on should come from your own order data joined to spend, reported net of refunds.
References
- Topify — ChatGPT ads cost: CPM, CPC and what you actually pay (2026). topify.ai
- Digital Applied — ChatGPT Ads CPA bidding decision guide (2026). digitalapplied.com
- Opascope — ChatGPT Ads benchmarks from 15 days of real spend (2026). opascope.com
- The Growth Syndicate — ChatGPT ads: cost, mechanics and setup (2026). thegrowthsyndicate.com
- Launchcodex — ChatGPT ads are live: a complete breakdown (2026). launchcodex.com
- Lorphic — How much do ChatGPT ads cost in 2026 (2026). lorphic.com
- SureThing — ChatGPT Ads in 2026: costs, CTR benchmarks and how to advertise (2026). surething.io
If your ChatGPT spend and your order table have never been in the same report, that’s the gap worth closing first — talk to us about reconciling your ad data.