What Is a Conversion-Optimised Campaign in ChatGPT Ads in 2026?
A conversion-optimised cost-per-click campaign, which OpenAI abbreviates as oCPC, optimises delivery toward one tracked conversion event while you continue to pay for valid clicks. In the Ads API it is set with bidding_type: "conversions". OpenAI states it is in open beta for both standard and product-feed campaigns, and it uses the same campaign and ad-group endpoints as any other campaign.
The billing shape is the reason it deserves its own guide. On most platforms, optimising to a conversion and paying per conversion travel together. Here they are deliberately separated: the platform steers toward the outcome you care about, and the invoice still counts clicks. Understanding that split is the difference between reading your results correctly and wondering why your cost per conversion does not match your bid.
| Campaign goal | Best for | How you pay | What delivery optimises 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 |
Why Does Paying Per Click While Optimising to Conversions Matter?
Because the risk sits in a different place. On a pay-per-conversion model the platform carries some of the risk that clicks do not convert. On oCPC you carry it: if conversion rates fall, you still pay for every valid click. OpenAI is explicit that billing does not change to pay per conversion, that you are charged only when a valid click occurs, and that the auction determines the actual CPC.
The upside for an advertiser is transparency. You are paying for something you can see and audit in your own analytics, clicks, rather than for a conversion count that depends on the platform's attribution. The trade-off is that a broken tracking setup does not stop spend. It just makes optimisation worse while the clicks keep billing, which is why measurement has to be right before you launch.
OpenAI's guidance is to treat the CPA bid as an optimisation input, not as a conversion charge. Your cost per conversion is spend divided by conversions, and it can sit above or below the CPA bid you set, because the bid steers the auction rather than pricing the outcome.
What Does the CPA Bid Actually Control?
For an oCPC campaign, max_bid_micros on the ad group is the CPA bid, even though billing uses valid clicks. OpenAI's example: 100000000 is a 100.00 USD CPA bid in a USD account, using the standard micros scaling of 1,000,000 per major currency unit. The bid controls how the campaign competes for conversion-likely clicks.
OpenAI describes the mechanism in one sentence: oCPC uses your selected conversion event together with ad quality, relevance, click likelihood and conversion likelihood to favour clicks more likely to lead to that event. That is the decision the platform takes out of your hands. You choose the event and the CPA bid; the platform decides which clicks are worth competing for.
What Must Be True Before You Create an oCPC Campaign in 2026?
Four preconditions, and the first one is not something you can configure yourself. Skipping any of them produces either an error at creation or a campaign that optimises badly.
- The ad account must support conversion bidding. If campaign creation returns
403withConversion bidding is not enabled, OpenAI's instruction is to contact your OpenAI partner representative. This is an account-level gate. - Conversion tracking must be set up with the JavaScript pixel, the Conversions API, or both. OpenAI states the Conversions API is a more reliable tracking source than the pixel alone.
- You need exactly one active standard conversion event to use as the optimisation goal. Custom events cannot be oCPC optimisation goals.
- The conversion event setting must belong to the current ad account and connect to one active conversion source.
The measurement layer behind points two to four is covered in the Measurement Pixel and Conversions API guide. If that layer is not verified, do not launch oCPC, because a campaign optimising toward a misfiring event will keep paying for clicks while learning the wrong thing.
Which Conversion Events Can You Optimise Toward?
Standard events only, and exactly one per campaign. OpenAI's examples of an optimisation goal include order_created, lead_created and registration_completed. A custom event such as a quote request can be tracked and reported on, but cannot be the thing an oCPC campaign optimises toward.
| Business goal | Standard event to optimise toward |
|---|---|
| E-commerce purchase | order_created |
| Lead form or contact request | lead_created |
| Account or event signup | registration_completed |
| Demo or consultation booked | appointment_scheduled |
| Paid subscription started | subscription_created |
| Free trial started | trial_started |
| Bespoke action, such as a quote request | Not eligible as an oCPC goal; track it as a custom event instead |
The practical consequence for a B2B or services advertiser in 2026: if your real goal is a bespoke action, map it to the closest standard event in your tracking rather than sending it only as custom. Otherwise you can measure it but never optimise toward it.
How Do You Create a Conversion-Optimised Campaign?
Create the campaign paused with bidding_type: "conversions" and the event setting attached, then create ad groups with click billing and a CPA bid, then create ads, then activate once everything is ready. OpenAI's own example uses a lifetime budget:
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"]
}'
Then the ad group, with billing_event_type set to click and the CPA bid in max_bid_micros:
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
}
}'
Note one compatibility point from the Ads API guide. A fixed CPA bid works with either a daily or lifetime budget. If you want OpenAI to manage bids instead, using maximize_conversions, the campaign needs a daily budget, the ad group must omit max_bid_micros, and an Idempotency-Key is required when creating that ad group.
How Does oCPC Work for Product-Feed Campaigns?
The same way, using the same endpoint, and it is also in open beta. You add mode: "product_feed" and the ID of a product feed linked to the ad account alongside the conversion bidding fields. The child ad group automatically inherits the campaign's feed; you include product_set only to specify product filters, and its product_feed_id must match the campaign's feed.
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"]
}'
Remember the targeting constraint from the targeting guide: new product-feed campaigns support geographic targeting and exclusions only at country level.
What Cannot Be Changed Once an oCPC Campaign Exists?
Two things, and both force a new campaign. OpenAI answers these directly in its common questions, and they shape how you name and plan campaigns from the start.
| Change you might want | Allowed? | What to do |
|---|---|---|
| Convert an existing CPM or CPC campaign to oCPC | No | Create a new campaign with bidding_type: "conversions" |
| Change the selected conversion event | No | Create a new campaign optimising toward the new event |
| Change the campaign goal | No | Create a new campaign |
| Switch between a fixed CPA bid and Maximize conversions | Yes, within the same objective | Update the ad group's bidding_config, respecting budget rules |
| Adjust the CPA bid amount | Yes | Update max_bid_micros on the ad group |
The planning lesson: a traffic campaign that starts converting well cannot be promoted to oCPC in place. You rebuild it. Teams that expect to graduate from CPC testing to conversion bidding should name and structure the CPC campaign so its learnings transfer cleanly to the oCPC campaign that replaces it.
How Should You Judge oCPC Performance in 2026?
On conversions first, and on enough volume to mean something. OpenAI's guidance is to review impressions, clicks, conversions, spend, click-through rate and average CPC together in Ads Manager, and notes that because oCPC optimises toward the selected event, conversions are the primary outcome to review. Calculate cost per conversion yourself as spend divided by conversions.
OpenAI's own improvement list is short and worth following literally:
- Choose the standard conversion event that best represents your campaign goal.
- Keep conversion tracking healthy. Incomplete or incorrectly configured tracking makes reporting and optimisation less effective.
- Use a conversion event with enough volume to evaluate performance.
- Align ad copy with user intent and the selected conversion goal.
- Review enough volume before making large changes to bids, budgets or creative.
Two reporting cautions carry over from the platform's general behaviour. Conversions update through daily processing, so allow at least a day before drawing conclusions. And view-through conversions are reported separately and do not feed bidding, billing or CPA, which all remain click-through-based. Judge an oCPC campaign on click-through conversions.
The volume question nobody likes to answer
OpenAI's advice to use an event with enough volume is the most important line on the page for smaller advertisers. If your purchase volume is low, optimising toward order_created gives the system very little signal. A higher-funnel standard event such as checkout_started or items_added produces more signal at the cost of optimising toward something further from revenue. Which trade-off is right depends on your volume, and that is a decision to make deliberately rather than by defaulting to the purchase event.
What Are the Common oCPC Mistakes in 2026?
- Reading the CPA bid as the price. It is an optimisation input. You pay per valid click, and your actual cost per conversion is spend divided by conversions.
- Launching before tracking is verified. Billing continues on clicks while optimisation learns from a misfiring event.
- Choosing a custom event as the goal. Custom events cannot be oCPC optimisation goals.
- Expecting to convert a CPC campaign in place. You cannot. Build a new campaign.
- Picking an event with too little volume. OpenAI explicitly advises enough volume to evaluate performance.
- Pairing Maximize conversions with a lifetime budget. Maximize Results needs a daily budget.
- Treating the 403 as a bug.
Conversion bidding is not enabledis an account gate; contact your OpenAI partner representative. - Making large changes on thin data. Review enough volume before adjusting bids, budgets or creative.
Key Takeaways for 2026
Conversion-optimised campaigns on ChatGPT Ads separate what the platform optimises from what you pay for, and every decision follows from that split.
- oCPC uses
bidding_type: "conversions"and is in open beta for standard and product-feed campaigns. - Delivery optimises toward one selected conversion event; billing remains per valid click.
max_bid_microson the ad group is a CPA bid used as an optimisation input, not a conversion charge.- Accounts must have conversion bidding enabled; a 403 means contact your OpenAI partner representative.
- Exactly one active standard conversion event per campaign. Custom events cannot be optimisation goals.
- You cannot convert an existing campaign to oCPC or change its event later; both require a new campaign.
- Product-feed oCPC uses
mode: "product_feed"and inherits the feed at ad group level. - Judge on click-through conversions, allow a day for data, and choose an event with enough volume to learn from.
Distk sets up conversion measurement and bidding for growth teams across India and internationally, and the order we work in is tracking verified first, a CPC test second, and oCPC only once the conversion event has the volume to steer it. If you are planning conversion bidding on ChatGPT Ads in 2026, that sequencing is the conversation to have.
Sources
- OpenAI, Conversion-Optimized Campaigns, including prerequisites, billing, product-feed oCPC and common questions.
- OpenAI, Bidding and Budgets.
- OpenAI, Supported Events.
- OpenAI, Conversion Tracking.
Every field, status code and rule in this guide is quoted from OpenAI's published Ads documentation as of 1 October 2026. oCPC is documented as open beta; check the documentation before relying on its current behaviour.