A ChatGPT Ads campaign does not become efficient simply because its creative looks good. Four systems sit behind the result: an audience the advertiser can use for a justified purpose, a conversion that represents actual value, reporting that separates attention from outcomes, and a budget that gives the bidding strategy a workable operating range.
This guide explains how audiences, conversions, carousels, and budgets connect in practice. It does not repeat the broad overview in the ChatGPT Ads guide for businesses in Romania. Its purpose is to examine the mechanics of an implementation that a team can test and audit. The technical details were checked against official OpenAI documentation available on September 16, 2026; account, regional, and rollout differences may still apply.
Working principle: the audience defines who is eligible, the event defines what counts, reporting shows what happened, and the budget defines the room in which the system can bid. If one definition is wrong, automation optimizes the error rather than the campaign.
Four components, one commercial decision
These components may look like four separate menus in an advertising platform. They are actually one chain. A customer list can exclude existing buyers, but it does not prove that a new visitor is valuable. A submitted form is measurable, but it may generate unsuitable enquiries. A carousel product can attract many clicks while producing weak margin. A larger budget can accelerate delivery without fixing any of those problems.
| Element | The useful question | Common mistake |
|---|---|---|
| Audience | Do we have both a lawful basis and a clear reason to include or exclude these people? | Uploading an old database merely because it exists |
| Conversion | Does the event represent business value or only an intermediate action? | Optimizing for every form submission regardless of lead quality |
| Carousel | Which product was visible, clicked, and purchased profitably? | Treating a card impression as another billable ad impression |
| Budget | Which bidding strategy is compatible with the campaign limit and duration? | Selecting the budget before defining the objective and conversion signal |
Custom audiences: inclusion, exclusion, and bid adjustments
In ChatGPT Ads, a custom audience matches advertiser-provided identifiers to eligible users. Current documentation supports email, phone number, supported SHA-256 versions of those identifiers, and Google Advertising ID. CSV files can contain multiple identifier types, and teams can add, remove, or replace members without changing the audience ID referenced by existing campaigns.
Technical support does not make every list appropriate for advertising. Before uploading anything, a company should be able to explain where the data came from, the purpose for which it was collected, what people were told, and how long retaining it remains justified. Hashing does not automatically turn personal data into anonymous data, nor does it replace the applicable legal analysis or consent mechanism.
Audience inclusion is not a bid multiplier
Inclusion limits campaign eligibility to members of the selected audience. Exclusion removes members even when they satisfy the other targeting rules. A bid multiplier, available with fixed-bid configurations, adjusts the bid for matching members while leaving other people eligible under the campaign targeting. The three mechanisms have different commercial effects.
| Use | When it can make sense | Relevant technical condition |
|---|---|---|
| Inclusion | A campaign intended only for an eligible group, such as customers who can upgrade | The audience must be ready and contain at least 25,000 matched users |
| Exclusion | Preventing acquisition ads from reaching current customers, employees, or recent buyers | The current API documentation sets no matched-user minimum for a ready exclusion audience |
| Bid multiplier | Increasing or decreasing a bid for one segment while keeping other users eligible | Requires fixed bidding and at least 25,000 matched users |
The threshold applies to matched users, not uploaded rows. A file containing 40,000 email addresses can produce far fewer matches after normalization, invalid-row removal, and comparison with eligible users. The audience has to be checked after processing; campaign planning should never assume that file size equals targetable audience size.
A healthier audience model for a business
Instead of one list called “all customers,” a company can create purpose-specific segments:
- Active customers: usually excluded from acquisition or used for a carefully defined expansion offer.
- High-value customers: useful for analysis and, when the matched size permits it, a fixed-bid adjustment.
- Unqualified enquiries: kept separate so form volume is not confused with useful demand.
- Recent abandoners: used only when the purpose, retention period, and message match the information provided to those people.
- People who must not be contacted: maintained as an exclusion list, separate from promotional databases.
Audience changes are asynchronous operations. An accepted API response does not mean that the membership has already changed. Automated workflows should retain the operation ID, idempotency key, and membership revision, then poll for the final status. This discipline prevents a repeated update or an older file from replacing a newer audience version.
Conversions: are we measuring an action or value?
A conversion is useful to the bidding system only when its definition is useful to the business. For an online store, order_created is closer to an outcome than an add-to-cart event. For a service company, lead_created confirms a form submission but does not reveal whether the enquiry belongs to the right market, contains genuine details, or represents a commercially viable project.
Before installing tracking, it helps to build an outcome ladder:
- Interaction: a page, product, or offer is viewed.
- Intent: a product is added to a cart, an appointment flow begins, or a form is opened.
- Conversion: an order, confirmed appointment, registration, or valid enquiry is completed.
- Confirmed value: payment, contract, margin, or an accepted CRM lead is recorded.
Not every step belongs in optimization. Early events can help diagnosis, but a results campaign needs an event close enough to final value and frequent enough to create a stable signal.
Measurement Pixel and Conversions API play complementary roles
The OpenAI Measurement Pixel sends browser events and automatically captures the oppref identifier from the landing-page URL. It stores the value in a first-party cookie and can reuse it as the user continues browsing. Conversions API sends server events and is valuable when confirmation happens in a backend, payment system, application, or CRM.
Using both creates more resilient measurement, but it also creates a strict requirement: the same action reported by browser and server must carry the same identifier. For deduplication, the Pixel event_id should be reused as the server-side event id, with the same Pixel ID and event name. OpenAI keeps the first event received for that matching key and ignores later duplicates.
| Source | What it captures well | What to verify |
|---|---|---|
| Measurement Pixel | On-page actions, browser journeys, and oppref | Consent, one-time firing, correct value, and correct currency |
| Conversions API | Backend, CRM, payment, or application confirmations | Authentication, normalization, event time, and permitted identifiers |
| Both | Broader coverage and confirmation at two points in the journey | The same ID for one conversion; otherwise the report can count it twice |
Campaign parameters must survive redirects, and the landing page must be tested before launch. A form that displays a success message before the server stores the enquiry can send a false conversion. A redirect that drops oppref weakens matching. An event that fires on every refresh can inflate performance without producing another customer. Our guide to optimizing a website for advertising campaigns also covers speed, message clarity, and conversion paths.

Carousels: the difference between an ad, a card, and a product
Product-feed campaigns can display several items inside one advertising unit. This creates three reporting levels that should not be mixed: the ad, the card, and the product. An ad impression describes delivery of the advertising unit. A card impression is recorded when a particular product becomes visible in the carousel. A product-card click measures engagement with that item and is distinct from the general ad-click metric.
One billable ad impression can contain several visible product cards. Card impressions should therefore not be added to ad impressions, and they do not represent separate charges. They are diagnostic signals that reveal which part of a catalog actually reached the user's view.
How to read the data without choosing a false winner
A product shown frequently in the first position may collect more card impressions than one at the end. A visually compelling item can attract clicks while converting poorly. A product that generates many orders can still have low margin or high return rates. Useful reporting combines platform data with the product feed and commercial outcomes.
| Signal | What it can indicate | What it cannot prove on its own |
|---|---|---|
| Card impressions | The item became visible inside a multi-product unit | That the user considered it or that the card created another billable impression |
| Card clicks | The item attracted direct engagement | That the item generated the purchase or profit |
| Product CTR | The relationship between visibility and interest | Landing-page quality, stock, margin, or return rate |
| Conversions and value | Attributed commercial contribution | True profit unless costs, discounts, and returns are included |
Insights can segment results by product using the feed ID together with the item ID. Titles help people recognize products, but the ID pair is the reliable connection to source data. Reporting can also include configured products with zero impressions, which helps identify rejected, unavailable, or simply undelivered catalog items.
Daily budgets, lifetime budgets, and bidding strategy
The Advertiser API documentation defines two campaign-level budget types: a daily spending limit and a lifetime spending limit. A campaign uses exactly one. Its budget controls spend across the campaign's ad groups, while an ad-account spend limit operates independently. A campaign can still have budget available and fail to deliver because the account limit is exhausted, an ad is under review, targeting is too restrictive, or eligible inventory is limited.
The budget choice is not merely an accounting preference. In the API configuration documented on September 16, 2026, the Maximize Results strategies for clicks and conversions require a daily campaign budget and click billing. A lifetime budget is compatible with fixed bidding. Custom-audience bid multipliers also belong to fixed bidding and cannot be combined with maximize_clicks or maximize_conversions.
| Scenario | Configuration worth evaluating | Reason |
|---|---|---|
| Ongoing test optimized for conversions | Daily budget + maximize_conversions + one active standard event | The system can adjust bids toward the selected event within the daily limit |
| Fixed-date campaign with a strict total cap | Lifetime budget + fixed bidding | The total ceiling is explicit and the bid remains controlled |
| Important audience that deserves a different bid | Fixed bidding + audience multiplier, when the size requirement is met | The bid changes for the segment without limiting all campaign eligibility to it |
| Separate control for two business lines | Separate campaigns with separate budgets | Budgets are set at campaign level and shared across their ad groups |
Changing budget type should be treated as a structural change. The API supports moving a campaign from a lifetime budget to a daily budget, but not switching it back through a routine campaign update; a new campaign may be necessary to restore a lifetime limit. Before any change, retrieve the current objective, budget, bidding configuration, bids, and multipliers, then verify the saved response.
A practical example for a service company
Imagine a B2B company promoting a service with a monthly media allowance of EUR 3,000. The weakest setup would upload every contact ever collected, optimize for any form submission, and count all enquiries as equal.
A healthier implementation would look like this:
- Audiences: active customers are excluded from acquisition; older leads are used only when provenance and purpose permit it; undersized lists are not forced into inclusion.
- Conversions: the Pixel measures the form action and the server confirms that the record was stored. One shared ID deduplicates the events. The CRM separately marks accepted enquiries.
- Budget: the test begins with a daily limit and one conversion event rather than dividing the amount among too many campaigns that cannot accumulate enough signal.
- Evaluation: cost per form is compared with accepted-lead rate and opportunity value, not just raw conversion count.
For a retailer, the card and product layer is added: visibility, click, order, revenue, margin, and returns. The product with the best CTR does not automatically receive more budget; it first receives a commercial review.
Five mistakes that make the report look better than the business
- The same event is sent twice. Pixel and server use different IDs, so one purchase appears as two conversions.
- The conversion happens too early in the journey. Opening a form or starting checkout is treated as the final result even though abandonment remains high.
- The audience is judged by uploaded rows. The team plans targeting from file size without checking the matched count after processing.
- A card click is treated as a sale. A visually attractive product gets priority even though it produces little margin or many returns.
- Budget is raised to fix delivery. The actual cause may be a low fixed bid, incompatible targeting, an unapproved ad, an account limit, or a broken feed.
What a team should be able to verify before scaling
Before a campaign receives more budget, the team should reconcile a small set of numbers: platform conversions, unique server events, CRM or store outcomes, and media spend. Some differences are normal because of attribution windows and reporting time, but they must be explained rather than ignored.
It is equally important to separate control metrics from commercial metrics. Impressions, clicks, and visible product cards describe delivery. Accepted leads, paid orders, margin, and retention describe the business. The first group helps optimize the campaign; the second decides whether the investment should continue.
For companies that do not want to turn technical documentation into an internal project, Web Hat's Romanian ChatGPT Ads campaign service can cover setup, measurement, and test management. Media spend remains separate, and any scaling decision should follow a review of result quality.
Official sources checked
- OpenAI – Ads documentation overview
- OpenAI – targeting and custom audiences
- OpenAI – Measurement Pixel,
oppref, and deduplication - OpenAI – Conversions API
- OpenAI – reporting, products, carousels, and attribution
- OpenAI – bidding and budgets
Documentation checked on September 16, 2026. Ads Manager interfaces and account-level availability can change; always verify the actual account configuration before launch or modification.