# ChatGPT Ads Conversion Campaigns: The Complete oCPC Guide (2026)

URL: https://www.gptadsai.com/guides/chatgpt-ads-conversion-campaigns
Author: Tarun Kapoor — Founder, GPT Ads AI (12+ years paid media)
Published: 2026-07-25
Type: Pillar 05

> How ChatGPT Ads conversion campaigns work: the Conversions objective, oCPC bidding, choosing the conversion event, setting a Bid Cap, the seven-day average daily budget, the API fields, and a 30-day launch plan.

## Contents

- [What conversion campaigns are in ChatGPT Ads](#what-conversion-campaigns-are-in-chatgpt-ads)
- [oCPC vs CPM vs CPC: which buying model to run](#ocpc-vs-cpm-vs-cpc-which-buying-model-to-run)
- [Before you start: the four prerequisites](#before-you-start-the-four-prerequisites)
- [How to create a conversion campaign, step by step](#how-to-create-a-conversion-campaign-step-by-step)
- [Choosing the conversion event you optimise toward](#choosing-the-conversion-event-you-optimise-toward)
- [Bid Cap: what it is, what it is not, and how to set your first one](#bid-cap-what-it-is-what-it-is-not-and-how-to-set-your-first-one)
- [Daily budgets: the seven-day average change](#daily-budgets-the-seven-day-average-change)
- [Reading the report: which metrics actually matter](#reading-the-report-which-metrics-actually-matter)
- [Campaign structure: how many campaigns, how many ad groups](#campaign-structure-how-many-campaigns-how-many-ad-groups)
- [Nine mistakes that quietly kill conversion campaigns](#nine-mistakes-that-quietly-kill-conversion-campaigns)
- [The API path: creating oCPC campaigns programmatically](#the-api-path-creating-ocpc-campaigns-programmatically)
- [What OpenAI has not shipped yet](#what-openai-has-not-shipped-yet)
- [Monitoring the demand side: where AI search visibility fits](#monitoring-the-demand-side-where-ai-search-visibility-fits)
- [A 30-day launch plan](#a-30-day-launch-plan)
- [Sources and further reading](#sources-and-further-reading)

**Short answer:** ChatGPT Ads conversion campaigns use the **Conversions objective** in Ads Manager Beta, which puts the campaign on **oCPC** — conversion-optimized cost per click — so OpenAI biases delivery toward clicks that are more likely to end in one standard conversion event you nominate, while still billing you per valid click. To run one you need working conversion tracking, one supported standard event, a **Bid Cap** per ad group, and the understanding that the objective and the event are both **permanent after campaign creation**.

> **The one-line mental model.** oCPC is not a pricing model. It is a *delivery instruction*. You are still buying clicks at a click price set by an auction — you are simply telling the auction which clicks you consider valuable. Every mistake in this guide traces back to advertisers reading "conversion campaign" as "pay per conversion."
>
> Sources for every claim below are linked inline, and the primary references are OpenAI's own [Conversion-optimized Campaigns](https://help.openai.com/en/articles/20001412-conversion-optimized-campaigns) help article and its [developer documentation](https://developers.openai.com/ads/conversion-optimized-campaigns).

## What conversion campaigns are in ChatGPT Ads

A **ChatGPT Ads conversion campaign** is any campaign you create with the Objective set to **Conversions** inside [Ads Manager Beta](/guides/chatgpt-ads-manager.md). Per OpenAI's help documentation, selecting that objective *"selects oCPC for the campaign type"* — you are not choosing a bidding strategy separately, the objective is the bidding strategy. In OpenAI's [Advertiser API](https://developers.openai.com/ads/api-overview), the same thing is expressed as `bidding_type: "conversions"` on the campaign object.

oCPC stands for **optimized cost per click**, and the emphasis belongs on the middle word. OpenAI describes the mechanism plainly in its developer docs: the system *"uses your selected conversion event together with ad quality, relevance, click likelihood, and conversion likelihood to favor clicks more likely to lead to that event."* Three of those four inputs — quality, relevance, click likelihood — already exist in a plain CPC campaign. The fourth, **conversion likelihood**, is what oCPC adds. That is the entire product.

![Diagram of a ChatGPT Ads oCPC auction: you set a Bid Cap, the auction scores ad quality, relevance, click likelihood and conversion likelihood, a click is won, and you are billed the actual CPC which is often below the Bid Cap.](https://www.gptadsai.com/diagrams/ocpc-auction-flow.svg)

*The four stages of an oCPC auction. Conversion likelihood is the only input that a plain CPC campaign does not already use.*

This matters commercially because of what ChatGPT ad inventory *is*. Ads appear beneath assistant responses in conversations where a user has described a need in their own words — the intent signal is unusually rich compared with a keyword match, but the traffic mix is also unusually broad, because people ask ChatGPT about everything. A plain Clicks campaign will happily buy the curious click and the buying click at the same price. oCPC is the first lever OpenAI has shipped that lets the platform tell those two apart on your behalf.

The timeline is worth knowing because it explains how immature the surface still is. Digiday reported OpenAI's conversion pixel in pilot on **16 April 2026**, quoting Adthena CMO Ashley Fletcher describing the absence of conversion attribution as the *"most significant limitation of ChatGPT ads"* at the time ([Digiday](https://digiday.com/marketing/openai-builds-tool-to-track-whether-chatgpt-ads-convert/)). MediaPost then reported the rollout of conversion-optimized campaigns in **early June 2026** ([MediaPost](https://www.mediapost.com/publications/article/415465/openai-races-to-add-conversion-optimized-campaigns.html)). So the entire performance layer of this channel is a few months old. Treat published best practice — including ours — as provisional.

## oCPC vs CPM vs CPC: which buying model to run

ChatGPT Ads now offers three distinct ways to buy, and they are not interchangeable. Our [cost and bidding guide](/guides/chatgpt-ads-cost.md) covers the first two in depth; here is how the third changes the calculus.

|  | Reach (CPM) | Clicks (CPC) | Conversions (oCPC) |
|---|---|---|---|
| **Billed on** | Impressions | Valid clicks | Valid clicks |
| **You set** | Max CPM bid | Max CPC bid | Bid Cap per ad group |
| **Published starting point** | $60 default max bid | $3–5 recommended | None published |
| **Optimises toward** | Delivery and reach | Click likelihood | Your chosen conversion event |
| **Requires tracking** | No | No | **Yes** — Pixel and/or Conversions API |
| **Convertible later** | — | — | No. New campaign only |
| **Works with product feeds** | Yes | Yes | No |

The $60 default max CPM bid and the $3–5 recommended CPC starting bid are OpenAI's published figures, reported by MediaPost alongside the conversion campaign rollout. Notice the empty cell: **there is no published starting bid for oCPC**. OpenAI's help article says so explicitly — *"There is no recommended bid amount at this time."* That single gap is responsible for most of the early-account chaos we see, and we deal with it properly in the Bid Cap section below.

The practical sequencing question is when to move. Our position, from running [managed accounts](/services.md) on this channel: do not open a Conversions campaign as your first ChatGPT Ads campaign. Run Clicks first for long enough to learn what a qualified visit from this channel actually looks like on your own analytics — bounce behaviour, pages per session, assisted conversions, the lot. You are going to need that judgement later, because oCPC will hand you a conversion number with no ability to interrogate how it was formed. An advertiser who has never seen unoptimised ChatGPT traffic has no baseline to sanity-check the optimised kind against.

> **Budget reality check.** Collective Measures' Lauren Beerling told Digiday that spend on this channel is *"shifting from the top of the funnel to fund what's being positioned as a new direct response channel"* rather than arriving as net-new budget. If your oCPC test is funded by cannibalising brand or upper-funnel spend, judge it against what that budget was previously buying — not against a standalone ROAS target it was never scoped to hit.

## Before you start: the four prerequisites

OpenAI's help article lists four things that must be true before you can create an oCPC campaign. Each has a failure mode worth naming.

1. **Conversion tracking is set up for your ad account** — via the [Conversions API](https://developers.openai.com/ads/conversions-api), the [JavaScript Pixel](https://developers.openai.com/ads/measurement-pixel), or both. *Failure mode:* the pixel is installed but firing the wrong event, so the campaign optimises toward something you did not intend and you cannot tell from the reporting. Our [conversion tracking guide](/guides/chatgpt-ads-conversion-tracking.md) is the companion piece to this one and covers verification properly.
2. **At least one supported standard conversion event is available.** Custom conversion events are *not* currently supported for oCPC. *Failure mode:* a team that has carefully modelled its funnel into bespoke custom events discovers at campaign-creation time that none of them are selectable, and hurriedly maps the wrong standard event onto the wrong action.
3. **You know which conversion event you want to optimise toward.** *Failure mode:* choosing under time pressure. This choice is permanent for the life of the campaign.
4. **You are ready to create a new campaign.** Existing CPM or CPC campaigns cannot be converted to oCPC. *Failure mode:* assuming you can flip a switch on the campaign that already has learning, history and approved creative in it. You cannot. You are starting over.

There is a fifth prerequisite that appears only in the developer documentation and not in the help article: the **ad account must have conversion bidding enabled**. OpenAI's API overview notes that programmatic brand updates and conversion management require *account enablement*, and directs partners to their OpenAI representative if the capability is unavailable. If the Conversions objective is missing from your Ads Manager, that is the first thing to check — not your tracking. And if you have not yet cleared advertiser verification at all, start with our [account setup guide](/guides/ads-manager-account-setup.md).

## How to create a conversion campaign, step by step

This is OpenAI's documented flow, with our operating notes flagged. Nothing here is guesswork about the interface — the five steps are the five steps in the help article.

### 1. Create a new campaign and set the Objective to Conversions

In Ads Manager, create a new campaign and set the Objective to **Conversions**. This selects oCPC for the campaign type. Per OpenAI: *"The campaign objective cannot be changed after campaign creation. If you need a different objective later, create a new campaign."*

**Operating note:** name the campaign for the event it optimises toward, not for the product. Because the event is frozen at creation, the campaign name is the only durable place that information lives at a glance — and in six weeks, when you have four Conversions campaigns running, `ACME – Q3 – order_created – US` will save you from an expensive misreading that `ACME – Q3 – Prospecting` will not.

### 2. Choose the conversion event

Choose the Conversion event you want to optimise for — the downstream action such as a purchase, sign-up, or lead submission that ChatGPT Ads will use to guide delivery. **Each oCPC campaign uses one selected conversion event**, and it cannot be changed after creation. To optimise toward a different event, you create a new campaign.

This is the highest-stakes decision in the whole setup and it gets its own section below, because "pick your most valuable action" is exactly the wrong instinct.

### 3. Set campaign budget, dates and locations

Budget, start and end dates, and location targeting work the same as any other objective. OpenAI's guidance is to *"choose settings that give the campaign enough time and budget to gather meaningful performance data."* Location targeting is constrained by where the ads serve at all — per OpenAI, ChatGPT Ads reach Free and Go users in the **United States, Canada, Australia and New Zealand**, and never Plus, Pro, Business or Enterprise users, or users predicted to be under 18.

### 4. Create ad groups and set a Bid Cap

Build ad groups and ads as normal. For each ad group, set a **Bid Cap** — described by OpenAI as *"the maximum amount you can pay for a click in an auction."* oCPC uses this cap while optimising toward clicks 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.

Your creative work does not change under oCPC, but its leverage does. Because the auction is now scoring conversion likelihood, a landing page that converts badly will drag delivery down, not just ROAS. See our [ad examples breakdown](/guides/chatgpt-ads-examples.md) for what actually earns the click in-conversation, and our [context hints guide](/guides/context-hints-for-chatgpt-ads.md) for how to shape which conversations you show up in at all.

### 5. Launch and monitor performance

Ads Manager shows standard delivery and spend metrics alongside conversion reporting. Because oCPC is click-billed, **Average CPC remains the main cost metric** for what you pay. Because oCPC optimises toward your event, **Conversions is the key outcome metric**. OpenAI's instruction is to look at conversion volume together with spend and clicks, and to calculate cost per conversion by dividing spend by conversions.

> **Read that last sentence again.** Cost per conversion is something *you* divide. There is no bid, no target, and no automated cost-per-acquisition control in the documented product. An oCPC campaign will not slow down because your CPA is bad. It optimises toward the event; it does not defend an efficiency threshold. The only throttle you own is the Bid Cap and the budget.

## Choosing the conversion event you optimise toward

OpenAI gives two pieces of guidance that pull against each other, and reconciling them is the actual skill. First: *"Choose the conversion event that best represents your campaign goal."* Second: *"Use a conversion event with enough signal. Events that happen too rarely can make performance harder to evaluate."*

The event that best represents your goal is almost always your rarest event. A $4,000 B2B contract signature perfectly represents the goal and might fire eleven times a quarter. An optimisation system cannot learn anything useful from eleven examples spread across a quarter, and neither can you.

![Editorial still life of three glass vessels holding progressively less liquid, illustrating conversion events with abundant, thin and no signal.](https://www.gptadsai.com/banners/guide-ocpc-signal.png)

*Signal volume is the constraint. The event that best describes your goal and the event with enough data to optimise on are rarely the same event.*

So run the trade-off explicitly. Here is the ladder of supported standard events, ordered from most signal to most meaning, with the practical read on each. The full field reference lives in OpenAI's [supported events](https://developers.openai.com/ads/supported-events) documentation and in our [conversion tracking guide](/guides/chatgpt-ads-conversion-tracking.md).

| Standard event | Typical volume | Meaning | Use as your oCPC event when |
|---|---|---|---|
| `page_viewed` | Very high | Almost none | Never. This is a traffic metric wearing a conversion costume. |
| `contents_viewed` | High | Low | You have no downstream event live yet and need to bootstrap. Replace it fast. |
| `items_added` | Medium | Moderate | Ecommerce with a long checkout and low order volume; add-to-cart is your only dense signal. |
| `checkout_started` | Medium-low | Good | Order volume is under roughly 30/month but checkout starts are 3–5× that. |
| `registration_completed` | Medium | Good | Product-led SaaS where the account *is* the conversion. |
| `lead_created` | Medium-low | Good | Lead gen — the workhorse choice, and one OpenAI names as an eligible example. |
| `trial_started` | Low-medium | Strong | Subscription with a genuine free trial and enough weekly starts to learn from. |
| `subscription_created` | Low | Strongest | High-volume consumer subscription only. |
| `order_created` | Low | Strongest | Ecommerce with genuine daily order volume. OpenAI's headline example. |
| `appointment_scheduled` | Low | Strong | Services and healthcare where the booking is the sale. |

**Our rule of thumb, and it is ours rather than OpenAI's:** pick the deepest event in your funnel that produces at least **25–30 conversions per week** at the spend level you intend to run. Below that, step one rung up the funnel toward the denser event and let your own analytics carry the value measurement. This mirrors the volume thresholds that have proven durable across every other bid-optimising auction — but note that OpenAI has published no such threshold for ChatGPT Ads, so treat it as a working heuristic to validate against your own account, not as a documented platform rule.

Two hard constraints worth restating because they trip up sophisticated advertisers most often. **Custom events are not eligible.** If your entire measurement plan runs on `custom` events with `custom_event_name` values, none of them can serve as an oCPC optimisation target — you will need a standard event firing in parallel. And **`app_installed` and `app_opened` are Conversions-API-only**, sent with `action_source: mobile_app`; there is no native mobile SDK, so app-install optimisation is a server-side engineering project before it is a media decision.

## Bid Cap: what it is, what it is not, and how to set your first one

Here is a genuine ambiguity in OpenAI's own documentation that every advertiser running oCPC should know about, because it changes what number you type into the box.

The **help article** defines Bid Cap as *"the maximum amount you can pay for a click in an auction"* — a click bid. The **developer documentation** describes the corresponding API field, `max_bid_micros`, as representing *the CPA (cost-per-action) bid, though actual billing remains click-based*, and gives the example `100000000` = **$100.00** in a USD account. A $100 click bid and a $100 acquisition bid are wildly different instructions.

> **How we handle the discrepancy.** Read the label in your own Ads Manager and trust the interface in front of you over any third-party guide including this one, then validate empirically: set a cap, run to meaningful volume, and compare your **Average CPC** against the cap. If average CPC lands far below a number you intended as a click bid, the field is behaving as a click cap. If clicks are clearing near your figure while you intended a CPA bid, you have found the answer the expensive way — which is why the first test should be small and time-boxed.

Whichever reading applies to your account, four things are documented and stable:

- **It is a cap, not a price.** *"Your actual CPC is determined by the auction and may be lower than your Bid Cap."*
- **It is set per ad group**, not per campaign — so it is your primary lever for prioritising one audience or creative set over another inside a single budget.
- **There is no recommended amount.** OpenAI publishes none for oCPC, unlike the $3–5 it recommends for the Clicks objective.
- **In the API it is `max_bid_micros`**, in micro-units: multiply your intended figure by 1,000,000.

### A defensible way to set the first cap

Since there is no published starting point, derive one rather than guessing. Work backwards from unit economics you already trust:

1. **Establish your allowable cost per conversion.** Gross margin per conversion × the share of margin you are willing to spend on acquisition. If a lead is worth $180 in expected gross margin and you will spend a third of it, your allowable CPA is $60.
2. **Find your true landing-page conversion rate for this channel** — from the Clicks campaign you ran first, not from your site average. Say 2.5%.
3. **Derive the break-even click price.** $60 allowable CPA × 2.5% = **$1.50 per click**.
4. **Set the opening cap above break-even, not at it.** Roughly 1.5–2× break-even, so $2.25–$3.00. A cap set exactly at break-even wins so few auctions that the campaign never gathers the volume needed to optimise, and you will misdiagnose a bidding problem as a channel problem.
5. **Sanity-check against the Clicks benchmark.** OpenAI's recommended $3–5 starting bid for the Clicks objective is the only published reference point on this inventory. A derived cap of $2.25 sits plausibly below it. A derived cap of $0.30 tells you your allowable CPA or your conversion rate is wrong, not that you have found a bargain.

Then change it slowly. OpenAI's own optimisation guidance is to *"monitor performance and adjust your Bid Cap based on campaign delivery and results"* and to *"review performance over enough volume before making large changes to bids, budgets, or creative."* Move in increments of roughly 15–20%, one variable at a time, and let each change accumulate real conversion volume before the next. Daily bid tinkering on a channel this thin generates noise you will then optimise against.

## Daily budgets: the seven-day average change

On **27 July 2026**, OpenAI changed what the Daily budget field means. Per its [Daily Budgets](https://help.openai.com/en/articles/20001413-daily-budgets) help article, a daily budget is now *"the average amount you want your campaign to spend per day over a seven day period"* — daily spend may run higher or lower on individual days, and ChatGPT Ads accounts for overspend in later pacing so the campaign continues to pace toward its overall budget.

Two hard limits define the envelope:

- **Maximum daily spend is twice your daily budget.**
- **Maximum seven-day spend is seven times your daily budget.**

![Bar chart of seven days of spend against a $100 average daily budget, with days ranging from $52 to $186, none exceeding the $200 daily ceiling, and totalling exactly $700 across the week.](https://www.gptadsai.com/diagrams/daily-budget-pacing.svg)

*OpenAI's worked example made concrete: a $100 daily budget over seven days is a $700 ceiling, with real day-to-day variance inside it.*

OpenAI's own example: a campaign running 7 days on a $100 average daily budget has a total campaign media spend limit of **$700**. Some days spend more than $100, some less; across the full campaign, billed media spend will not exceed $700. Existing campaigns updated automatically — no need to recreate, pause or edit anything, and budget amounts did not change. If a campaign has no end date, the same daily and seven-day limits apply while it is active.

### Why this interacts specifically with oCPC

Average pacing and conversion optimisation are a deliberate pairing. A conversion-optimising system wants the freedom to spend into a good hour and starve a bad one; a hard daily cap fights that by forcing an even distribution regardless of opportunity. Handing the system a seven-day envelope is what lets "this Thursday looks unusually good" become a spend decision rather than a missed one — which is exactly the Thursday in the chart above.

The operational consequence is that **day-level budget alarms are now meaningless**. If your reporting pings you when a campaign spends 1.8× its daily budget, retire that alert — it is documented behaviour, not an incident. Move your monitoring to a rolling seven-day window. Finance teams accustomed to reconciling media spend daily need telling, ideally before the first $186 day rather than after it.

And plan test durations in multiples of seven days. A five-day test on a campaign that paces over seven can legitimately underspend, then get characterised as "no delivery" when it was simply mid-cycle. Run whole weeks.

## Reading the report: which metrics actually matter

Ads Manager Beta reports impressions, clicks, spend, CTR, average CPC, average CPM and conversions. Under oCPC, they stop being equally interesting. Here is how we read an oCPC report, top to bottom, and what each line is genuinely evidence of.

| Metric | What it tells you under oCPC | What it does not tell you |
|---|---|---|
| **Conversions** | Whether the optimisation target is being hit. The primary outcome metric. | Whether those conversions were incremental, or whether they are deduplicated correctly. |
| **Average CPC** | What you are actually paying. The primary cost metric, because billing is click-based. | Whether the price was worth it — that needs the conversion rate beside it. |
| **Spend ÷ Conversions** | Cost per conversion. You calculate it; the platform does not bid to it. | Anything about conversions that happened outside the attribution path. |
| **CTR** | Creative and relevance health. Still the fastest read on whether the ad fits the conversation. | Conversion quality. High CTR with no conversions is the classic wrong-audience signature. |
| **Impressions** | Whether you are winning enough auctions to learn at all. A near-zero count is a bid or eligibility problem. | Reach quality — oCPC deliberately narrows delivery, so a lower count can be the system working. |
| **Average CPM** | Little, directly. Useful only as a cross-check on auction pressure. | Your cost. You are not billed on impressions in this objective. |

The diagnostic that earns its keep is **conversion rate per click** (conversions ÷ clicks), which Ads Manager does not surface directly. Track it yourself, because it is the only number that separates the two failure modes that look identical in a spend report: *you are buying the wrong clicks* (CTR fine, conversion rate collapses) versus *you are not buying enough clicks* (conversion rate fine, volume too low to matter). Those two problems have opposite fixes, and guessing between them costs weeks.

## Campaign structure: how many campaigns, how many ad groups

Because the conversion event is locked at the campaign level and the Bid Cap lives at the ad group level, the platform's constraints dictate a structure whether you plan one or not. Better to plan it.

**One campaign per conversion event.** This is forced, not chosen — one event per campaign is the documented limit. If you want to optimise toward both `lead_created` and `registration_completed`, that is two campaigns, two budgets, two sets of learning.

**One campaign per market where budget control matters.** Budget and location targeting are campaign-level settings, so a single campaign spanning the US, Canada, Australia and New Zealand hands all four markets to one pacing envelope. If the US will absorb the budget by sheer volume — and it will — split the markets you actually care about into their own campaigns.

**Ad groups as your bid-differentiation layer.** Since Bid Cap is per ad group, ad groups are how you say *this segment is worth more than that one*. Split by intent theme or offer, not by creative variant — creative variants belong inside one ad group so they compete on the same terms. And resist the urge to build fifteen ad groups on a channel this new: every split divides your already-thin conversion signal, and OpenAI's own guidance warns that rare events make performance harder to evaluate. Three to five ad groups is a defensible ceiling for a first quarter.

> **Keep one Clicks campaign running.** Not for volume — for calibration. An unoptimised CPC campaign against the same audience is your control group. When oCPC conversion rate per click runs meaningfully above the Clicks campaign's, the optimisation is doing real work. When the two converge, you are paying an optimisation premium for nothing, and you should say so out loud in the next review rather than assume the label means the machine is working.

## Nine mistakes that quietly kill conversion campaigns

1. **Assuming you pay per conversion.** OpenAI is explicit: *"No. oCPC optimizes delivery toward your selected conversion event, but billing is still based on valid clicks."* Budget models built on a CPA assumption will be wrong in the direction of overspending.
2. **Choosing the rarest event because it is the most valuable.** The optimisation needs examples. A campaign optimising toward an event that fires four times a month is a campaign optimising toward nothing.
3. **Launching before tracking is verified.** OpenAI names it directly: *"Incomplete or misconfigured tracking can make reporting and optimization less effective."* Under oCPC, broken tracking degrades **delivery**, not just your dashboard — the system is steering on the signal you are corrupting.
4. **Double-counting conversions.** Running the Pixel and Conversions API together without a shared `event_id` inflates every conversion, and the campaign then bids confidently toward a phantom. Covered in full in the [conversion tracking guide](/guides/chatgpt-ads-conversion-tracking.md).
5. **Setting the Bid Cap at break-even.** Wins too few auctions to accumulate signal, then gets diagnosed as a channel failure rather than a bidding one.
6. **Changing the Bid Cap daily.** Each change resets your read on the previous one. On a channel with this little conversion volume, weekly is aggressive.
7. **Expecting to migrate an existing campaign.** You cannot. Plan the new build, including creative review time — OpenAI notes ad review is typically completed within minutes, but the campaign starts with no history at all.
8. **Treating a 2× spend day as an incident.** Documented pacing behaviour since 27 July 2026. Alert on the rolling seven-day figure instead.
9. **Judging the campaign on calendar days rather than conversion volume.** Two weeks of data is not two weeks of *evidence* if it contains nine conversions.

## The API path: creating oCPC campaigns programmatically

For advertisers with API access, OpenAI's [Advertiser API](https://developers.openai.com/ads/api-overview) exposes campaigns, ad groups, ads, a bulk API, product feeds, files, insights and conversions. Authentication is a bearer token — `Authorization: Bearer $OPENAI_ADS_API_KEY` — with each key scoped to a single ad account and issued from the Settings tab in Ads Manager.

The oCPC-specific fields, per the developer documentation:

| Level | Field | Value |
|---|---|---|
| Campaign | `bidding_type` | `"conversions"` — this is what makes it an oCPC campaign |
| Campaign | `conversion_event_setting_ids` | Array of conversion event setting IDs; exactly one active standard event |
| Ad group | `bidding_config.billing_event_type` | `"click"` — billing stays click-based |
| Ad group | `max_bid_micros` | Bid in micro-units; `100000000` = $100.00 in a USD account |

Rate limits to design against: **600 requests per minute per endpoint**, **1,200 requests per minute overall**, and **10 bulk job creations per 10 seconds per ad account**. For anything above a handful of campaigns, use the Bulk API rather than looping single writes — asynchronous batch operations exist for campaigns, ad groups and ads precisely because per-object loops will hit the per-endpoint ceiling on any real catalog.

One structural gotcha worth building into your deploy checks: for an ad to serve, **the ad, its parent ad group, and the campaign must all be enabled**, and the ad must have passed review. A programmatic launch that enables campaigns but leaves ad groups paused produces a campaign that looks live in your own logs and serves nothing. Assert on all three states, not one.

## What OpenAI has not shipped yet

An honest guide names the gaps. As documented today, ChatGPT Ads conversion campaigns do **not** include:

- **Target CPA or target ROAS bidding.** There is a cap, and there is optimisation toward an event. There is no efficiency target the system defends.
- **Multiple conversion events per campaign.** One event, chosen once, permanently.
- **Custom conversion events as optimisation targets.** Standard events only.
- **Value-based optimisation.** You can send `amount` and `currency` with an event, but the documented optimisation is toward the *occurrence* of the event, not its value.
- **oCPC on product feed campaigns.** Explicitly incompatible — relevant to every retailer running a [product feed](/guides/chatgpt-ads-product-feed.md).
- **Objective or event changes after creation.** Both permanent.
- **A published recommended bid.** None, at this time.
- **The wider attribution ecosystem.** Digiday's reporting names this directly: ChatGPT lacks the established media mix modelling and incrementality testing infrastructure that surrounds mature channels.

None of these are criticisms of a product this young — they are planning constraints. The advertisers getting hurt right now are the ones who assumed feature parity with Google or Meta and built forecasts on capabilities that do not exist yet. Track what actually ships in our [ChatGPT Ads news timeline](/guides/chatgpt-ads-news.md), which we update as OpenAI releases.

## Monitoring the demand side: where AI search visibility fits

A conversion campaign optimises the *paid* path through ChatGPT. But the same assistant is simultaneously answering your category's questions organically, citing sources, and shaping what users believe before any ad is served. An AI search monitoring platform — the class of tool that tracks how often and how favourably a brand is surfaced across ChatGPT, AI Overviews, Perplexity and Gemini — improves this work in four concrete ways, and it is worth being precise about them rather than hand-waving at "AI SEO".

1. **It tells you which prompts your category is actually answered on.** Those prompt patterns are the closest available proxy for the conversations your ads can appear beside, which makes them a far better source of [context hints](/guides/chatgpt-context-hint-examples.md) and ad-group themes than a keyword tool built for a search box.
2. **It separates a delivery problem from a demand problem.** If monitoring shows your category is being answered constantly and you are absent from those answers, weak ad delivery is a competitive-position problem. If the category is barely discussed, no Bid Cap will manufacture volume.
3. **It shows what the assistant says about you unprompted.** If ChatGPT's organic answer describes your product with a stale price or a discontinued tier, your oCPC campaign is buying clicks from users who already have wrong information — a conversion-rate problem that looks like a bidding problem in Ads Manager.
4. **It gives the branded-search signal that paid attribution misses.** Because a meaningful share of ChatGPT-influenced conversions arrive later via branded search or direct, movement in branded-demand monitoring is one of the few observable traces of the influence your conversion pixel cannot see.

The strategic point is that these two systems answer different questions and neither substitutes for the other. Conversion tracking answers *did this click pay for itself*. AI search monitoring answers *are we in the conversation at all*. Run an oCPC campaign without the second and you will optimise your way to a locally efficient position inside a category you are losing. We use both across managed accounts, and the [attribution gap section](/guides/chatgpt-ads-conversion-tracking.md) of the tracking guide explains why the paid-side numbers alone systematically understate this channel.

## A 30-day launch plan

Deliberately structured in seven-day blocks, because that is now the unit the budget paces in.

### Days 1–7 — Instrument, do not launch

- Install the JavaScript Pixel and, if you have engineering capacity, the Conversions API. Set the shared `event_id` from day one — retrofitting deduplication after a month of data is worse than waiting a week.
- Fire every standard event you plan to use and verify each in Ads Manager. Use `debug: true` on the pixel and `validate_only: true` on the API.
- Count last quarter's actual volume for each candidate event. This is the number that decides your optimisation target, not the org chart's opinion of which event matters most.
- Keep an existing Clicks campaign running as your control.

### Days 8–14 — Launch small and narrow

- One Conversions campaign. One event. One market. Two to three ad groups.
- Bid Cap derived from allowable CPA ÷ landing page conversion rate, set at 1.5–2× break-even.
- Daily budget set so the seven-day envelope is a number you can lose without a conversation — remember the 2× daily and 7× weekly ceilings.
- Change nothing this week. Not one bid. You are buying a baseline.

### Days 15–21 — First honest read

- Compute conversion rate per click and compare it against the Clicks control campaign. This is the actual test of whether oCPC is earning its keep.
- If impressions are near zero: bid or eligibility problem. Raise the cap 15–20% or check that campaign, ad group and ads are all enabled and approved.
- If clicks are healthy but conversions are not: wrong audience or wrong landing page — not a bidding problem. Resist raising the cap.
- If conversions are healthy: change nothing yet. Let a second week confirm it before you scale into what might be noise.

### Days 22–30 — Scale one variable

- Pick the single strongest lever — usually budget if conversion rate holds, or Bid Cap if delivery is the constraint — and move it once.
- Only now consider a second campaign for a second event or market.
- Write down the cost per conversion, the conversion rate per click, and the seven-day spend. That triplet is your baseline for every future decision on this channel.
- Reconcile platform conversions against your own analytics. A gap is expected; the *size* of the gap is what you need on record.

---

## Sources and further reading

Every factual claim above traces to one of these. Where we have extrapolated — bid derivation, the 25–30 conversions per week heuristic, campaign structure advice — we have flagged it as our own operating judgement rather than platform documentation.

- OpenAI Help Center — [Conversion-optimized Campaigns](https://help.openai.com/en/articles/20001412-conversion-optimized-campaigns)
- OpenAI Help Center — [Daily Budgets](https://help.openai.com/en/articles/20001413-daily-budgets)
- OpenAI Help Center — [Create Campaigns for ChatGPT](https://help.openai.com/en/articles/20001210-create-campaigns-for-chatgpt), [Create Ad Groups](https://help.openai.com/en/articles/20001211-create-ad-groups-for-chatgpt), [Launch Campaigns](https://help.openai.com/en/articles/20001209-launch-campaigns), [Measure Results](https://help.openai.com/en/articles/20001214-measure-results)
- OpenAI Developers — [Conversion-optimized campaigns](https://developers.openai.com/ads/conversion-optimized-campaigns), [API overview](https://developers.openai.com/ads/api-overview), [Supported events](https://developers.openai.com/ads/supported-events)
- OpenAI Developers — [JavaScript Pixel](https://developers.openai.com/ads/measurement-pixel), [Conversions API](https://developers.openai.com/ads/conversions-api), [Image tag](https://developers.openai.com/ads/image-tag)
- Digiday, 16 April 2026 — [OpenAI builds tool to track whether ChatGPT ads convert](https://digiday.com/marketing/openai-builds-tool-to-track-whether-chatgpt-ads-convert/) (Krystal Scanlon and Seb Joseph)
- MediaPost, 1 June 2026 — [OpenAI Betas Conversion Campaigns](https://www.mediapost.com/publications/article/415465/openai-races-to-add-conversion-optimized-campaigns.html)

> **Running this yourself?** The companion piece to this guide is [ChatGPT Ads Conversion Tracking](/guides/chatgpt-ads-conversion-tracking.md) — the pixel, the image tag, the Conversions API, deduplication and the attribution gap. Nothing in this guide works without that one. If you would rather have it built and run for you, [book a call](/contact.md).

## FAQ

**What is a conversion campaign in ChatGPT Ads?** A conversion campaign is a campaign created with the Conversions objective in ChatGPT Ads Manager Beta. Selecting that objective puts the campaign on oCPC — conversion-optimized cost per click. OpenAI optimises delivery toward one standard conversion event you nominate at creation, while still billing you per valid click. You need working conversion tracking (JavaScript Pixel and/or Conversions API) and at least one supported standard conversion event before you can create one.

**Does oCPC mean I pay per conversion?** No. Per OpenAI, oCPC optimises delivery toward your selected conversion event, but billing is still based on valid clicks. Cost per conversion is a number you calculate — spend divided by conversions — not a price you bid or a rate you are charged.

**Can I convert an existing CPM or CPC campaign to oCPC?** No. OpenAI states you cannot modify existing CPM or CPC campaigns to use oCPC. You have to create a new campaign with the Conversions objective. The campaign objective and the conversion event are both permanent after creation, so if you need a different event you build a new campaign.

**Will I always pay my Bid Cap in a ChatGPT Ads conversion campaign?** No. The Bid Cap is the maximum you can pay for a click in an auction. Your actual CPC is determined by the auction and may be lower. OpenAI publishes no recommended oCPC bid amount at this time, so the first cap is an assumption you test rather than a number you look up.

**Which conversion events can a ChatGPT Ads conversion campaign optimise toward?** One supported standard conversion event per campaign. Custom conversion events are not currently supported for oCPC. OpenAI's developer documentation names order_created, lead_created and registration_completed as representative examples of eligible standard events.

**How much will a ChatGPT Ads conversion campaign spend in a day?** Up to twice your daily budget on any individual day, and no more than seven times your daily budget across the applicable seven-day period. Since 27 July 2026 the daily budget field is an average over seven days rather than a per-day cap, so a $100 daily budget means a $700 seven-day ceiling with day-to-day variation inside it.

**Can product feed campaigns use oCPC?** Not currently. OpenAI's developer documentation states product-feed campaigns are incompatible with conversion-optimized bidding. Retail advertisers running catalog ads stay on the existing buying models for those campaigns and would run a separate Conversions-objective campaign for non-feed inventory.

**How long before I should judge an oCPC campaign?** Long enough to accumulate meaningful conversion volume, not a fixed number of days. OpenAI's guidance is to review performance over enough volume before making large changes to bids, budgets or creative, and to choose an event with enough signal because rare events make performance harder to evaluate. In practice that means judging on conversion counts, not on calendar days.

## Related guides

- https://www.gptadsai.com/guides/chatgpt-ads-conversion-tracking.md
- https://www.gptadsai.com/guides/chatgpt-ads-cost.md
- https://www.gptadsai.com/guides/chatgpt-ads-manager.md
- https://www.gptadsai.com/guides/ads-manager-account-setup.md
