ChatGPT Ads Manager: account setup and first campaign from Bulgaria
OpenAI Ads Manager (ads.openai.com) is the platform where campaigns for advertising in ChatGPT are created, launched and managed, and from 2026 Bulgaria is on the list of countries with self-serve access. Setup takes five steps: registering with an OpenAI account using a business email, filling in the business and account details (name, website, logo, industry, country, currency, time zone), verification through Persona and a manual review by OpenAI, a payment profile and card, and inviting the team. The country, currency and time zone cannot be changed after creation, and each advertiser has a separate account with a separate email. A campaign has three levels — campaign (objective, budget, dates, countries), ad group (topic and context hints) and ad (headline, description, visual, page) — and it is submitted for review before it goes live. The landing page must be accessible to the OAI-AdsBot and OAI-SearchBot crawlers. Below is the whole path from registration to the first data.
I am Hristiyan Panov — a Performance Marketing consultant with over 5 years of experience and over €2,000,000 in managed ad budget for more than 90 companies on Google and Meta. Below is the Ads Manager setup step by step, following OpenAI’s official documentation, with the pitfalls that are specific to a Bulgarian business.
How do you create an account in OpenAI Ads Manager?
Registration is at ads.openai.com with an OpenAI account linked to a business email; if you do not have one, it is created in the process. Use an address on the business’s domain, not a personal one — the account stays tied to that email. OpenAI recommends one account owner for each business, who then invites the others. You enter the business details — name, website, logo, industry — and the account details: country, currency, time zone. The name is entered exactly as written legally, and the website is the domain the ads lead to.
Verification through Persona follows, with a few additional questions, and the request enters a queue for manual review. During the review OpenAI assesses whether the products and services are eligible under the advertising policies, so the industry and the website are read together: website categories outside the stated industry are also included in the review. Access is confirmed by email; because of the large volume of requests, the review can take time and OpenAI does not expedite individual requests. The waiting time is used to prepare the logo, the payment profile and the crawlers’ access to the page.
Which settings cannot be changed later?
The country, billing currency and time zone are locked when the account is created. They affect billing, reporting and eligibility, so for a Bulgarian business the choice is Bulgaria, euro and Europe/Sofia — unless the business is billed from another jurisdiction. The time zone determines when the reporting day ends and on which day the daily budget is allocated; if it differs from the time zone of GA4 or of the shop platform, the daily rows in the two reports will not match and every comparison carries an artificial difference.
The currency determines what spend, cost per click and cost per result are reported in — with a currency different from the one used in accounting, every reconciliation goes through an exchange rate. The payment method must match the country and legal entity from the registration; a card from another country may not be accepted. In case of a mistake, a new account is created with a different email, because one email can create only one advertiser account. Duplicate requests do not speed up the review and create confusion. That is why these settings are confirmed before submitting, not on the fly.
What needs to be ready before the first campaign?
Four things. First, in Settings → Account info, the account name and logo must be exactly as they will appear in the ad — without this step the ads cannot go live. Second, a payment profile (business name, address, email for invoices) and a card; when it is added, the bank may show a temporary authorisation of 100 USD, which is released after verification. Third, the landing page must return a successful response to OAI-AdsBot — if a firewall, CDN or anti-bot check blocks it, the ad review fails. Fourth, tracking: a data source, the OpenAI Pixel and, where possible, the Conversions API, if the objective will be conversions. In detail: ChatGPT Ads conversion tracking.
How do you create a campaign?
A campaign contains a title, an objective, a conversion event (for the Conversions objective), a budget, start and end dates, countries and, optionally, platforms (iOS, Android, web) and custom audiences to include or exclude. There are three objectives: CPM for reach, CPC for traffic and oCPC for optimising towards a conversion while paying per click. The objective cannot be changed after creation — changing it means a new campaign, not an edit, so each objective lives in a separate campaign from the very start.
The budget is daily (a seven-day average) or total for the campaign; OpenAI recommends that new advertisers start with a daily budget in order to monitor delivery. The seven-day average means that spend on an individual day may exceed the set figure while the week evens out — daily fluctuations are not in themselves a reason to intervene. The minimum daily budget depends on the currency and is shown at creation. The oCPC objective only makes sense when the conversion event is already being recorded regularly; with a rare event, the optimisation is left without enough signal.
How do you create ad groups and hints?
Each ad group has a title and context hints — descriptions of what the product offers, who it helps and when it is useful. The group must be focused on one product category, topic or intent; meaningfully different products or use cases go into separate groups. The test for splitting is short: if two hints require a different headline or a different landing page, they are two groups. The group title is written by intent, not by internal code — the report is read that way.
The bid is also set at group level: a maximum cost per click or per 1,000 impressions, or the Maximize results strategy, which is selected by default for new groups and adjusts bids automatically within the budget. A manual bid gives a ceiling and predictability, an automatic one gives delivery — the choice depends on whether you need control over price or a volume of data. With custom audiences, a bid multiplier from 0.1× to 10× can be added: below one lowers the bid for the audience, above one raises it.
How do you create the ads?
An ad contains a headline (16–24 characters recommended, 50 maximum), a description (32–48 characters, 100 maximum), a square visual up to 1200×1200 px and a landing page URL to which UTM parameters can be added. OpenAI recommends many different variants for each offer, a clear and specific statement of the benefit, a description that complements the headline, and a page that is the most relevant destination — a product, category or content page, not the home page. There is also an “Add new ad” function that fills in a draft from the website’s metadata without AI generation. For online shops there are campaigns based on a product feed: the feed is uploaded as a CSV/TXT file, a hosted link or SFTP, products expire after two weeks without an update, and the ad is built from a template on a filtered set of products.
What happens after submitting for review?
Every campaign is submitted for review. In Ads Manager the status shows whether the ad is being served; for “Not serving”, the reason is visible when you hover over the status. The most common reasons are incomplete verification, unfinished billing setup, budget reached, an expired end date, a failed payment or rejection under the policies. The status is read at all three levels — campaign, group and ad — because an active campaign can contain a group or ad that is not being served for its own reason, which the overall view does not show.
After a change, the campaign may continue to be served for up to 24 hours, and the costs reported for that period remain payable. Two things follow from this. First, stopping is not instant: if the cause is an error on the page or in the offer, fixing the page itself works faster than pausing. Second, changes are not read by the hour. Conversions enter the report with a 24–48 hour delay, so yesterday always looks weaker than it will turn out to be, and comparisons are made between closed periods, not between today and yesterday.
What does the report show and how do you read the first week?
The report gives impressions, clicks, spend, CTR, average cost per click, average CPM and conversions by campaign, group and ad, in tables, charts and CSV. The first week is read for delivery only: are there impressions in every group, are people clicking, what does a click cost. The second and third weeks are for traffic quality through GA4: does the visitor stay, do they reach a product page, do they start checkout. This requires UTM tags that separate campaign, group and ad, otherwise all the traffic goes into one row and the groups cannot be compared with each other. The fourth week is read for results.
Changes to bids, budgets and texts before there is sufficient volume are premature; groups without impressions get a broader hint or a higher bid, and groups with impressions but no engagement get a more precise hint. The CSV export is used to reconcile by day and by group with the data in GA4 and in the shop platform. A discrepancy between the three sources is expected because of the different reporting windows; what matters is that the direction matches, not that the numbers are identical.
FAQ — Frequently asked questions about setting up ChatGPT Ads Manager
Can I manage several clients from one account?
Each advertiser requires a separate account, created with a separate email. After that, one user can be invited as a member or administrator to several accounts and switch between them.
How long does account approval take?
OpenAI does not state a time frame. Requests are reviewed in a queue and are not expedited; a duplicate request does not help.
Can campaigns be uploaded in bulk?
Yes. Ads Manager supports bulk upload using a template with three tabs — campaigns, ad groups, ads — up to 5,000 objects per tab, with hints in JSON format and publicly accessible URLs for the visuals.
Why was my ad rejected?
Most often because of a policy mismatch, misleading claims, an inaccessible landing page or a blocked OAI-AdsBot crawler. The reason is visible in the status; after it is fixed, the ad is resubmitted.
Is there an API?
The account settings have a section for API keys. The documentation for programmatic access is separate from Ads Manager and is still evolving.
Conclusion
Setting up OpenAI Ads Manager is close to what you know from Google and Meta, with three specifics: country, currency and time zone are locked, every advertiser is manually reviewed against the policies, and the page must be accessible to OpenAI’s crawlers. The order is account, verification, logo and name, billing, tracking, and only then a campaign. The first week is read for delivery only; decisions are made after 30 days, based on cost per result.
Request a quote for ChatGPT ads →
Related articles: Advertising in ChatGPT: how it works · Who can advertise in ChatGPT · Who owns the ad account
Sources: OpenAI Help Center — Account Setup · OpenAI Help Center — Quickstart · OpenAI Help Center — Ads Manager Availability · OpenAI Help Center — Product Feeds


