If you still read ChatGPT Ads like a CPC channel, mid-September already broke your dashboard.
OpenAI’s Help Center article “Conversion-optimized Campaigns” (updated about September 16, 2026) documents two conversion-optimized paths side by side: oCPC, billed on valid clicks, and oCPM, billed on impressions served while delivery still optimizes toward a selected conversion event. Synlig.ai’s Joachim Svensson, writing September 16, called impression-billed conversion optimization the most important change in a nine-update batch and said it is generally available as OpenAI’s recommended model for maximizing performance. Index Lab’s Guilherme Hortinha, writing September 17, quotes the product email the same way: generally available, recommended for maximizing performance. The Ads API docs, still describing conversion optimization as click-billed oCPC with bidding_type: "conversions" and ad-group billing_event_type: "click", have not caught up. That lag is a fact operators must explain to engineering, not a rumor to paper over.
This is not another Vault note on HubSpot as the ads console, Shopify Catalog as the campaign, Sponsored Agent as the click surface, or Google AI Max as a silent settings migration. Those pieces stay distinct. This one is about what you pay for, what the optimizer learns from, and why “Avg CPC looks weird” is often the wrong complaint.
What actually changed
Three facts matter. Everything else is packaging.
Fact one: oCPM is conversion optimization with impression billing. Help Center language is precise. oCPC campaigns are billed based on valid clicks and optimize toward conversions that happen after someone clicks your ad. oCPM campaigns are billed based on impressions served and optimize toward conversions while accounting for a broader set of eligible conversion signals, including actions that follow ad clicks and ad views. You do not pay per conversion on either path. Bid Cap is the maximum you are willing to bid for a conversion as an auction input. Actual cost still settles on clicks (oCPC) or impressions (oCPM).
Fact two: objective, billing model, and conversion event lock at creation. Create a new campaign, set objective to Conversions, choose Impressions (CPM) or Clicks (CPC) for how you are charged, then pick one supported standard conversion event. You cannot change objective, billing model, or conversion event after creation. Existing CPM, CPC, oCPC, or oCPM campaigns cannot be rewritten into a different objective or billing model. Moving to oCPM means a new campaign (Help Center allows cloning into a new oCPM campaign). Custom conversion events are not supported as optimization goals.
Fact three: attribution windows are reporting knobs, not bidding knobs. The Measure Results Help Center article (updated around September 21, 2026) lets advertisers choose a 7-, 14-, or 30-day click-through reporting window and either 0 Day (disabled) or 1-day view-through. Any supported combination works. Changing the window affects reporting only. It does not change campaign optimization, bidding, or billing. When the view window is 1 Day, eligible view-through conversions enter the Conversions total. When it is 0 Day, the total is click-through only. Last-touch attribution still applies. This is not multi-touch.
Independents fill the product email color Help Center omits. Synlig and Index Lab both place Event Quality Score under Tools > Conversions as a 1 to 10 hygiene check on Pixel and Conversions API setups (user data coverage, click reference, delayed events, duplicates). Index Lab notes the Advertiser API still disagrees with Help Center on whether conversion optimization is impression-capable, and notes Event Quality is not yet exposed through the API. Treat UI Help Center as operational truth for media buyers this week. Treat API docs as what your scripts can still create without a partner enablement conversation.

The mechanism: seen can count before clicked
ChatGPT Ads has always lived inside a conversation surface where people evaluate before they leave. Help Center’s oCPM rationale says the quiet part out loud: someone may see an ad while exploring an idea, return later, and convert without a direct ad click. Impression billing keeps delivery pointed at the conversion goal while measurement can include more of those moments.
That is why treating the channel as “we buy clicks” is a category error once oCPM is the recommended default. On oCPC, Average CPC remains the main cost metric for what you pay per click, and Conversions is the outcome to watch. On oCPM, Average CPM and impressions are the billing and delivery metrics that matter first. Conversions, cost per conversion, and the click-through vs view-through split still decide whether the spend was good. If your weekly readout only charts Avg CPC across every ChatGPT Ads row, oCPM campaigns will look like broken CPC lines instead of healthy impression-priced delivery.
Reporting politics follow. Measure Results is explicit that the Conversions total includes click-through and eligible view-through based on your windows. Hover the Conversions column for the breakdown, or add View-through conversions as its own column. Default Conversions uses ad event time (the credited click or impression). You can switch to Conversions (by conv. time) if you need conversion-time reporting. Allow 24 to 48 hours for attributed conversions to settle. Totals can move as recent events process.
None of that rewires the auction when you flip a window from 7-day click to 30-day click. You just changed the scoreboard. Synlig’s September 16 example is the operator trap in one sentence: same campaign, different window, completely different numbers. Index Lab is blunt: change the window before comparing periods, then leave it fixed.
What operators get wrong
Mistake one: reading oCPM pacing with a CPC brain. Spend is climbing, Avg CPC is blank or nonsense relative to history, and someone asks why “clicks got expensive.” On oCPM you are buying impressions. Avg CPM is the cost language. Clicks still happen and still matter as interest and as click-path conversions. They are not the bill.
Mistake two: celebrating the Conversions column with 1-day view on and no split. Leadership sees Conversions up. Nobody opens the hover breakdown. View-through is doing quiet work inside the total. Synlig’s advice holds: keep watching bookings, qualified leads, and what a customer costs you, not just the Ads Manager total. Add Click-through conversions and View-through conversions as separate columns before you ship a win narrative.
Mistake three: treating attribution window changes as a performance lever. Widening the click window from 7 to 30 days will almost always increase attributed conversions on the same delivery. That is measurement policy, not a bid win. Help Center and Index Lab both say optimization, bidding, and billing do not move with the window. If finance wants a stable ChatGPT Ads CPA definition, freeze windows in writing.
Mistake four: skipping Event Quality while blaming the model. Conversion-optimized delivery learns from the events you send. Bad email coverage, missing click references, delayed Conversions API posts, and duplicate matches are not “oCPM is soft.” They are a dirty training set. Open Tools > Conversions this week. Score under 7 without a ticket is negligence, not strategy.
Mistake five: trying to “switch” a live CPC or oCPC campaign to oCPM. You cannot. Create new. Clone if Help Center offers the path. Keep the old campaign as control for two weeks with the same conversion event, as Index Lab suggests. Objective lock is a feature for measurement hygiene and a landmine for people who treat Ads Manager like a mutable spreadsheet.
Mistake six: trusting API scripts as the product source of truth. Developers docs still frame conversion optimization as pay-per-click oCPC. Help Center documents oCPM as a first-class billing choice under the Conversions objective. Until the API catches up, media runs the UI path for oCPM tests and engineering files a doc gap. Do not let a stale billing_event_type: "click" example convince leadership that impression-billed conversion optimization “is not real.”
Mistake seven: collapsing this week into Sponsored Agents, Shopify, or HubSpot theater. Those shipped in the same mid-September wave (OpenAI blog “Reimagining advertising with AI” on September 16, as summarized by Index Lab and Synlig). They matter. They are not the billing thesis. If your team only demos the agent conversation and never audits oCPM vs oCPC, you toured the museum and skipped the cash register.
Second-order effects
Media and measurement ownership collide. The person who owns ChatGPT Ads ROAS and the person who owns attribution policy can no longer share a Slack shrug. Window choice is a finance decision dressed as a column picker.
Agency scopes split again. You need a conversion-optimization cell that owns objective/billing/event lock discipline, Event Quality remediation, and oCPM vs oCPC test design, separate from the person who “owns CPC efficiency” across Meta and Google. Cross-channel CPC rollups that silently include oCPM rows will lie.
Creative and brand still sit downstream. Opt-in text customization and AI-assisted ad creation rode the same update wave. They do not change how you are billed. They do change what copy can appear in-conversation. Regulated categories should keep customization off until legal has seen variants. That is a creative control, not an oCPM excuse.
Ecommerce and CRM integrations lower setup friction for catalog and lead follow-up. They raise the cost of bad events, because more automated campaigns will optimize into whatever Event Quality you tolerate. Shopify and HubSpot make it easier to launch. They do not make it safer to measure.
Competitive framing stays narrow. Meta and Google already trained the industry on impression-priced conversion goals and view-through arguments. ChatGPT Ads joining that grammar is maturation, not magic. The edge this week is operators who separate bill, bid, and board while peers still screenshot Avg CPC.

What to do this week
- Inventory every live ChatGPT Ads campaign by objective and billing model. Label CPM, CPC, oCPC, oCPM. Anything still click-billed that you intended as conversion learning gets a candidate for a new oCPM twin, not an in-place edit.
- Stand up one oCPM test with the same standard conversion event as your best oCPC control. Same geo intent, comparable budget, two-week minimum before large bid drama (Help Center and Index Lab both stress volume before big changes). Clone when the UI allows. Do not mutate the control.
- Freeze attribution windows in a one-pager for finance. Pick click (7, 14, or 30) and view (0 or 1). Write why. Screenshot Edit columns. Changing windows mid-test voids period comparisons. Prefer 0-day view for a pure click story, or 1-day view with mandatory split columns if you want journey coverage.
- Rebuild the weekly readout for dual cost languages. oCPC rows: Avg CPC, clicks, spend, conversions, CPA. oCPM rows: Avg CPM, impressions, spend, conversions, CPA, plus click-through vs view-through. Kill any cross-channel chart that forces Avg CPC onto impression-billed rows.
- Open Tools > Conversions and clear Event Quality blockers. Fix missing identifiers, click references, and delayed server events before you declare oCPM underperformed. Enable automatic advanced matching on the Pixel when Help Center recommends it for matching and optimization signals.
- Brief GTM in operator language. The story is not “ChatGPT Ads abandoned clicks.” It is “conversion-optimized buying can now bill on impressions, locks at creation, and will mislead anyone who still reads the channel as CPC-only.” Marketers who ship that brief this week stop leadership from “optimizing” a reporting window and calling it a media win.
Sharp close
The bill is not the click. On oCPM the bill is the impression, the goal is still the conversion, and the Conversions column is only as honest as your windows and your Event Quality. Mid-September did not ask whether you like conversational ads. It asked whether your team can run an impression-priced conversion product without smuggling CPC habits into the readout. Create the new campaign. Lock the event. Freeze the windows. Split the totals. Then decide if the model works. Blame the model first and you will spend October debugging a scoreboard you never agreed on.




