What changed
- Screenshots refreshed from a live account. The promotion card reads "Spend $500 by Sep 27 and receive $500 in credit."
- Self-serve opened in India, Europe, the Middle East and North Africa. OpenAI reported a $1B annualized run rate.
- Product carousels, oCPC beta, URL macros, Automatic Advanced Matching on by default.
- Self-serve Ads Manager Beta launched: no minimum spend, CPC bidding, Pixel and Conversions API.
What OpenAI Ads Manager is (and the three ways to buy ChatGPT ads)
OpenAI Ads Manager is the web platform at ads.openai.com where advertisers create, launch and measure ads inside ChatGPT. Written as open AI ads manager or looked for as the ChatGPT ads platform, it is the same product. It is self-serve, labelled Beta, and one of three ways to buy: direct, through the OpenAI Ads Solutions team, or through agency and technology partners.
Every ChatGPT ad campaign is built here, in three levels: a campaign (objective, budget, dates, countries, platforms), an ad group (bid strategy and context hints) and an ad (title, copy, image, landing page). For the wider picture, start with the complete guide to ChatGPT ads.
- Self-serve. Sign up, verify, add a card, launch. No minimum beyond the daily budget floor.
- OpenAI Ads Solutions team. For larger advertisers, via the interest form on ads.openai.com.
- Agency and technology partners. Dentsu, Omnicom, Publicis, WPP; Adobe, Criteo, Kargo, Pacvue, StackAdapt.
The Beta label is real: OpenAI's FAQ says "ChatGPT Ads is currently in beta and in the early stages of scaling."
Is OpenAI Ads Manager available in my country?
Self-serve Ads Manager is open in more than 50 countries as of September 13, 2026, including the United States, Canada, the United Kingdom, most of Europe, India, Japan, Korea, Brazil, Mexico, Australia and New Zealand. The legal entity that advertises and is billed must be based in a listed country.
OpenAI keeps the list in its availability article. Anyone can create an account, but campaigns only run for entities in a listed country.
| Region | Self-serve countries |
|---|---|
| North America | Canada, Mexico, United States |
| South America | Brazil |
| Asia Pacific | Australia, India, Japan, Korea, New Zealand |
| Europe | Austria, Belgium, Bulgaria, Croatia, Cyprus, Czech Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Iceland, Ireland, Italy, Latvia, Liechtenstein, Lithuania, Luxembourg, Malta, Netherlands, Norway, Poland, Portugal, Romania, Slovakia, Slovenia, Spain, Sweden, Switzerland, United Kingdom |
| Middle East and North Africa | Algeria, Bahrain, Egypt, Iraq, Jordan, Kuwait, Lebanon, Morocco, Oman, Qatar, Tunisia |
The legal-entity rule. The company that advertises and gets billed must be based in a listed country. Country, currency and time zone are fixed at account creation, and agencies cannot open accounts on behalf of clients.
The list lags announcements: the day after the European launch, an r/PPC poster reported Ads Manager still saying it was not available for their country (r/PPC, August 25, 2026).
Step 1: Create and verify your account
Sign up with an OpenAI account tied to your work email, complete Persona verification, fill in account information and billing, then invite your team. Campaigns will not deliver until every required step is complete.
OpenAI's setup article lists five stages, verbatim:
- Access Ads Manager Beta and create account
- Complete onboarding and verification
- Fill in account information
- Set up billing and payment
- Invite team members
Sign up, verify through Persona, and complete account info
Go to ads.openai.com/auth/signup with an OpenAI account tied to your work email. Onboarding asks for business name, website, logo, industry, country, currency and time zone; verification runs through Persona and is reviewed against the Ad Policies. Then complete "Account name" and "Logo" under Settings, or campaigns will not launch.
Settings > General: account info, verification, locked country, currency and time zone, API keys. Set up billing and payment
Billing > Overview asks for a billing profile and a credit card. ChatGPT Ads is postpay: you are charged after delivery once unpaid spend reaches a threshold assigned to the account (OpenAI's example is $25). The promotion card in the account reads "Spend $500 by Sep 27 and receive $500 in credit."
Billing > Overview before a profile exists. Nothing serves until this is done.
Invite your team from Settings > Users. Five roles: Global admin (tenant identity, can create ad accounts), Ads admin (creates ad accounts), Ad account admin (one account and its users; at least one must remain), Ad account member (edits campaigns) and Ad account viewer (read-only).
Step 2: Create the campaign
A campaign holds the type (Standard or Product feed), the objective (Views, Clicks or Conversions), the budget, the dates, the countries and the platforms. Objective and budget type are locked after creation.
Open Create > Create campaign
The Create menu offers Create campaign, Create ad group, Create ad and Upload bulk. Bulk upload is covered below.
The Create menu: campaign, ad group, ad, or Upload bulk. Name it and pick Standard or Product feed
Standard is the chat card. Product feed builds ads from a catalog uploaded under Tools > Feeds (CSV or TXT, hosted URL, or SFTP; items expire after 14 days).
Campaign type: Standard (chat card) or Product feed (catalog-driven). Choose the objective
The UI offers Reach (CPM), Clicks (CPC) and Conversions (oCPC or oCPM, optimized toward one standard event you pick here). Rename note: OpenAI's newer docs and the bulk schema call the CPM objective "Views"; older articles and the UI still say "Reach". Same objective.
Objective: Reach (Views, CPM), Clicks (CPC), Conversions (oCPC or oCPM). Set the budget and schedule
Pick a daily or campaign-total budget; the choice is locked. The form defaults to $100 per day and prints the caps inline: at most twice the daily budget in a day and seven times it in a week. The US minimum is $25 per day; EUR and GBP 15, CAD, AUD and NZD 25, INR 725, JPY 2,500, KRW 25,000.
Budget and schedule. The 2x daily and 7x weekly caps are printed under the field. Target locations and platforms
Include locations, exclude locations, and pick eligible platforms: Android app, Android web, Desktop web, iOS app, iOS web. Targeting is country-level; the United States adds states, DMAs and ZIP codes.
Targeting: include and exclude locations, then eligible platforms.
Advanced settings hold tracking parameters with the macros {campaign_id}, {ad_group_id}, {ad_id}, {ad_account_id} and {oppref}, and custom-audience include and exclude lists.

Step 3: Build the ad group, bid, and context hints
An ad group carries the bid strategy, the maximum bid, and the context hints: free-text descriptions of the conversations your ad belongs in. Context hints are not keywords and do not guarantee placement.
Set the bid strategy and write context hints
Maximize results is the default for eligible new ad groups: OpenAI sets bids toward your objective within budget. Manual: Max bid takes a maximum CPC (Clicks) or CPM (Reach). OpenAI's only published guidance is to start CPC at $3 to $5 per click. Below the bid sits the context hints box: short lines on what the product does, who it helps and when it is useful, up to 2,000 per ad group.
Ad group: Maximize results or Manual: Max bid, then the context hints box. Optionally attach a custom audience bid multiplier
Audiences uploaded under Tools > Audiences (raw or hashed emails and phones) can be attached with a bid multiplier from 0.1x to 10x. Inclusion needs at least 25,000 matched users; exclusion has no minimum.
Tools > Audiences, empty. 25,000 matched users for inclusion.
How to write context hints. OpenAI's ad group article says they "are not exact-match controls, audience targeting rules, or instructions to show your ad only for specific conversations."
| Weak hint | Strong hint |
|---|---|
| running shoes | cushioned everyday running shoes for beginners training for their first 5K |
| CRM software, sales tool, best CRM, CRM pricing | a small sales team choosing its first CRM after outgrowing a spreadsheet |
Step 4: Write the ads
A ChatGPT ad is a title of up to 50 characters, copy of up to 100, one square PNG or JPG no larger than 1200 x 1200, and a landing page. There is no CTA picker; the card shows your brand name and favicon with an "Ad" label.
Check the Text customization toggle
In the campaign's Advanced settings sits a Text customization toggle, on by default. Its helper copy: "AI automatically generates personalized and translated versions of your ad's headlines and descriptions, which may be shown without your individual review or approval." Turn it off if brand or legal review needs every variant.
Advanced settings: tracking macros, audiences, and Text customization (on by default). Write the title, description and link
The editor has a title counter out of 50, a description out of 100, the link and tracking parameters. OpenAI recommends 16 to 24 characters for the title and 32 to 48 for the copy. Front-load the title: the preview truncates at about 35 characters, as an r/PPC advertiser showed in the May beta walkthrough.
The ad editor: title (x/50), description (x/100), link, tracking parameters. Upload the image and check the preview
One square PNG or JPG, no larger than 1200 x 1200; OpenAI publishes no minimum. The preview renders the card as ChatGPT shows it: favicon, brand name, "Ad" label, title, copy, image. For hundreds of real cards, browse the ChatGPT ads library.
Image upload and the live preview card with favicon and "Ad" label.
Step 5: Set up measurement (pixel, Conversions API, partners)
Measurement runs on the OpenAI Pixel, the Conversions API, or both, keyed to a Pixel ID created under Tools > Conversions. The click reference is a URL parameter called oppref; deduplicate pixel and server events with a shared event ID.
Open Tools > Conversions
Three tabs: Data Source, Conversion Events and Event Stream. Each data source carries an EQS column (event quality score).
Tools > Conversions: Data Source, Conversion Events, Event Stream, with the EQS column. Create a data source and install the pixel
Create data source no longer asks for Web, iOS or Android; it issues a Pixel ID, shows a four-step checklist and notes that Automatic Advanced Matching is on. The pixel is a small script in<head>: an async loader that pullshttps://bzrcdn.openai.com/sdk/oaiq.min.js, defines a globaloaiqqueue, then callsoaiq("init", { pixelId: "<YOUR-PIXEL-ID>" }).
Create data source: a Pixel ID, a four-step checklist, and the Automatic Advanced Matching note.
oppref and the Conversions API. Every click appends oppref (the OpenAI click reference) to the landing URL; the pixel stores it in a first-party __oppref cookie, and server-side senders must persist it. The API takes up to 1,000 events per batch at https://bzr.openai.com/v1/events?pid=<PIXEL-ID> with a Bearer key from Settings > API Keys. The standard events:
page_viewed,contents_viewed,items_added,checkout_started,order_createdlead_created,registration_completed,appointment_scheduled,subscription_created,trial_startedcustom, plusapp_installedandapp_opened(Conversions API only)
Dedupe and AAM. When pixel and API both report an action, reuse the same event ID and OpenAI counts it once. Automatic Advanced Matching detects customer data in forms and SHA-256 hashes it in the browser; raw data is never sent.
Partners. Mobile measurement: AppsFlyer and Adjust. Web and offline: Fospha, Hightouch, LiveRamp, Triple Whale and WorkMagic.
Step 6: Launch, review, and fix "Not serving"
Set the campaign, ad group and ads to Active, wait for review, and check the Ads tab for a Serving status. If an ad says "Not serving", hover over it for the reason; the usual causes are billing, missing creatives, a rejection, a bid above the budget, or an unlisted country.
Set everything to Active and check the Ads tab
Launch by setting status to Active at each level. The Ads tab shows thumbnail, name and status; ads read "Serving" once review passes.
The Ads tab: thumbnail, name, status. Hover a "Not serving" ad to see why. Read the "Not serving" reason and fix it
The Campaigns list shows a "Not serving" state and, in this account, a banner saying billing is not set up.
Campaigns list with a "Not serving" campaign and the billing banner.
| "Not serving" reason | Fix |
|---|---|
| Billing not set up | Create the billing profile and add a valid card. |
| Verification incomplete | Finish Persona verification; complete Account name and Logo. |
| No active creatives | Add at least one ad and set every level to Active. |
| Ad disapproved | Hover for the code. Usual causes: a policy conflict, or a landing page that blocks OAI-AdsBot. |
| Daily budget below the effective bid | Raise the budget above the ad-group bid, or lower the bid. |
| Outside the dates, or budget exhausted | Check start and end dates and the total budget. |
| Country not available | The account entity and the targeted countries must be ones ChatGPT Ads serves. |
If none of that resolves it, email [email protected] with the account name, campaign name and ad details.
Reporting: what you get and what you do not
Ads Manager reports impressions, clicks, spend, CTR, average CPC, average CPM and conversions at campaign, ad group and ad level, with device and country breakdowns and CSV export. Data lags delivery by up to seven hours, conversions by 24 to 48 hours, and there is no prompt-level reporting.
The table view carries every metric; the chart view plots trends; CSV export offers the current table, selected rows, or daily values.

- Latency. OpenAI states up to seven hours between delivery and reporting. Attributed conversions take 24 to 48 hours.
- Attribution windows. The click window is configurable per event and defaults to 30 days. View-through is fixed at one day, reported separately as VTA 1d.
- No prompt-level data. You never see which prompt or conversation triggered an impression, and there is no hint-level report. The only slices are ad, device and country.
Bulk upload and the Ads API
Bulk upload takes a three-tab spreadsheet (campaigns, ad groups, ads) with up to 5,000 rows per tab and only the Views or Clicks objectives. The Ads API at api.ads.openai.com/v1 covers campaigns, ad groups, ads, insights and conversions, with one API key per ad account.
Bulk upload. Create > Upload bulk accepts OpenAI's schema template. The rules:
- Maximum 5,000 campaigns, 5,000 ad groups and 5,000 ads per upload, and the same cap per ad account.
- Objective limited to Views or Clicks; Conversions campaigns must use the guided flow.
- Dates in YYYY-MM-DD; country as JSON; context hints as a JSON array such as
["hint1", "hint2"]. - Tab names stay campaigns, ad groups, ads; no renamed headers or merged cells.
The Ads API. Documented at developers.openai.com/ads, base URL https://api.ads.openai.com/v1. Keys are created in Settings > API Keys and each is scoped to one ad account; GET /ad_account verifies it. Endpoints cover campaigns, ad groups, ads, uploads, conversions setup and insights.
What OpenAI Ads Manager still lacks vs Google Ads and Meta
As of September 2026 there is no video, no CTA button picker, no dayparting, no frequency caps, no agency multi-account structure, no keyword or demographic targeting and no prompt-level reporting. Some of it is in press-reported tests; none of it is in the product.
| Capability | Google Ads / Meta | OpenAI Ads Manager (Sep 2026) |
|---|---|---|
| Video ads | YouTube, Reels, in-stream | None. Only chat_card and product_ad_template exist. |
| CTA buttons | Selectable per ad | No picker. In early test per Digiday (May 21, 2026). |
| Dayparting / ad schedule | Yes | No. Start and end dates only. |
| Frequency caps | Yes | No. |
| Agency multi-account | MCC / Business Manager | No. Each advertiser owns its account and invites the agency. |
| App data sources | Native app events | Only via AppsFlyer, Adjust or the Conversions API. |
| Keyword targeting | Yes | No. Free-text context hints, not exact match. |
| Demographics and interests | Yes | No. |
| Prompt-level reporting | Search terms and placement reports | No. No prompt or hint-level data. |
Without dayparting or frequency caps, budget is the only pacing lever. Without keywords, context hints and ad copy do the matching.
Frequently asked questions
Is the OpenAI Ads Manager beta still open, and is there a waitlist?
It is open and there is no waitlist. OpenAI Ads Manager beta went self-serve during 2026 and now accepts sign-ups in more than 50 countries; OpenAI still marks the product Beta in the interface. Searches for open AI ads manager, the ChatGPT ads platform and the OpenAI ads platform all land on the same product at ads.openai.com. A separate Ads API exists for advertisers who would rather build against the ChatGPT advertising platform directly.
Is OpenAI Ads Manager free to use?
Yes. There is no platform fee or subscription. You pay only for delivery, billed postpay once unpaid spend reaches the threshold OpenAI assigns to your account. New advertisers also see a promotion in the account: spend $500 by September 27 and receive $500 in credit.
Is there a minimum spend for OpenAI Ads Manager?
No account-level minimum. The only floor is the minimum daily campaign budget: $25 in the United States, 15 in EUR and GBP, 25 in CAD, AUD and NZD, 725 INR, 2,500 JPY, 25,000 KRW. The $200,000 launch minimum was for the managed pilot only.
Can an agency run OpenAI Ads Manager for me?
Yes, but the account must be yours. OpenAI does not support agencies creating accounts on behalf of clients, and there is no multi-account layer like Google MCC. Your business creates and verifies the account, then invites the agency as ad account admins, members or viewers.
Where is the OpenAI Ads Manager login?
The login page is ads.openai.com/auth/login and new accounts start at ads.openai.com/auth/signup. The older openai.com/advertisers address redirects to ads.openai.com. Sign in with the OpenAI account tied to your work email; if the ad account is missing, ask your admin for a role.
Is there a ChatGPT plugin or app for Ads Manager?
Unverified. Google has shown a chatgpt.com connector listing titled "ChatGPT Ads Manager" for the head keyword, but OpenAI has not announced or documented an Ads Manager app, plugin or connector inside ChatGPT. Treat that listing as unconfirmed. The documented programmatic route is the Ads API.
Why does Ads Manager say Reach instead of Views?
Rename lag. OpenAI renamed the CPM objective from Reach to Views; its newest docs and the bulk-upload schema say Views, while the live campaign form and older articles still say Reach. Same objective: you pay per 1,000 impressions. Clicks (CPC) and Conversions (oCPC or oCPM) are the other two.
Why is my ad not serving?
Hover the ad in the Ads tab to read the reason. Documented causes: billing not set up, incomplete verification, no active creatives, a disapproved ad or a landing page that blocks OAI-AdsBot, a daily budget below the ad-group bid, a campaign outside its dates, and an unavailable country.
Does OpenAI Ads Manager have an API?
Yes. The Ads API lives at api.ads.openai.com/v1, documented at developers.openai.com/ads, with endpoints for the ad account, campaigns, ad groups, ads, uploads, conversions setup and insights. Keys are created under Settings > API Keys and each is scoped to a single ad account.
How do I get the $500 ChatGPT ads credit?
The ads.openai.com homepage advertises $500 in ad credit when you spend $500, and inside the account the promotion card reads "Spend $500 by Sep 27 and receive $500 in credit." Complete billing and spend $500 before the deadline; it is per account, so read your own card.
Can I change the account country, currency or time zone later?
No. Country, currency and time zone are fixed when the account is created; they determine billing, reporting and which markets you are eligible for. If you picked wrong, create a new advertiser account. OpenAI allows multiple advertiser accounts per company.
Set it up once, then let Sprites run it
Sprites runs, measures and optimizes your campaigns across ChatGPT, Google and Meta from one place. Book a demo and we will walk through it on your accounts.