ChatGPT Ads Conversion Campaigns: the complete oCPC guide
ChatGPT Ads conversion campaigns — OpenAI's conversion-optimized, or oCPC, buying model — let you nominate one standard conversion event and have the auction bias delivery toward the clicks most likely to produce it. You still pay per valid click under a Bid Cap you control, and three decisions lock permanently at campaign creation: the objective, the conversion event, and the fact that no existing CPM or CPC campaign can be converted into an oCPC one. This guide covers every prerequisite, all 13 eligible events, bid and budget strategy including the July 27 averaging change, the API fields, and what advertisers are actually reporting.
The 2-sentence answer
ChatGPT Ads conversion campaigns (oCPC) let you pick one standard conversion event — such as order_created or lead_created — and have OpenAI's auction bias delivery toward the clicks most likely to produce it, while you still pay per valid click under a Bid Cap you set. They require working conversion tracking through the JavaScript pixel or Conversions API first, and the objective and event are locked at campaign creation, so the setup decisions you make in the first five minutes govern the campaign for its entire life.
The short version
- oCPC is click-billed, conversion-optimized. You pay for valid clicks, not conversions. OpenAI's help documentation is explicit: "billing is still based on valid clicks."
- Three things lock at creation: the campaign objective, the conversion event, and the fact that you cannot convert an existing CPM or CPC campaign into an oCPC one. Get them wrong and your only remedy is a new campaign.
- Custom events are not eligible. Only standard conversion events can be an oCPC optimization goal — which makes your event taxonomy decision a bidding decision.
- Bid Cap is a ceiling, not a price. Your actual CPC is set by auction and is frequently lower. At the API level the same field is called
max_bid_microsand behaves as a CPA-style optimization input. - Daily budgets became seven-day averages on July 27, 2026. Max daily spend is 2× your daily budget; max seven-day spend is 7×. Existing campaigns updated automatically.
- Signal volume is the hidden prerequisite. Optimizing toward a rare event starves the model. Pick the deepest event that still fires with real frequency.
What a ChatGPT Ads conversion campaign actually is
A conversion-optimized campaign — OpenAI's Ads Manager labels the objective Conversions, and the buying model is oCPC — changes one thing about how your ads are delivered: instead of spending your budget on the cheapest available impressions or the cheapest available clicks, the auction biases delivery toward the clicks it predicts are most likely to end in a specific downstream action you nominate.
That nominated action is the whole campaign. You choose it once, at creation, from OpenAI's list of standard conversion events. It might be a purchase (order_created), a lead form submission (lead_created), an account signup (registration_completed), a booked demo (appointment_scheduled), or a trial start (trial_started). From then on, every delivery decision the system makes is oriented toward producing more of that event.
The critical detail — and the one that most consistently confuses advertisers arriving from Meta or Google — is that oCPC does not change how you are billed. OpenAI's help centre states it plainly in the FAQ: "oCPC optimizes delivery toward your selected conversion event, but billing is still based on valid clicks." You are buying clicks. You are simply buying better-selected clicks. This distinction matters for forecasting, because it means your cost per conversion is an output — spend divided by conversions — rather than something you set or control directly.
Set against the other two buying models, the choice is really a choice about what you want the delivery system to hunt for:
| Goal | Best for | How you pay | What delivery optimizes for |
|---|---|---|---|
impressions (CPM) | Reach and awareness | Per 1,000 impressions | Broad delivery at scale |
clicks (CPC) | Engagement and traffic | Per valid click | Clicks from people likely to engage |
conversions (oCPC) | A tracked action after a click | Per valid click, not per conversion | Clicks more likely to lead to your selected conversion event |
Under the hood, oCPC does not just look at your conversion event in isolation. OpenAI describes the system as combining the selected conversion event with ad quality, relevance, click likelihood, and conversion likelihood to favour the clicks most likely to produce that event. Your CPA bid is what controls how aggressively the campaign competes for those outcomes — it is an optimization input, not a price you pay per conversion. Billing does not change: OpenAI charges only when a valid click occurs, and the auction determines the actual CPC.
It is worth being precise about what "optimizes toward" means in practice, because the phrase does a lot of work. ChatGPT Ads places sponsored results below a ChatGPT response, matched to conversational context rather than to typed keywords — the mechanics of which we cover in how ChatGPT ads work. In a CPM campaign, the system asks: which impressions can I buy most efficiently within this budget? In a CPC campaign: which impressions are most likely to be clicked? In an oCPC campaign, it asks a harder question: of the conversations where this ad could appear, which ones contain a person who will not only click but subsequently complete the event this advertiser cares about? The model needs conversion data flowing back to it in order to answer that, which is why tracking is a hard prerequisite rather than a nice-to-have.
The mental model
oCPC is a prediction layer bolted onto a click auction. The prediction quality is a direct function of the quality and volume of the conversion signal you send back. An oCPC campaign with broken tracking is not a conversion campaign — it is a CPC campaign that has been handed a corrupted map, and it will frequently perform worse than the plain CPC campaign you replaced.
How ChatGPT Ads got conversion optimization
The order in which ChatGPT Ads shipped its features explains most of the confusion advertisers still have, so it is worth laying out. The channel went from "no ads at all" to "conversion-optimized bidding" in roughly four months.
| Date (2026) | What shipped | What it meant for advertisers |
|---|---|---|
| February 9 | Ads pilot opens to US Free and Go tier users | Managed-only, CPM buying, reportedly high entry commitments |
| March 26 | Pilot passes $100M annualized revenue with 600+ advertisers | Channel proves commercial demand exists |
| April 17 | Ads expand to Canada, Australia, New Zealand | Four eligible markets total |
| May 5 | Self-serve Ads Manager beta opens; CPC objective added | Conversion tracking available, but not conversion optimization |
| May 28 | Conversion optimization announced | June 1 eligibility cutoff set |
| June 5 | oCPC rollout begins for accounts with conversions configured | Conversions becomes a selectable objective |
| July 27 | Daily budgets become seven-day averages | Pacing flexibility; new 2×/7× spend ceilings |
| August | Maximize results bidding; oCPC beta for product feed campaigns; VTA (1d) enters reporting | First automated bidding primitive; feed campaigns can optimize to conversions; view-through becomes visible but not optimizable |
| September | Total budgets begin pacing; view-through conversion optimization announced | Flighted campaigns stop front-loading; an impression-billed, conversion-optimized campaign type is coming |
The gap between May 5 and June 5 is the source of a great deal of stale advice still circulating. During that month, advertisers in the self-serve beta could install a pixel and record conversions, but the Conversions objective was greyed out. One advertiser documenting the beta on r/PPC on May 21 noted that the objective dropdown offered "Reach, Clicks, and Conversions — but Conversions is currently labeled 'Coming soon'," adding that "even though Conversions as an objective isn't live, you can still set up conversion tracking to measure results. The algorithm just won't optimize toward those events yet" (r/PPC, May 21, 2026).
That advice was correct on May 21 and wrong by June 5. On the day of rollout, a commenter in a separate r/PPC thread confirmed the change bluntly — "they barely opened conversions up for optimization today (June 5)" — while another, who runs a ChatGPT Ads practitioner community, wrote that "conversion campaigns go live today, and Product Feeds are getting rolled out soon" (r/PPC, June 5, 2026). If you are reading a ChatGPT Ads guide written before June 2026, assume its measurement and bidding sections are obsolete.
The practical consequence of this sequencing: accounts that installed tracking early have a data advantage. Conversion history that predates your first oCPC campaign is still history the system can learn from. Accounts standing up tracking and oCPC simultaneously are starting the prediction problem from zero.
The four gates you must clear before launching
OpenAI's documentation lists prerequisites in prose across two pages. Consolidated, there are four gates, and failing any of them either blocks campaign creation or silently degrades performance.
Gate 1 — Conversion tracking must be live
You need conversion tracking configured for the ad account, via the JavaScript pixel, the Conversions API, or both. Both is the correct answer for anything transactional — the browser pixel loses events to ad blockers and Safari's storage policies, and the server-side API loses events that never reach your backend. OpenAI is explicit that the Conversions API is a more reliable tracking source than the pixel alone, so if you can only build one, build that one. We walk through the full implementation, including deduplication, in ChatGPT Ads conversion tracking.
Gate 2 — At least one standard conversion event must be available
This is the gate that catches people. OpenAI states that "custom conversion events are not currently supported for oCPC." If your team implemented tracking with a custom event — say quote_requested — because it mapped neatly to your funnel, that event cannot be an optimization goal. You will need to also fire a standard event alongside it. The full list of 13 standard events is in the next section.
Gate 3 — The event must belong to this ad account with an active source
The developer documentation adds a constraint the help centre does not: the conversion event must belong to your current ad account and have an active conversion source. An event that was configured, then had its data source deactivated, will not be selectable. If you manage multiple brands under separate accounts, events do not travel between them.
Gate 4 — The account must be enabled for conversion bidding
The developer docs note that accounts not enabled for conversion bidding receive a 403 error reading Conversion bidding is not enabled, and direct you to contact your OpenAI partner representative. This is an account-level entitlement, not something you can toggle yourself. If you are building programmatically and hit a 403 on campaign creation with bidding_type: "conversions", the problem is entitlement, not payload.
mode to product_feed, include the linked product_feed_id, and set bidding_type to conversions. The four gates above still apply in full. See the product feed section below.
Choosing your conversion event (all 13 standard events)
Your event choice is the single highest-leverage decision in the entire setup, because it cannot be changed. OpenAI is unambiguous: "The campaign objective and conversion event cannot be changed after creation. To optimize toward a different event, create a new campaign."
Here is the complete standard event taxonomy, with the data shape each one requires — the type field inside the event's data object.
| Event | Data type | Fires when | oCPC suitability |
|---|---|---|---|
order_created | contents | A purchase completes | Best for ecommerce with steady volume |
lead_created | customer_action | A lead form is submitted | Best for B2B and services |
registration_completed | customer_action | Account or event registration finishes | Strong for SaaS and marketplaces |
appointment_scheduled | customer_action | A meeting, demo, or consultation is booked | Strong for high-ticket services |
trial_started | plan_enrollment | A free trial begins | Good SaaS proxy for revenue |
subscription_created | plan_enrollment | A paid subscription starts | Highest intent, often too sparse |
checkout_started | contents | Checkout is initiated | Useful mid-funnel fallback |
items_added | contents | Items added to cart or selection | Volume-rich, weak intent |
contents_viewed | contents | A product, listing, or article is viewed | Too shallow for most oCPC goals |
page_viewed | contents | An important page is viewed | Effectively a traffic goal |
app_installed | customer_action | An app is installed | Conversions API only, action_source: "mobile_app" |
app_opened | customer_action | An app is opened | Conversions API only |
custom | custom | Anything outside the taxonomy | Not eligible for oCPC |
The selection heuristic OpenAI offers is to "choose the conversion event that best represents your campaign goal" while using "a conversion event with enough signal," warning that "events that happen too rarely can make performance harder to evaluate." Those two instructions pull in opposite directions, and resolving the tension is the actual skill.
The depth-versus-volume trade-off
Every funnel has a depth gradient. For ecommerce: contents_viewed → items_added → checkout_started → order_created. Each step down is a better proxy for revenue and a worse source of training signal, because fewer people reach it.
The working rule: optimize toward the deepest event in your funnel that still produces a meaningful weekly count. If order_created fires 15 times a week from ChatGPT Ads, optimize toward it. If it fires twice a week, the model is trying to find a pattern in two data points, and you are better served optimizing toward checkout_started — which might fire 20 times — while you scale.
There is no published threshold from OpenAI, which is itself informative; the documentation says only to "review performance over enough volume before making large changes." Practitioners arriving from Meta often import the familiar 50-conversions-per-week heuristic. Treat that as a rough anchor rather than a rule, but treat the underlying principle — sparse events produce unstable optimization — as universal, because it is a property of the statistics, not of any one platform.
B2B SaaS, $400 average deal, 3-week sales cycle.
Wrong: optimize toward subscription_created. It fires ~4×/week and lags the click by 21 days, so the signal is both sparse and stale.
Right: optimize toward lead_created (~35×/week, fires within minutes), and send subscription_created to the Conversions API anyway so you can measure true CAC without optimizing on it.
That last point generalizes into the most useful habit in this channel: the event you optimize toward and the events you measure are different sets. Send everything you can through the Conversions API. Optimize toward exactly one. Nothing stops you from tracking six events and bidding on one, and doing so gives you the reporting to evaluate whether your chosen bidding event was the right call.
Step-by-step: building an oCPC campaign
With the gates cleared, the build itself is short. What follows mirrors OpenAI's documented flow, with the decisions that actually matter called out at each step. If you have not yet set up the account itself, start with the complete OpenAI Ads Manager guide.
Step 1 — Create the campaign and set the objective to Conversions
In Ads Manager, create a new campaign and set Objective to Conversions. This selects oCPC as the campaign type. There is no separate "bid strategy" dropdown; the objective is the bidding model.
Note the two irreversibility warnings that apply here. First: "The campaign objective cannot be changed after campaign creation. If you need a different objective later, create a new campaign." Second: "Existing CPM or CPC campaigns cannot be converted to oCPC at this time." If you have a successful CPC campaign and want to switch it to conversion optimization, you are building a new campaign rather than editing the old one. That migration is now much cheaper than it used to be: Ads Manager can clone an existing CPC campaign into a new oCPC campaign, carrying the structure across instead of making you rebuild it by hand. See cloning and bulk creation below.
Step 2 — Choose the conversion event
Select the event the campaign will optimize toward. One event per campaign; locked at creation. If you want to test optimizing toward lead_created versus appointment_scheduled, that is two campaigns running in parallel, not one campaign you adjust.
Step 3 — Set budget, dates, and locations
Budget, schedule, and location targeting work as they do for other objectives. OpenAI's guidance is to "choose settings that give the campaign enough time and budget to gather meaningful performance data" — which is a polite way of saying that a three-day, $30-a-day conversion campaign will not produce an interpretable result.
Location targeting operates at the campaign level. Ads currently serve to Free and Go tier users in the United States, Canada, Australia, New Zealand, the United Kingdom, and Japan. Sub-national targeting is available — one advertiser reported running "a campaign tied to a DMA" in response to a complaint that only country-level targeting existed — but the granularity is coarser than Google's. Programmatically, locations resolve through the API's /geo_lookup/search endpoint and are applied via targeting.locations.include.
Step 4 — Create ad groups and set a Bid Cap
Ad groups and ads are created as normal, with one addition: each ad group gets a Bid Cap. This is where your context hints live too — the natural-language descriptions of the conversations where your ad belongs. Context hints are the targeting layer; the Bid Cap is the pricing layer; the conversion event is the optimization layer. All three interact, and a conversion campaign with vague context hints will underperform regardless of how well the bidding is tuned. See writing context hints for that discipline.
Step 5 — Launch and let it run
Campaigns created via the API launch in a paused state and are activated after ad groups and ads are attached. In the UI the flow is a review screen followed by submission into ad review. Resist the urge to make changes in the first days — every edit to bids, budget, or creative perturbs the delivery model at precisely the moment it is trying to establish a baseline.
Cloning and bulk-creating oCPC campaigns
The original oCPC rollout had a painful ergonomic problem: because an existing CPM or CPC campaign cannot be converted in place, moving a working campaign onto conversion bidding meant rebuilding it — ad groups, hints, creative, all of it — by hand. Two additions have removed most of that cost.
Cloning. You can now clone an existing CPC campaign into a new oCPC campaign. Note the distinction carefully, because it is the thing people get wrong: this does not convert the original — the original CPC campaign continues to exist and continues to run until you pause it. Cloning creates a new campaign on the conversion objective using the existing one as a template.
During cloning, Ads Manager handles the conversion event for you where it can: if exactly one eligible conversion event is available, it is prefilled. If there is more than one, or none that qualifies, you will be prompted to select one. That prompt is a useful signal in itself — being asked to choose when you expected a prefill usually means you have more eligible standard events configured than you thought, and it is worth checking which one you are actually about to optimize toward.
Bulk creation. oCPC campaigns can also be created in bulk. For agencies and multi-brand advertisers standing up the same structure across many accounts or verticals, this is the difference between an afternoon of clicking and a single upload.
Cloning does not relax any of the four gates. The destination campaign still needs an entitled ad account, working conversion tracking, and exactly one eligible active standard event. A clone that fails at creation is almost always failing one of those, not the clone operation itself.
The obvious play: rather than switching a proven CPC campaign over and hoping, clone it, run the oCPC copy alongside the original at a modest budget, and compare cost per conversion on real data before you move the money. The original stays untouched, which makes this a genuinely low-risk test rather than a migration.
Maximize results: the automated bid strategy
In August 2026 ChatGPT Ads shipped its first automated-bidding primitive. Maximize results lets the platform set and adjust bids on your behalf, optimizing toward your selected campaign goal — clicks or conversions — to get as many results as possible from your budget. It is selected by default for eligible new ad groups, which is the detail most accounts will miss: ad groups built before August behave differently from ad groups built after it, and nobody gets a notification.
Where you choose it
- In Ads Manager Beta, create a campaign.
- Continue through the campaign setup flow to the ad group step.
- Review Maximize results, which is preselected for eligible new ad groups.
- To use a different strategy, select Manual: Max bid in the ad group's bid strategy section.
- Complete ad group and ad setup, then launch.
The setting lives at ad group level, not campaign level. That is the useful part: you can run one ad group on Maximize results to find volume while a proven ad group stays on Manual: Max bid to protect efficiency, inside the same campaign and the same budget.
The limitation OpenAI states plainly
Maximize results does not target a CPA
It prioritizes result volume and does not guarantee delivery against a specific CPA, CPC, ROAS or other cost-efficiency target at this time. If you have a bid limit you must stay within, use the manual or advanced bid controls instead. This is not a soft caveat — it is the difference between "spend my budget on as many conversions as it will buy" and "buy conversions under $40." Only one of those is a business constraint, and the platform currently only implements the first.
When to use which
| Situation | Strategy | Why |
|---|---|---|
| New ad group, no conversion history, exploring which intents convert | Maximize results | You want delivery breadth to generate signal. A manual bid set from guesswork just throttles learning. |
| Hard CPA ceiling from unit economics | Manual: Max bid | Volume-maximizing bidding will spend to your budget, not to your margin. |
| Proven ad group you are scaling budget on | Manual first, then test Maximize results on a duplicate | Change one variable. Duplicating lets you read the strategy's effect against a live control. |
| Thin conversion volume (under roughly 15–20/week) | Manual: Max bid, or fall back to CPC | Automated bidding needs conversion density to optimize against. Below that it is optimizing noise. |
| Low daily budget near the market minimum | Manual: Max bid | At $25–$50/day there is not enough room for an optimizer to explore before the budget is gone. |
One operational note that applies to both strategies: conversions take 24–48 hours to be attributed and appear in reporting. Judging a bid-strategy change on day-one numbers is judging incomplete data, and it is the most common way a working strategy gets reverted before it has had a chance to work.
Coming: optimization on view-through conversions
OpenAI has announced — but not broadly released — a new conversion optimization model that optimizes through the inclusion of view-through conversions. It would let delivery optimize on conversions from both ad clicks and ad views. The defining mechanic: billing is impression-based while delivery optimizes toward your selected conversion goal. OpenAI has said more details will be shared as the campaign type rolls out more broadly.
Read against the rest of this page, the sequencing is deliberate. VTA (1d) arrived in August as reporting only — explicitly excluded from the Conversions total, explicitly not affecting bidding, billing or optimization. This is the other half: first make view-through visible, then let advertisers buy against it.
Why it is a genuinely different buying shape
Every campaign type on this page today is click-billed. That matters more than it sounds, because a click bid is a natural cost control: you pay only when someone acts, so a poorly-targeted campaign wastes impressions rather than money. An impression-billed, conversion-optimized campaign removes that floor. You pay for delivery regardless of response, and you are trusting the optimization to make that delivery worth buying.
| oCPC (today) | CPM (today) | View-through optimization (announced) | |
|---|---|---|---|
| You pay for | Valid clicks | Impressions | Impressions |
| Delivery optimizes toward | Your conversion event | Reach | Your conversion event |
| Conversions counted | Click-through | — | Click-through and view-through |
| Natural cost control | The click | None — but no conversion promise either | None |
What to do before it arrives
- Start reading VTA (1d) now, as a trend. When this campaign type opens, the first question anyone will ask is whether view-through conversions on your account are real incremental volume or attribution noise. Three months of trend data answers that; a cold start does not.
- Do not blend view-through into your Conversions total in the meantime. The temptation will grow as the campaign type gets closer. Today's VTA (1d) is still supplemental, still outside CPA and post-click conversion rate, and a scorecard that quietly merges the two will make the new campaign type look better than it is.
- Decide your incrementality test in advance. Impression-billed conversion optimization is exactly the setting where a holdout or geo test earns its cost. If you cannot answer "would these conversions have happened anyway", you cannot evaluate this campaign type — and the platform's own numbers will not answer it for you.
- Set a spend ceiling you would accept losing. Without the click as a cost control, the failure mode is paying full freight for delivery that converts nobody. Treat the first flight as a test budget, not a scaled channel.
Until OpenAI publishes the mechanics — bid controls, the view-through window used for optimization, and whether view-through conversions land in the main Conversions total for this campaign type — treat everything beyond the announced facts as unknown. This page will be updated when it rolls out.
Bid Cap: what you are actually bidding
Bid Cap is the most misread field in the entire setup, partly because OpenAI's two documentation surfaces describe it differently.
The help centre defines it as a click ceiling: "Bid Cap is the maximum amount you can pay for a click in an auction. oCPC uses this cap while optimizing toward clicks that are more likely to lead to your selected conversion event. Your actual CPC is determined by the auction and may be lower than your Bid Cap." The FAQ reinforces it: "Will I always pay my Bid Cap? No."
The developer documentation, describing the same campaign built through the API, characterizes the corresponding field — max_bid_micros — as functioning as a CPA bid, an "optimization input, not a conversion charge," while stressing that "billing does not change to pay per conversion."
Reconciling the two descriptions
Both are true and they describe different roles for one number. It is a hard ceiling on any individual click price, and simultaneously the input the optimizer uses to decide how aggressively to pursue predicted converters. Practically: treat it as a click ceiling when forecasting your maximum exposure, and as a target-CPA-style lever when tuning delivery. Raising it does not raise your average CPC one-for-one; it widens the set of auctions you are eligible to win.
OpenAI explicitly declines to recommend a starting number: "There is no recommended bid amount at this time." Two anchors exist in the public record. The self-serve beta shipped with a $3.00 default placeholder in the max CPC field (range $0.01–$100.00), and industry coverage reported OpenAI suggesting $3–$5 per click around the May 5 launch. For context, that sits above typical Google Search CPCs of roughly $1–$2 and well above typical Meta CPCs. Our ChatGPT Ads cost guide breaks down where those numbers have moved since.
A practical bid-setting method
Because you pay per click but care about cost per conversion, you can work backwards from unit economics:
- Establish your target CPA. If a lead is worth $200 and you want a 4:1 return, your target CPA is $50.
- Estimate landing-page conversion rate. Use your existing paid-search rate as the starting assumption — say 4%.
- Derive the break-even CPC. $50 × 4% = $2.00. That is what you can pay per click at your target CPA.
- Set the Bid Cap at or slightly above break-even — perhaps $2.25 — so you remain eligible for competitive auctions, and let the optimizer earn the margin back through better click selection.
- Adjust on evidence, not on nerves. If delivery is negligible after several days, the cap is likely below the market-clearing price. If spend is healthy but CPA is above target, the problem is more often the landing page or the event choice than the bid.
One caution specific to this channel: ChatGPT Ads conversion rates vary enormously by category. First Page Sage's June 2026 report across 19 industries puts the range at 0.2% to 5.8% — from 5.8% in higher education down to 0.2% in financial services — driven by buyer intent, purchase complexity, and where the user sits in their decision. Assuming your Google Ads conversion rate transfers cleanly is the most common source of a badly calibrated first bid.
Conversion optimization for product feed campaigns (beta)
This is the significant one for retail. Conversion-optimized cost-per-click campaigns are now available in beta for product feed campaigns — the feed-driven format that pulls creative directly from your catalog. Until this release, feed campaigns were confined to other buying models. oCPC is now in open beta for both standard and product-feed campaigns, and both use the same campaign and ad-group endpoints.
The initial beta is scoped, and the scope matters:
- Click-billed campaigns only. You still pay per valid click; the optimization biases which clicks you get.
- Fixed or manual bidding. Automated bid strategies are not part of this initial release.
- A positive conversion bid cap is required. The cap has to be a real number greater than zero — there is no "let the system decide" option here.
For an ecommerce advertiser this closes a genuine gap. A feed campaign optimizing toward order_created can bias delivery toward the conversations that actually produce purchases rather than the ones that merely produce catalog clicks — which, on a wide catalog with variable margin, is where most of the wasted spend has been sitting.
Prerequisites carry over unchanged. You need conversion tracking that works, exactly one eligible active standard conversion event, and an entitled ad account. You also need a healthy feed underneath it: conversion optimization amplifies the economics of what you are already selling, so a feed with bad availability flags or wrong prices will now waste money faster rather than slower. Our product feed guide covers the spec, the required fields, and the flags that decide eligibility.
Treat beta status as real. Scope the test to a product set you understand well, fund it enough to leave the learning phase, and keep a comparable non-oCPC feed campaign running so you have something honest to measure against.
Daily budgets and the July 27 averaging change
On July 27, 2026, ChatGPT Ads changed what a daily budget means. This affects every campaign, not just conversion campaigns, but it interacts with oCPC in a way worth understanding.
A daily budget is now the average amount you want your campaign to spend per day over a seven-day period, rather than a hard per-day ceiling. Daily spend may run above or below the number on any individual day, and the system uses later pacing to compensate.
Two ceilings bound this:
- Maximum daily spend is 2× your daily budget.
- Maximum seven-day spend is 7× your daily budget.
OpenAI's worked example: a campaign running seven days at a $100 average daily budget has a total media spend limit of $700. It may spend $140 on a Tuesday and $60 on a Wednesday, but across the seven days billed media spend will not exceed $700.
Existing campaigns migrated automatically — OpenAI confirms "you do not need to recreate, pause, or edit your campaigns," budget amounts did not change, and Ads Manager continues to use the "Daily budget" label while displaying the applicable daily and seven-day maximums during campaign creation. Campaigns without an end date are subject to the same limits on a rolling basis.
The operational adjustment: evaluate spend and CPA on rolling seven-day windows, not day over day. If your internal reporting alerts on daily budget overruns, raise its threshold to 2× or it will fire constantly. And when forecasting a monthly commitment, multiply the daily budget by the number of days — the average holds over the period even though individual days do not.
Running conversion campaigns through the Ads API
ChatGPT Ads shipped with an API from the start — the self-serve beta included an API Keys section in Settings on day one, which is unusual for a platform this young. For anyone managing more than a handful of campaigns, or building oCPC into an existing bid-management stack, this is the more practical surface.
The essentials, from OpenAI's Ads API overview:
- Auth: bearer token —
Authorization: Bearer $OPENAI_ADS_API_KEY. Each key is scoped to a single ad account and issued through Ads Manager settings. - Hierarchy: campaigns → ad groups → ads. For an ad to serve, the ad and both of its parents must be enabled.
- Money is in micros — millionths of a currency unit. A $2.50 bid is
2500000; a $100.00 bid is100000000. - Endpoints cover campaigns, ad groups, ads, a bulk async job API, product feeds, creative file uploads, insights, and conversions.
Create the campaign
Two fields turn a campaign into an oCPC campaign: bidding_type set to "conversions", and conversion_event_setting_ids — note the plural, and note that it takes an array, even though a campaign may only optimize toward one event. Create it paused so you can attach and check ad groups and ads before anything enters the auction.
curl -X POST "https://api.ads.openai.com/v1/campaigns" \
-H "Authorization: Bearer $OPENAI_ADS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Acme purchases",
"status": "paused",
"budget": {
"lifetime_spend_limit_micros": 250000000
},
"bidding_type": "conversions",
"conversion_event_setting_ids": ["ces_123"]
}'
Replace ces_123 with the active conversion event setting ID representing your goal — the setting behind order_created, lead_created, registration_completed or whichever standard event you selected in the events section.
Create a product-feed conversion campaign
A product-feed oCPC campaign uses the same POST /campaigns endpoint. You add two fields — mode and product_feed_id — and keep the same conversion-bidding fields. The feed must already be linked to the ad account.
curl -X POST "https://api.ads.openai.com/v1/campaigns" \
-H "Authorization: Bearer $OPENAI_ADS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Running shoes catalog purchases",
"status": "paused",
"mode": "product_feed",
"product_feed_id": "product_feed_123",
"budget": {
"lifetime_spend_limit_micros": 250000000
},
"bidding_type": "conversions",
"conversion_event_setting_ids": ["ces_123"]
}'
Create the ad group — and read max_bid_micros correctly
This is the field most likely to cost you money if you misread it. On an oCPC ad group, billing_event_type is "click", but max_bid_micros is your CPA bid, not your click bid. The value below is a $100.00 CPA bid on a USD account — not a $100 click bid.
curl -X POST "https://api.ads.openai.com/v1/ad_groups" \
-H "Authorization: Bearer $OPENAI_ADS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"campaign_id": "cmpn_101",
"name": "US English",
"status": "active",
"bidding_config": {
"billing_event_type": "click",
"max_bid_micros": 100000000
}
}'
The API structure makes the "optimize for conversions, bill for clicks" model explicit in a way the UI does not: the campaign declares the conversion intent, the ad group declares click billing, and the bid sitting between them is denominated in conversions.
For a product-feed campaign, the ad group automatically inherits the campaign's product feed — you do not repeat product_feed_id on the ad group. Include product_set only when you want to apply product filters, and when you do, its product_feed_id must match the campaign's feed. See our product feed guide for the full feed, ad-group and product-ad workflow.
Create ads as normal, then activate the campaign once every child resource is ready.
Operational notes
- 403 on campaign creation reading
Conversion bidding is not enabledis an account entitlement problem, not a payload bug — contact your OpenAI partner representative. - You cannot convert an existing CPM or CPC campaign to oCPC through the API. Create a new campaign with
bidding_type: "conversions"— or clone one, as covered in cloning and bulk creation. - You cannot change the goal or the selected conversion event after creation. Optimizing toward a different event means a new campaign.
- Pull delivery metrics — impressions, clicks, spend, CTR, CPC — from the Insights endpoints.
Dynamic URL parameters for campaign-level attribution
Conversion campaigns are only as readable as the data coming back, and ChatGPT Ads supports dynamic URL parameters that make the join much easier. Place a macro inside a query parameter on your landing page URL and OpenAI substitutes the real value at delivery time. Four are supported:
{campaign_id}{ad_group_id}{ad_id}{ad_account_id}
For example: ?ch_campaign={campaign_id}&ch_adgroup={ad_group_id}. On an oCPC campaign the ad-group ID is the one to prioritise — because ad groups hold your context hints, ad-group-level attribution is effectively hint-theme-level attribution, which is the closest this platform gets to telling you which buyer intent produced the revenue.
Two cautions. Do not URL-encode the braces — %7Bcampaign_id%7D arrives literally and is never substituted. And do not confuse these with oppref, the click identifier OpenAI appends automatically for conversion attribution; stripping that at a redirect or consent wall breaks conversion tracking outright. Full detail is in our guide to dynamic URL parameters and tracking macros.
Reading performance: the metrics that matter
Ads Manager shows standard delivery and spend metrics alongside conversion reporting for oCPC campaigns. Because the campaign is click-billed, Average CPC remains the primary cost metric for what you actually pay, while Conversions is the key outcome metric. Cost per conversion is not shown as a first-class metric in all views; OpenAI's guidance is to calculate it by dividing spend by conversions.
A sensible monitoring hierarchy, in the order you should read them:
| Metric | What it tells you | When it signals a problem |
|---|---|---|
| Impressions | Whether context hints are matching conversations at all | Near zero → hints too narrow, or bid below clearing price |
| Spend vs. budget | Whether the campaign can deploy its budget | Chronic underspend → raise Bid Cap or broaden hints |
| Average CPC | Your real click price versus the cap | Pinned at cap → you are the marginal bidder |
| Conversions | Whether the optimization goal is being met | Clicks without conversions → landing page or event mismatch |
| Cost per conversion (derived) | Unit economics | Above target CPA → see the playbook below |
What Ads Manager does not give you is the thing search marketers most want. There is no search-term report and no "where ads showed" placement report. This is a live and repeated complaint: one advertiser who had tested across four separate ChatGPT Ads accounts wrote in July 2026 that "without 'Where ads showed' and 'Search Term' report like Google Ads, ChatGPT Ads are useless and still nowhere near of Google," reporting "no success, no leads, no sales, very high bounce rates" (r/PPC, July 9, 2026).
That absence is structural rather than an oversight. Conversations are not queries; there is no discrete search string to report, and OpenAI has been clear that advertisers do not see chats or user-level details. An earlier r/PPC commenter anticipated the shape of the eventual solution in May: the platform will "need to bundle searches into semantic themes for 'search term reports' as it will be so long tail and contextual." Until something like that ships, your context hints are both your targeting instrument and your only real lever for understanding why a campaign is delivering as it is — which raises the value of testing hints in disciplined, isolated ad groups.
The oCPC optimization playbook
OpenAI's own optimization tips are short: choose the standard conversion event that best represents your campaign goal, use an event with enough volume to evaluate, keep conversion tracking healthy, align ad copy with user intent and the selected conversion goal, monitor and adjust Bid Cap based on delivery and results, and review enough volume before making large changes to bids, budgets, or creative. Expanded into an operating procedure:
Week 1 — Do almost nothing
Verify that conversions are actually arriving in Ads Manager, and that their count is plausible against your own analytics. Do not touch bids, budgets, or creative. The single most common self-inflicted wound in conversion campaigns is editing during the period when the system is establishing its baseline. Your only job in week one is confirming the data pipe works.
Week 2 — Diagnose the binding constraint
By now one of four situations holds, and each has a different remedy:
| Symptom | Most likely cause | Action |
|---|---|---|
| Low impressions, low spend | Bid Cap below clearing price, or context hints too narrow | Raise cap in ~20% increments; broaden hints toward scenarios |
| Good impressions, low CTR | Creative or context mismatch | Rewrite headline; tighten hints to the conversations you actually want |
| Good clicks, no conversions | Landing page, or tracking is broken | Verify the event fires; check page-to-ad promise match |
| Conversions, but CPA too high | Bid too aggressive, or event too shallow | Lower cap gradually; consider a deeper event if volume allows |
Week 3 onward — Change one variable at a time
With no search-term report, attribution of cause to effect is already hard. Changing bid, budget, hints, and creative in the same session makes it impossible. Move one lever, wait for a meaningful sample, read the result.
When adjusting Bid Cap, move in increments of roughly 15–25%. Smaller moves are lost in noise; larger moves reset delivery so sharply that the before-and-after comparison is meaningless.
Ongoing — Align the copy with the conversion you picked
This is the tip in OpenAI's list that reads as filler and is not. Your ad copy is one of the signals the auction reads, and it is also the promise the click is made on — so a mismatch between the copy and the conversion event does damage in both directions at once. Copy that sells a free guide while the campaign optimizes toward order_created will attract clicks from people with no purchase intent, and the model will dutifully learn to find more of them.
The check is quick: read your headline and description, then read the name of your conversion event, and ask whether a person persuaded by the first would plausibly complete the second in one session. If the answer is no, either the copy is aimed too far up the funnel for the event you chose, or you chose an event too deep for the copy. Fix whichever is cheaper. The same test applies to the landing page — the ad, the page, and the event should all describe one continuous promise, which is also what creative best practices is really about.
Ongoing — Guard the signal
OpenAI's instruction to "keep conversion tracking healthy" deserves more weight than its one-line treatment suggests. Conversion tracking degrades silently: a checkout redesign drops the pixel, a consent banner change starts blocking events, a CAPI deploy breaks the event_id used for deduplication and every conversion is suddenly counted twice. None of these throw an error in Ads Manager. They just quietly corrupt the model's training data, and the campaign gets worse for reasons that look like market conditions. Build a weekly verification into your routine — the QA checklist in our conversion tracking guide covers what to check.
Seven mistakes that kill conversion campaigns
- Optimizing toward an event that fires twice a week. The model cannot learn from near-zero data. Move up the funnel until you have volume, then move back down as you scale.
- Assuming your Google Ads conversion rate transfers. ChatGPT Ads conversion rates span 0.2%–5.8% by industry, per First Page Sage. A bid derived from the wrong rate is wrong from minute one.
- Treating Bid Cap as the price you pay. It is a ceiling. Actual CPC is auction-determined and usually lower. Forecasting on the cap overstates cost and leads to bids set too timidly.
- Building on a custom event. Custom events cannot be oCPC goals. Discovering this at campaign creation, after your tracking is already built around one, costs a rebuild.
- Planning to "switch this CPC campaign to conversions later." You cannot. It is a new campaign. Decide the objective before you invest in ad groups and creative.
- Alerting on daily spend after the July 27 change. Days can legitimately hit 2× budget. Move monitoring to rolling seven-day windows or drown in false alarms.
- Editing during the learning period. Every change perturbs delivery. Batch your changes, space them out, and give each one enough time to produce a readable result.
What advertisers actually report
Public documentation describes how the system is designed to work. Practitioner discussion describes how it is going. Both matter, and the honest summary is that results in mid-2026 are genuinely mixed.
On the positive side, the commercial signal is real: the pilot passed $100M in annualized revenue within six weeks with more than 600 advertisers including Target, Ford, and Adobe, according to CNBC's March 2026 reporting. Criteo, which provides ad-tech infrastructure into the program, has reported over 1,000 active brands and conversion rates "approaching twice those of traditional search" in select retail categories, with LLM referrals converting at around 1.5× other digital channels.
On the cautious side, practitioner reports run cooler. A member of a ChatGPT Ads community summarizing client campaigns in June described "lots of mixed results," noting that the channel "works best for B2C and DTC eCom — people seeing ads are free & Go plan users, so in theory a lower value consumer audience," and flagging that "ads often go live, and then go in review for a long time." Another advertiser a week into spending wrote that "while that's far too early to say if the spend is seeing a return or not, all signs have so far pointed to no." A third, testing a $25/day budget, reported "only 2 impressions" and asked "how slow are they rolling this out."
Chatgpt attribution is gonna look more like podcast ads or word of mouth than google ads. People see a recommendation, leave, come back later through search or direct traffic, and analytics just labels it as "direct." — r/PPC commenter, May 2026, on why ChatGPT ad performance is hard to see
The synthesis worth holding: ChatGPT Ads conversion campaigns are a real performance product on a channel whose measurement surface is still immature. The bidding works. The billing is transparent. The event taxonomy is well-designed. What is missing is the diagnostic reporting — search terms, placements, granular geography — that lets an experienced buyer explain why a campaign is behaving as it is. Advertisers who are winning treat it as a high-intent test channel with disciplined tracking and realistic expectations, not as a Google Ads replacement.
Where AI visibility monitoring fits
There is a strategic point that most conversion-campaign guidance misses, and it is the reason paid and organic teams should be reading this document together.
Your oCPC campaign is buying placement beneath ChatGPT answers. But the answer itself — the recommendation ChatGPT gives when someone asks "what's the best tool for X" — is not something you can buy. It is earned through the same signals that drive AI citation and retrieval. And the two interact: a user who sees your brand named in the answer and your sponsored card beneath it converts at a different rate than one who sees only the card.
This is where an AI search monitoring platform changes what a paid team can do, in four concrete ways:
- It tells you which conversations you already win organically. If ChatGPT reliably recommends you for "project management for agencies," bidding aggressively on that context is paying for a click you might get free. Your budget belongs on the contexts where a competitor is named and you are not.
- It supplies the missing search-term report. Ads Manager gives you no visibility into the conversations that triggered your ad. Monitoring which prompts surface your brand, and which surface competitors, is the closest available proxy — and it is the same input that makes context hints better.
- It explains conversion-rate anomalies. When an ad group converts at half the rate of another with similar creative, the difference is often what the answer above the ad said. Monitoring makes that visible.
- It closes the loop from paid to organic. The pages, comparisons, and structured content that earn AI citations are the same assets that make your paid landing pages convert. Conversion data from oCPC tells you which claims persuade; that evidence should redirect your content and AEO roadmap.
Concretely: run your oCPC campaign, export the ad groups by cost per conversion, and cross-reference against the prompts where your brand is or is not cited. The contexts where you convert well but are never cited organically are your highest-value content briefs — you have paid proof that the audience converts, and no organic presence capturing them. The contexts where you are cited but convert poorly are landing-page problems, not visibility problems. Neither conclusion is available from Ads Manager alone. Our guides on ChatGPT visibility metrics and appearing in ChatGPT answers cover the measurement side in depth.
The one-sentence version
Paid tells you what converts; visibility monitoring tells you where you are absent — and the intersection of those two datasets is the most efficient content and bidding roadmap available in this channel today.
Done for you: Conversion Tracking Implementation
If the conversion column reads zero and nothing in the interface says why, that is usually measurement. Our conversion tracking implementation installs the pixel and Conversions API, matches events exactly, and proves it with a written QA matrix — from $3,999.
ChatGPT Ads conversion campaigns: frequently asked questions
What is an oCPC campaign in ChatGPT Ads?
oCPC is OpenAI's conversion-optimized buying model. You select the Conversions objective and one standard conversion event, and ChatGPT Ads biases delivery toward clicks likely to produce that event. Billing remains per valid click, not per conversion.
Does oCPC mean I pay per conversion?
No. OpenAI states that oCPC "optimizes delivery toward your selected conversion event, but billing is still based on valid clicks." Cost per conversion is a derived figure — spend divided by conversions — rather than a rate you set.
Can I convert an existing CPM or CPC campaign to oCPC?
Not in place — an existing CPM or CPC campaign cannot be modified to use conversion bidding. But you can now clone an existing CPC campaign into a new oCPC campaign, which carries the structure over instead of making you rebuild it. The original keeps running until you pause it, so cloning is also the low-risk way to test oCPC against a proven CPC campaign side by side. oCPC campaigns can also be created in bulk.
Can I change the conversion event after creating the campaign?
No. Both the campaign objective and the conversion event are locked at creation. To optimize toward a different event you create a new campaign — which is why the event decision deserves real thought up front.
Which conversion events can I optimize toward?
Any single standard event: order_created, lead_created, registration_completed, appointment_scheduled, trial_started, subscription_created, checkout_started, items_added, contents_viewed, page_viewed, app_installed, or app_opened. Custom events are not eligible.
Will I always pay my Bid Cap?
No. Bid Cap is the maximum you can pay for a click in an auction. Your actual CPC is determined by the auction and is frequently lower. There is no recommended bid amount from OpenAI at this time.
How do ChatGPT Ads daily budgets work now?
Since July 27, 2026, a daily budget is the average you want to spend per day over a seven-day period. Maximum daily spend is 2× your daily budget and maximum seven-day spend is 7×. Existing campaigns updated automatically with no action required.
How much conversion volume do I need before oCPC works?
OpenAI publishes no threshold, advising only to use an event with enough signal and to "review performance over enough volume before making large changes." The practical rule is to optimize toward the deepest funnel event that still fires with real weekly frequency, moving up the funnel when volume is thin.
Why is my conversion campaign not spending its budget?
Most often the Bid Cap sits below the market-clearing price, or the ad group's context hints are too narrow to match many conversations. Raise the cap in roughly 20% increments and broaden hints toward scenarios rather than single terms, changing one variable at a time.
Do product feed campaigns support conversion bidding?
Yes. Product-feed oCPC is available in open beta — as is standard-campaign oCPC. Set mode to product_feed, include the linked product_feed_id, and set bidding_type to conversions when creating the campaign. Create its ad group with billing_event_type: "click". The ad group inherits the campaign's feed automatically; include product_set only when you want product filters, and its product_feed_id must match the campaign's feed.
What does a 403 error mean when creating an oCPC campaign via the API?
It means your ad account is not enabled for conversion bidding. This is an account entitlement rather than a payload problem — OpenAI's documentation directs you to contact your OpenAI partner to have it verified.
How do I clone a CPC campaign into an oCPC campaign?
Use the clone action on the existing CPC campaign and select the Conversions objective for the copy. During cloning, Ads Manager prefills the conversion event if exactly one eligible event is available; if there is more than one, or none that qualifies, you are prompted to choose. Cloning creates a new campaign — the original CPC campaign continues to run until you pause it.
What is a conversion bid cap?
It is the ceiling you set on what a conversion is worth to you, and it is what the auction optimizes against even though you are billed per valid click. For the product feed oCPC beta it must be a positive value — there is no automated or unset option in this initial release.
Can I create oCPC campaigns in bulk?
Yes. Bulk creation of conversion-optimized campaigns is supported, which matters most for agencies and multi-brand advertisers standing up the same structure across many accounts or verticals.
Can I pass campaign and ad group IDs to my landing page?
Yes — use the dynamic URL macros {campaign_id}, {ad_group_id}, {ad_id} and {ad_account_id} in your landing page query parameters and OpenAI populates them at delivery time. Do not URL-encode the braces. See dynamic URL parameters.
What API fields make a campaign oCPC?
Two on the campaign: bidding_type: "conversions" and conversion_event_setting_ids, which takes an array containing the single active standard event setting ID (for example ["ces_123"]). On the child ad group, set bidding_config.billing_event_type to "click" and max_bid_micros to your CPA bid.
Is max_bid_micros a click bid or a CPA bid on an oCPC ad group?
It is your CPA bid, even though billing uses valid clicks. 100000000 is a $100.00 CPA bid on a USD account, not a $100 click bid. Misreading this field is the fastest way to set a wildly wrong bid — treat the CPA bid as an optimization input that controls how aggressively the campaign competes, not as a per-conversion charge.
How does oCPC decide which clicks to buy?
OpenAI describes the system as combining your selected conversion event with ad quality, relevance, click likelihood, and conversion likelihood to favour clicks more likely to produce that event. Billing is unchanged — you are charged only on a valid click, and the auction determines the actual CPC.
Do I repeat the product feed ID on the ad group?
No. In a product-feed campaign the ad group automatically inherits the campaign's feed. Include product_set only when you want to apply product filters — and when you do, its product_feed_id must match the campaign's feed.
What is the Maximize results bid strategy in ChatGPT Ads?
Maximize results is an automated bid strategy that lets ChatGPT Ads set and adjust bids on your behalf, optimizing toward your selected campaign goal — such as clicks or conversions — to get as many results as possible from your budget. It is selected by default for eligible new ad groups, and you can review or change it in the ad group's Bid strategy section. The alternative is Manual: Max bid.
Does Maximize results let me set a target CPA or ROAS?
No. OpenAI states that Maximize results prioritizes result volume and does not guarantee delivery against a specific CPA, CPC, ROAS or other cost-efficiency target at this time. If you have a bid limit you need to stay within, use the manual or advanced bid controls in Ads Manager instead. Treat Maximize results as a volume tool, not an efficiency tool.
Is Maximize results set at campaign or ad group level?
Ad group level. That means you can run one ad group on Maximize results to explore volume while a proven ad group stays on Manual: Max bid to protect efficiency, within the same campaign and budget. It also means a campaign can contain a mix of both strategies, so check each ad group rather than assuming the campaign is uniform.
Is ChatGPT Ads adding view-through conversion optimization?
OpenAI has announced it, but it is not broadly available yet. The stated design is a new conversion optimization model that optimizes through the inclusion of view-through conversions, allowing optimization on conversions from both ad clicks and ad views, where billing is impression-based while delivery optimizes toward your selected conversion goal. More details were promised as it rolls out more broadly. It follows the August 2026 arrival of VTA (1d) in reporting — view-through was made visible first, and buyable second. The thing to plan for is that impression billing removes the click as a natural cost control, so treat the first flight as a test budget and decide your incrementality test before you run it.
Sources and further reading
- OpenAI Help Center — Conversion-optimized Campaigns (objective, event selection, Bid Cap, optimization tips, FAQ).
- OpenAI Help Center — Daily Budgets (the July 27, 2026 seven-day averaging change and 2×/7× spend limits).
- OpenAI Developers — Conversion-optimized campaigns (
bidding_type,max_bid_micros,billing_event_type, 403 entitlement behaviour). - OpenAI Developers — Ads API overview and Supported events (object hierarchy, micros, the 13 standard events).
- PPC Land — OpenAI's ChatGPT ads are getting conversion optimization (May 28 announcement, June 1 eligibility, June 5 rollout).
- First Page Sage — ChatGPT Ads conversion rate report (June 12, 2026; 0.2%–5.8% across 19 industries).
- CNBC — OpenAI ads pilot tops $100 million in annualized revenue (advertiser count and pilot scale).
- r/PPC — I got into the ChatGPT Ads Manager beta (May 21, 2026 walkthrough: objective dropdown, $3.00 default bid, web-only data sources).
- r/PPC — OpenAI Ads Manager (June 5, 2026: conversion campaigns going live, early mixed results, DMA targeting).
- Context Hints — ChatGPT Ads conversion tracking, ChatGPT ads cost, and writing context hints.
Want your oCPC campaign structure reviewed before you launch?
30 minutes with Tarun. Bring your funnel and margins and we will pick the right conversion event, set a defensible Bid Cap, and structure ad groups so you can actually read the results.
Book a discovery call