Paid Media Guide

ChatGPT Ads Account Management in 2026: Branding, Reviews, Spend Limits and Account States

The account layer is small, mostly permanent, and able to stop every campaign at once. These are the first-hour questions for any new advertiser: what name appears on the ads, why nothing is serving, and how to cap what a launch can spend.

Distk Editorial Oct 2026 11 min read

A ChatGPT Ads account owns campaigns, creative, feeds, audiences and conversion sources, and its brand name and icon identify the advertiser in ads. Currency and timezone are creation-time choices that cannot be edited later. There are three names: legal_name, account_name shown internally in Ads Manager, and brand_name shown publicly in ads. Changing the legal or public brand name pauses ad delivery until the account passes review. Configured status and reviews are separate, so an active account with approved branding can still be blocked by an account-integrity review, an exhausted spend limit or campaign issues, and an omitted review object is neither approval nor rejection. Spend can be capped by date-range windows, which cannot overlap and allow up to 60 scheduled, and since 9 September 2026 by daily limits for postpaid invoice accounts. Account limits and campaign budgets apply independently, so raising a campaign budget never overrides an exhausted account limit. On a 503 when changing a daily limit, refresh before retrying because the change may already have succeeded.

What Does a ChatGPT Ads Account Control in 2026?

An ad account owns campaigns, creative assets, feeds, audiences and conversion sources, and its brand name and advertiser icon identify the advertiser in ads. It is also where account-wide spending controls live. Everything in the Ads API guide sits underneath it, so a problem at account level stops every campaign at once.

These are the first-hour questions for any advertiser new to the platform: what name appears on the ads, why delivery has not started despite everything looking active, and how to stop a launch spending more than the client approved. OpenAI's documentation answers all three, and the answers are more specific than most platforms provide.

Account areaWhat it controlsEditable later?
Currency and timezoneHow every budget and date is interpretedNo. Creation-time choices, not editable through the branding update
BrandingThe public name and icon shown on adsYes, but name changes pause delivery until review
StatusWhether the account is configured active or pausedYes, through pause and activate
ReviewsBrand review and a separate account-integrity reviewNot directly; they are outcomes
Spend limitsAccount-wide caps by date window or by dayYes, subject to edit rules

Why Does an Account Have Three Different Names?

Because they serve three audiences. OpenAI documents legal_name for the legal business name, account_name for the internal name shown in Ads Manager, and brand_name for the public advertiser name shown in ads. The response also includes name, which matches legal_name.

FieldPurposeWho sees it
legal_nameLegal business nameReview and billing context
account_nameInternal name shown in Ads ManagerYour team and your agency
brand_namePublic advertiser name shown in adsPeople seeing the ad in ChatGPT

For agencies the separation is useful. account_name can follow your internal client naming convention without affecting anything public. You can update the three names independently, and omitted names remain unchanged. One trap: the legacy name field sets all three to the same value, and OpenAI says not to combine it with the individual name fields.

How Do You Set Advertiser Branding in 2026?

Upload an icon, then apply the brand name, website and icon in one request. The icon must be JPEG, PNG or WebP at a minimum of 256 by 256 pixels, uploaded with purpose=account_favicon.

curl -X POST "https://api.ads.openai.com/v1/upload"   -H "Authorization: Bearer ${OPENAI_ADS_API_KEY}"   -F "file=@/path/to/favicon.png"   -F "purpose=account_favicon"
curl -X POST "https://api.ads.openai.com/v1/ad_account/brand"   -H "Authorization: Bearer ${OPENAI_ADS_API_KEY}"   -H "Content-Type: application/json"   -d '{
    "brand_name": "Acme",
    "url": "https://example.com",
    "favicon_file_id": "file_123"
  }'
The branding change that stops your ads in 2026

OpenAI states that changing the legal or public brand name pauses ad delivery until the account passes review. A rebrand, a typo correction or a client asking for a different display name mid-campaign all stop every ad in the account. Get the public name right before launch, and schedule any later change for a moment when a delivery pause is acceptable.

After any branding update, retrieve the account again and check its review state. OpenAI also notes that the returned preview_url is a preview of the advertiser icon and not a permanent asset URL, so do not store it as the durable source for that image.

Why Can an Active Account Still Not Deliver?

Because configured status and reviews are separate, and approved branding is only one requirement among several. OpenAI is explicit that an active account with approved branding can still have another outstanding account review, an exhausted spend limit, or campaign-level delivery issues. This is the single most common source of "everything is green but nothing is serving" confusion on a new account.

curl -G "https://api.ads.openai.com/v1/ad_account"   -H "Authorization: Bearer ${OPENAI_ADS_API_KEY}"
FieldWhat it tells you
statusWhether the account is configured as active or paused
review.statusBrand-review state
review.reasonReason for a brand-review issue, when available
account_integrity_review.review.statusA separate account-review state, when the object is returned

One interpretation rule matters. OpenAI states the response can omit account-integrity review information when no corresponding state is available, and that an omitted object should not be interpreted as an explicit approval or rejection. Absence is not a green light.

What Do Pausing and Activating the Account Actually Do?

Pausing stops delivery across every campaign in the account; activating allows eligible campaigns to deliver again. OpenAI recommends using account controls only when the change should apply to the whole account, and pausing a campaign, ad group or ad for anything narrower.

curl -X POST "https://api.ads.openai.com/v1/ad_account/pause"   -H "Authorization: Bearer ${OPENAI_ADS_API_KEY}"

curl -X POST "https://api.ads.openai.com/v1/ad_account/activate"   -H "Authorization: Bearer ${OPENAI_ADS_API_KEY}"

Two things activation does not establish, both stated in the documentation. It does not mean every campaign is active, every ad is approved, or every budget has capacity. And a pause does not rewrite child statuses, so you should not infer that campaigns were set to paused after an account pause. Retrieve the child resource if you need its configured state. For an agency's emergency stop, the account pause is the fastest single lever; for anything else, it is too blunt.

How Do Account Spend Limits Work in 2026?

Two mechanisms exist, and they sit alongside campaign budgets rather than replacing them. Date-range spend-limit windows cap total spending across all campaigns over a date range. Daily account limits, added in the changelog on 9 September 2026 for accounts on postpaid invoice billing, set a shared allowance across campaigns that renews at midnight in the account timezone. OpenAI notes that spend-limit windows are available only to some accounts.

Date-range spend-limit windows

curl -X POST "https://api.ads.openai.com/v1/ad_account/spend_limit_windows"   -H "Authorization: Bearer ${OPENAI_ADS_API_KEY}"   -H "Content-Type: application/json"   -d '{
    "start_date": "2026-10-01",
    "end_date": "2026-11-01",
    "amount_micros": 10000000000,
    "name": "October account limit",
    "io_id": "IO-123"
  }'

The example caps spending at 10,000 currency units. start_date is inclusive and end_date is exclusive, both interpreted in the account timezone. The optional io_id is a useful hook for agencies that reconcile spend against insertion orders.

Window ruleWhat OpenAI documents
OverlapWindows cannot overlap
Future windowsYou can schedule up to 60
Active window start dateCannot be changed
Reducing the amountCannot go below spending that has already occurred
Completed windowsCannot be edited or deleted
Deleting or raising an exhausted active limitCan allow delivery to resume if nothing else blocks it

Daily account limits

A daily limit repeats until removed or until its optional end date. New daily limits start tomorrow or later, using earliest_daily_start_date from the list response. Edits use optimistic concurrency: you send expected_revision from the latest list response, and a stale revision returns 409.

curl -X POST "https://api.ads.openai.com/v1/ad_account/daily_spend_limit"   -H "Authorization: Bearer $OPENAI_ADS_API_KEY"   -H "Content-Type: application/json"   -d '{
    "amount_micros": 100000000,
    "expected_revision": 12,
    "start_date": "2026-10-01",
    "end_date": null
  }'

The example creates a 100 USD daily allowance with no end date. Increases and decreases take effect on save. Removal also takes effect on save and, per OpenAI, retains historical accounting for delayed charges.

Why Do Account Limits and Campaign Budgets Need Separate Checks?

Because they apply independently and neither allocates to the other. OpenAI states an account limit does not allocate a budget to each campaign, so a campaign can have budget remaining while the account's active limit is exhausted. Conversely, removing an account limit does not remove the campaigns' own budgets. Raising a campaign budget does not override an exhausted account limit.

For agency practice in 2026 this is the mechanism to use for client protection. Campaign budgets express the media plan; an account window tied to the insertion order expresses the contractual ceiling. If a script sets a campaign budget wrong, the account limit still holds. OpenAI also warns that if your integration uses another account spending control, inspect it separately rather than assuming that deleting a window removes every account-level control.

What Errors Should You Expect on Spending Limits?

OpenAI documents a specific error table for spending limit changes, and the 503 behaviour is the one worth building into tooling.

StatusWhat to do
400Correct missing or malformed fields, including invalid dates or dates outside 2000-01-01 to 2100-01-01
409Refresh the list and reconcile a stale revision or configuration conflict before resubmitting
422Correct the amount, date ordering, overlapping limits, or a change to a completed window. A decrease below recorded spend returns budget_window_amount_below_spend
503Refresh before retrying a daily mutation, because the change may have succeeded even if its response could not be loaded

That last row is the important one. A naive retry on 503 can apply a change twice, or reapply an old value over a newer one. Refresh, compare, then decide.

What Must an Agency Confirm Before Managing a Client Account?

OpenAI's API Partner Setup guide lists the prerequisites: an Ads API key for the client ad account, access to the client's website and brand assets, and a server-side secret manager for the Ads API key and any Conversions API keys you create. Each key works with one ad account, so per-client key management is the operating model.

Several capabilities must also be enabled for the specific client account, and the failure modes are distinctive enough to recognise. A brand update returning 403, or /conversions/pixels or /conversions/api_keys returning 404 with Not found, means contact your OpenAI partner representative. Conversion-optimised campaigns also need enabling; a 403 reading Conversion bidding is not enabled has the same remedy. A Client data source not found response means an event setting references a source that does not exist in the current ad account, which usually means a key for the wrong client. The measurement side is covered in the Measurement Pixel guide, and conversion bidding in the oCPC guide.

What Are the Common Account Mistakes in 2026?

Key Takeaways for 2026

Account-level settings on ChatGPT Ads are few, mostly permanent, and capable of stopping every campaign at once, which makes the first hour of setup worth doing carefully.

Distk sets up and operates paid media accounts for growth teams across India and internationally, and the account layer is where we put the client protections: correct currency and timezone, the public name right first time, and an insertion-order spend window above every campaign budget. If you are opening a ChatGPT Ads account in 2026, that setup is where we would start.

Sources

Every field, rule and status code in this guide is quoted from OpenAI's published Ads documentation as of 1 October 2026. Spend-limit windows are documented as available only to some accounts, and daily limits to accounts on postpaid invoice billing.

ChatGPT Ads Account Management in 2026: FAQs

Why did my ChatGPT ads stop after I changed the brand name?

OpenAI states that changing the legal or public brand name pauses ad delivery until the account passes review. Any rename, including a typo fix, stops every ad in the account until review completes, so set the public name correctly before launch.

Can I change the currency or timezone on a ChatGPT Ads account?

No. OpenAI states currency and timezone are creation-time choices and cannot be edited through the branding update. Every budget and date on the account is interpreted in those settings, so choose them carefully when the account is created.

Why is my active ChatGPT Ads account not delivering?

Configured status and reviews are separate. An active account with approved branding can still have an outstanding account-integrity review, an exhausted account spend limit, or campaign-level delivery issues. An omitted account-integrity review object is not an approval.

What is the difference between an account spend limit and a campaign budget?

They apply independently. An account limit caps total spending across all campaigns and does not allocate budget to any of them. A campaign can have budget left while the account limit is exhausted, and raising a campaign budget does not override an exhausted account limit.

How do daily account spend limits work in ChatGPT Ads?

Added on 9 September 2026 for accounts on postpaid invoice billing, a daily limit sets a shared allowance across campaigns that renews at midnight in the account timezone. New limits start tomorrow or later, and edits require expected_revision from the latest list response.

What should an agency confirm before managing a client's ChatGPT Ads account?

An Ads API key for that client account, access to the client's website and brand assets, and a server-side secret manager. Brand updates, pixel management, Conversions API keys and conversion bidding must be enabled per account; a 403 or 404 on those means contacting your OpenAI partner representative.

Put the client protections at account level

Distk sets up paid media accounts so the safeguards hold even when a campaign setting is wrong: correct currency and timezone, the public name right first time, and an insertion-order spend window above every budget.

Start the conversation →