ChatGPT Ads has no fixed price. You set a budget and a maximum bid, and an auction decides what you actually pay, per thousand impressions or per valid click. Conversion campaigns still bill per click. OpenAI publishes no average cost per click; the only reliable figure is your own cost per sale, measured product by product.
This article explains every lever OpenAI documents: how billing works, what the bid means for each objective, how budgets pace, what makes your cost move, and how to turn spend into a cost per sale and a margin you can act on. Where OpenAI publishes no number, it says so instead of guessing.
How you pay: impressions or valid clicks
The Help Center basics state that ChatGPT Ads supports impression and valid-click billing, through three objectives. The objective decides what you are billed for:
| Objective | What it optimizes | Billed on | What your bid means |
|---|---|---|---|
| Views | Ad impressions | Impressions (CPM) | Maximum cost per 1,000 impressions |
| Clicks | Traffic to your site | Valid clicks (CPC) | Maximum cost per click |
| Conversions | One tracked standard conversion event, such as a purchase | Valid clicks | Target cost per acquisition |
The third row is the one most often misread. The conversion-optimized campaign guide is explicit: you “optimize delivery toward one tracked conversion event while continuing to pay for valid clicks”, and “OpenAI charges you only when a valid click occurs, and the auction determines the actual CPC.” The ad group reference adds that for these campaigns the maximum bid is the CPA bid “even though billing uses valid clicks”. You never pay per sale; you tell the system what a sale is worth to you, and it adjusts which clicks it buys.
What OpenAI publishes about prices
Very little, and that is worth knowing before you read any “average CPC” figure online. What is documented:
- The auction sets the price. Your maximum bid is a ceiling. The conversion guide says the auction determines the actual CPC.
- A starting point for click bids. The Help Center basics suggest starting Clicks campaigns with a maximum bid of $3 to $5 per click, and Ads Manager can show bid-strength guidance on whether a bid is likely to be competitive.
- Minimum bids and budgets exist but are not listed. The bidding and budgets guide says daily minimums depend on the account currency, and that requests below the minimum return an error with the required amount. The ad group reference says the maximum bid has a minimum of 1 micro and a maximum that depends on the bidding type and the currency.
What is not published: average CPC or CPM by country, category or platform, conversion rates, or a cost per sale benchmark. Anyone quoting one is quoting their own account, not the market. Your numbers come from the cpc, cpm and cpa metrics of your own reporting.
Bid strategies: fixed bid or Maximize results
Each ad group uses one of two strategies, described in bidding and budgets:
- Fixed bid. You set and adjust the maximum bid yourself.
- Maximize results. ChatGPT Ads sets and adjusts bids to get as many clicks or conversions as possible from your budget. It is selected by default for eligible new ad groups.
The Maximize results article carries an important caveat: it “prioritizes result volume and does not guarantee delivery against a specific CPA, CPC, ROAS, or other cost-efficiency target”. In plain terms, it spends your budget to get volume. If your margin is thin, volume at any price can be the wrong goal, and a fixed bid that reflects what a click is worth to you keeps control on your side.
Bids also move with custom audiences. An ad group can apply a bid multiplier between 0.1x and 10x to matched users, per the ad group reference, which raises your price for audiences you value more.
Budgets: daily, campaign total and account limits
You choose one budget type per campaign, as described in campaign creation:
- Campaign-total budget. The total you want to spend over the whole campaign. OpenAI calls it the stricter control for total spend. In the API it pairs with fixed bidding.
- Daily budget. The average you want to spend per day over a seven-day period. It is the budget type to use with Maximize results.
The daily budget is a pacing target, not a hard daily cap. The daily budget article sets the rules:
| Rule | With a $100 daily budget |
|---|---|
| Maximum spend on one day | $200, twice the daily budget |
| Maximum spend over seven days | $700, seven times the daily budget |
| Unused budget | Can be spent later in the same seven-day period |
| Budget week | Sunday to Saturday, in the ad account’s time zone |
You cannot switch a daily budget back to a campaign-total budget through an update; you create a new campaign instead.
Above campaigns, the account settings offer spend-limit windows: a cap on total spending across all campaigns for a date range, up to 60 future windows that cannot overlap. For a store testing a new channel, an account-level cap is the simplest guarantee that a misconfigured campaign cannot run away.
How billing works in practice
ChatGPT Ads bills after delivery. The billing article describes a postpay model for self-serve accounts:
- your card is charged when unpaid spend reaches the account’s payment threshold, or at the end of the month for any remaining balance;
- OpenAI’s example is a $25 threshold, which can rise with a good payment history and cannot be changed manually;
- the threshold is a charge trigger, not a budget or an account cap;
- if a payment fails, ads may stop delivering until the payment method is fixed.
Spend in reporting can update later than impressions: OpenAI notes that spend, CPC and CPM reflect finalized activity. Read cost at the end of a day, not in the middle of it.
What makes your cost go up or down
OpenAI does not publish a formula, but it does list what the system weighs when choosing ads, and those inputs are what you control:
- Relevance. The selection weighs the conversation’s context and intent, your landing page, title, copy and context hints. An ad that matches the shopper’s need competes better than one that does not, which is the usual reason two stores pay different prices for similar traffic.
- Your bid and strategy. A low fixed bid limits delivery; Maximize results trades efficiency for volume.
- Where you advertise. Countries and platforms (iOS, Android, web) are separate auctions with their own competition. Reporting breaks results down by country, device and platform, so compare them before widening.
- Audiences. Bid multipliers on custom audiences raise the price you accept for those users.
- Product selection. In product feed campaigns, each ad group chooses which products it can advertise. Products that rarely sell keep taking clicks if they stay in the set.
From spend to cost per sale
Cost per click tells you what traffic costs. What a store needs is the cost of a sale and the margin left after it.
Cost per sale (CPA). Spend divided by attributed purchases. Ads Manager reports it as cpa, with a caveat from the reporting guide: its conversions count clicks and views together, while bidding uses click-through conversions only. Allow at least a day for conversions to appear.
ROAS. Attributed revenue divided by spend. Ads Manager reports order_created_attributed_sales and order_created_roas, based on the purchase amounts you send with your conversion events. The default click window is 30 days; the view-through window is 1 day, and can be set to 0.
Break-even ROAS. One divided by your margin rate. It is the ROAS below which ads lose money.
An illustrative example, not a benchmark: a $129 lamp with a 35% margin leaves $45.15 per sale before ads. Break-even ROAS is 1 / 0.35, about 2.86. At a $3 average CPC and a 2% conversion rate, a sale costs $150 in clicks, which is a ROAS of 0.86: the product loses about $105 per sale. At a 6% conversion rate the same CPC gives a $50 cost per sale, a ROAS of 2.58, still under break-even. The click price did not change; the conversion rate and the margin decided everything.
Two checks before trusting the numbers:
- Compare with your orders. Ads Manager counts what OpenAI attributes to its ads. Your store counts paid orders. Duplicate events inflate one side, missing server events shrink it. Pixel vs Conversions API and the tracking audit checklist cover both.
- Separate ads from organic. ChatGPT also sends unpaid traffic. Crediting organic sales to ads makes campaigns look better than they are. ChatGPT organic vs ChatGPT Ads shows how to split them.
Stop paying for products that lose money
A campaign can be profitable overall while some products lose money on every sale. Account-level ROAS hides them. Three steps find and stop them:
- Get spend per product. Reporting can be broken down by product, identified by feed ID and item ID.
- Compute net margin per product. Revenue from attributed orders, times your margin rate, minus the ad spend of that product. A product below zero is paying for its own clicks with margin from the others.
- Change the product set. In product feed campaigns, each ad group selects products through filters on brand, category, price or custom metadata. Moving losing products out of the set stops the spend without stopping the campaign. Out-of-stock products deserve the same treatment: every click on them is wasted.
Convrail does this in its Profit screen: ad spend is imported per product every day from your ChatGPT Ads account, net margin is computed from each product’s cost, and products that lose money or are advertised while out of stock are flagged at the top. One action narrows the advertised products to those that pay, and two optional daily guardrails keep ads off products that lose money and keep bids under a ceiling you set. Every change is logged.
A cost plan for your first month
| Week | Goal | Budget approach |
|---|---|---|
| Before launch | Tracking in place, feed validated | No spend; an account spend limit set |
| 1 to 2 | Learn your real CPC and conversion rate | Clicks objective, daily budget you can afford to lose, home country only |
| 3 | Find products and audiences that convert | Cut products with spend and no sales; compare countries and platforms |
| 4 | Decide on conversion optimization | Switch to the conversions objective only if purchases are tracked reliably |
The constraint behind the last row: a conversion campaign learns from the purchases you send. If tracking misses or duplicates orders, the system optimizes toward the wrong signal, as explained in ChatGPT Ads conversion optimization.
Summary
ChatGPT Ads costs what the auction says, within limits you set: a maximum bid per ad group, a budget per campaign and, if you want, a spend cap for the whole account. Billing is per impression or per valid click, after delivery. OpenAI publishes no market averages, so the number that matters is your own cost per sale, compared with your margin, product by product.
To see that number without spreadsheets, Convrail’s attribution matches every paid order to ChatGPT Ads or organic ChatGPT and shows ROAS and profit per product; the free plan and paid plans are on the pricing page. New to the channel? Start with how to advertise on ChatGPT.
Sources
- OpenAI Help Center: Ads in ChatGPT, the basics
- OpenAI Help Center: Daily budgets
- OpenAI Help Center: Maximize results bid strategy
- OpenAI Help Center: Billing and payment
- OpenAI Help Center: Create campaigns for ChatGPT Ads
- OpenAI Ads: Bidding and budgets
- OpenAI Ads: Conversion-optimized campaigns
- OpenAI Ads API reference: Ad groups
- OpenAI Ads: Account management
- OpenAI Ads: Reporting
- OpenAI Ads: Targeting
Frequently asked questions
What is the average cost per click on ChatGPT Ads?
OpenAI does not publish an average CPC. The auction sets the price you pay, below or at your maximum bid. The Help Center suggests starting Clicks campaigns with a maximum bid of $3 to $5 per click, and Ads Manager shows bid-strength guidance. Your own CPC comes from the cpc metric in reporting.
Is there a minimum budget for ChatGPT Ads?
Daily minimums exist and depend on your account currency, but OpenAI does not publish the amounts. A budget below the minimum is refused with an error that states the required amount.
Do conversion-optimized campaigns charge per sale?
No. A conversion campaign optimizes delivery toward one tracked conversion event, but you are still billed per valid click. Your bid is expressed as a target cost per acquisition.
Can a daily budget be overspent on ChatGPT Ads?
On a single day, yes, up to twice the daily budget, because the daily budget is an average over seven days. Over the seven-day period, spend will not exceed seven times the daily budget.
How do I know if ChatGPT Ads are profitable?
Divide the revenue of attributed orders by ad spend to get ROAS, then compare it with your break-even ROAS, which is one divided by your margin rate. Do it per product: a campaign can be profitable overall while some products lose money.