Soku AI
All blog posts

ChatGPT Ads Policy v1.6: OpenAI Can Now Decline Advertisers Over Its Own Competitive Position

September 14, 2026 · 13 min read

Soku Team

Soku Team

ChatGPT Ads Policy v1.6: OpenAI Can Now Decline Advertisers Over Its Own Competitive Position

On 10 September 2026 OpenAI published v1.6 of its Ad Policies. One clause changed. It is the clause that says when OpenAI can say no.

This is a short edit with a long shadow, and it deserves a careful reading rather than an alarmed one — because the honest analysis is that the underlying discretion did not change at all. What changed is what OpenAI chose to write down.

Last verified 2026-09-14 against the live OpenAI Ad Policies page and the ChatGPT Ads developer documentation at developers.openai.com/ads. Version numbers and dates below are quoted from OpenAI's own change log.

What changed, exactly

v1.5 — dated 31 August 2026:

OpenAI reserves the right to refuse to display ad content and website links for any reason.

v1.6 — dated 10 September 2026:

Ads must comply with OpenAI's Usage Policies. In addition, ChatGPT applies stricter standards to advertising in certain regulated and sensitive categories to protect user trust and brand safety. OpenAI reserves the right to decline, restrict, or remove advertisers and to refuse to display ad content and website links for any reason, including where they conflict with our advertising principles, business interests, or competitive position.

And the change log entry OpenAI added:

v1.6 (September 2026): Updated to clarify our right to decline ads where they conflict with our advertising principles, business interests, or competitive position.

Note also a structural edit: in v1.5 the discretionary-refusal sentence stood on its own before the compliance paragraph. In v1.6 it has been folded into the end of that paragraph, immediately after the language about user trust and brand safety. The clause now reads as an extension of brand safety rather than as a standalone reservation of rights.

The two things that are genuinely new

It is tempting to say nothing changed, because "for any reason" is already maximal — you cannot reserve more discretion than any reason. That reading is correct as a matter of text and wrong as a matter of signal. Two specific things moved.

1. The object widened from assets to advertisers

v1.5v1.6
Verbsrefuse to displaydecline, restrict, or remove — plus refuse to display
Objectad content and website linksadvertisers — plus ad content and website links
Stated groundsfor any reasonfor any reason, including advertising principles, business interests, competitive position

v1.5 described a decision about things you submit: a creative, a destination URL. Rejection at that level is routine across every ad platform, recoverable, and usually specific — you fix the asset and resubmit.

v1.6 adds a decision about you. "Decline, restrict, or remove advertisers" is an account-level action against an entity. The three verbs describe three different severities — refusing entry, constraining an existing account, and terminating one — and none of them is a creative review outcome.

That is a different operational category, and the policy does not address any of its consequences. More on that below.

2. "Competitive position" is now named

Enumerated grounds in a policy that already says "for any reason" add no legal power. They add information. A platform that writes competitive position into its published advertising policy is telling you it wants that ground available, legible, and pre-disclosed.

The straightforward reading: OpenAI has pre-announced that competing with OpenAI is a permissible basis for not being allowed to advertise on OpenAI's inventory.

Who is actually exposed

Wider than "AI labs", and widening.

The exposure is not defined by industry label but by surface overlap — whether what you sell competes with something OpenAI operates or is plausibly moving toward. On today's public footprint that plausibly includes:

  • Assistants and chat products — the most direct overlap.
  • Search and answer engines — ChatGPT is an answer surface, and now an ad-supported one.
  • Agent and automation platforms — an area OpenAI has shipped into repeatedly.
  • Coding tools — likewise.
  • Browsers — likewise.
  • Enterprise knowledge, search and productivity software.
  • Shopping and commerce discovery — note that the product-feed and catalog work described below is OpenAI building commerce surface directly.

A second exposed group is narrower and more clearly within reach of the clause: advertisers whose creative frames an explicit comparison against ChatGPT or OpenAI. Comparative claims already sit under the misleading-comparison rules in the same policy, which means such creative can now fail two ways rather than one.

To be fair about the size of this: for the overwhelming majority of ChatGPT advertisers — a local service, a travel brand, a DTC product, an education business — this clause is irrelevant. It matters intensely to a small population and not at all to most.

What the documentation still does not say

This is the part that should concern an operator more than the clause itself. Account-level removal has consequences that creative rejection does not, and none of them are documented:

  • No appeal path. The policy describes no review, escalation, or reconsideration process for a declined, restricted, or removed advertiser.
  • No notice standard. Nothing states whether removal is immediate or noticed in advance.
  • No definition of "competitive position." No test, no examples, no scope. It is undefined and therefore unbounded.
  • No treatment of in-flight campaigns. What happens to a running campaign when the advertiser — not the ad — is removed is unaddressed.
  • No treatment of account balance. ChatGPT Ads accounts are pre-funded. The policy does not say what becomes of an unspent balance on a removed advertiser account, and that is a real money question, not a hypothetical one. Our funding and balance guide covers how prepayment works today; the policy does not connect the two.

We are not asserting that OpenAI will handle any of these badly. We are pointing out that the published documentation gives an advertiser nothing to plan against, and that the gap grew at the same moment the clause did.

What to do about it

Four things, in order of usefulness. None of them is "stop advertising on ChatGPT."

1. Stop treating any single ad platform as structural. This is the durable lesson and it long predates v1.6. The correct response to a platform reserving broad discretion is not to leave the platform; it is to size your dependence on it so that losing it costs you a channel rather than a quarter. If ChatGPT Ads is more than a comfortable fraction of new-customer acquisition and you compete with OpenAI anywhere, that concentration is now a named risk rather than a generic one.

2. Manage balance exposure. Because funding is prepaid and removal consequences are undocumented, keep the balance you carry close to what you actually intend to spend in the near term. This costs you a little operational convenience and removes an unquantifiable downside.

3. Keep comparison claims off ChatGPT inventory. Creative that positions your product explicitly against ChatGPT or OpenAI is the clearest intersection of the new grounds and the existing misleading-comparison rules. There are better places to run that message, and your ChatGPT campaigns will do fine on non-comparative creative.

4. Document your own account standing. Keep records of approvals, spend, policy correspondence and campaign history. With no published appeal process, the only file that exists is the one you keep.

The four developer-doc changes in the same window

The policy edit was not the only thing that moved. Four ChatGPT Ads developer-documentation pages were rewritten in the same period, and one of them carries a change that matters as much to practitioners as the policy does. Reported here because these landed together, and because none of them appeared in any email.

Product feeds: SFTP ingestion, and the beta label comes off

The product feeds documentation was substantially rewritten, from roughly 12,000 characters to roughly 23,000. New documented material includes:

  • Feed creation over the APIPOST /v1/feeds with a name and countries, returning a feed_id. Previously the feed was linked in Ads Manager and you took the ID from the UI.
  • SFTP ingestion, newly documented in depth — POST /v1/feeds/{feed_id}/sftp_access, with either authentication_method: "password" or an ssh_public_key. The response returns a connection URI. OpenAI notes that generating a new password replaces the previous one.
  • A catalog schema reference — the OpenAI product file schema.
  • Product-set filter semantics — each filter takes field, operator and values; supported operators are in, gt, gte, lt, lte; values are sent as strings including numeric ones; send "filters": [] to inspect a feed unfiltered.
  • A documented macro table for product-ad templates — {{brand}}, {{product.title}}, {{product.body}}, {{product.price}} — and confirmation that macros can be combined with literal text, e.g. {{brand}}: {{product.title}}.
  • landing_page_configuration on the campaign, ad group or ad, for adding tracking parameters to product URLs.

And the change most worth flagging: the "open beta" qualifier has been removed from product-feed conversion bidding. The previous text read "During the open beta, set bidding_type to conversions…". The current text reads:

Product-feed campaigns can use impressions, clicks, or conversions objectives. Conversion-optimized campaigns are billed per click and require exactly one active standard conversion event setting to be attached when the campaign is created.

Read that precisely. The documentation now states conversion bidding for product feeds as an ordinary capability, without a beta qualifier. It does not say the beta concluded, and it does not announce general availability. We are reporting the removal of a qualifier, not inferring a launch. If you gated a roadmap on that beta ending, the doc no longer calls it a beta — verify in your own account before you act on it. Our earlier coverage of product-feed conversion bidding described the beta as it then stood.

Targeting: exclusions now take precedence

campaign-targeting.md was renamed from "Campaign Targeting" to "Targeting" and converted from a page of links into a page of semantics. The newly documented rules:

Geographic, platform, and audience settings work together; matching one setting does not override the others. You may configure both inclusion and exclusion targeting on the same campaign. Exclusions take precedence when someone belongs to both an included audience and an excluded audience. The same audience ID cannot appear in both lists in one campaign.

Along with a documented excluded_custom_audiences field in the campaign targeting object. Precedence between inclusion and exclusion was previously undocumented, and it is exactly the kind of rule that silently produces a suppressed campaign. If you run suppression lists, this is the most immediately actionable change of the four. See our custom audiences guide for how these lists are built.

Custom audiences: a way to recover a lost operation

A new endpoint is documented: GET /custom_audiences/{custom_audience_id}/operations, for finding operation IDs "when you no longer have the original submission response." It lists retained Add, Remove, Replace and Merge operations for that audience in the authenticated ad account, excludes the initial Create, and takes a limit from 1 to 100 with cursor pagination. For Merge, you query the new audience ID rather than a source audience ID.

The recovery guidance changed alongside it. Where the docs previously said to "resend the original POST with the same body and key, then poll the same operation", they now direct you to resume by operation ID. That is a better failure path — resending a mutation you cannot confirm is exactly how a list gets double-applied. Related: our coverage of the custom audience editing API.

API overview: an idempotency key

The API overview was rewritten, pinning the base URL as https://api.ads.openai.com and documenting a convention that was previously absent:

On supported create endpoints, you may send an Idempotency-Key. Reuse that key and the same request when retrying the same creation; use a new key for a new resource. This prevents a network retry from creating a duplicate.

Small, unglamorous, and the single most useful line for anyone building automation against this API. The rewritten product-feed examples now carry Idempotency-Key headers on campaign and ad creation.

A note on sources, and on the help centre

Our monitor flagged 36 changed pages in this window. That number is misleading and we would rather say so than quote it.

Twenty-nine of them were help-centre pages, and none contained a substantive content change. The diffs were site chrome: a banner about ChatGPT Pro subscriptions, relative timestamps shifting from "15 hours ago" to "4 hours ago", the "Need more help?" support block, and related-article lists rendering inconsistently between captures. Zero help-centre articles changed meaningfully.

The real changes were four developer-documentation pages plus the Ad Policies page. The developer-docs llms.txt index — our canary for new documentation pages appearing — changed only in trailing whitespace, which tells us no new ads doc page was added; these were rewrites of existing pages.

There was no advertiser product-update email in this window. The most recent ChatGPT Ads product-update email we hold is dated 3 September 2026, before every change described here. Nothing on this page is sourced from an announcement. That is worth stating plainly because it is the recurring pattern: documentation and email each miss roughly half of what ships, and the half that matters is not reliably in the one you are watching.

The honest summary

OpenAI did not take a new power on 10 September. It already had one, phrased as broadly as a right can be phrased. What it did was widen the clause from assets to advertisers, and name its own competitive position as a reason.

For most advertisers on ChatGPT, that is a footnote. For the smaller group that competes with OpenAI on any surface — and for anyone whose creative argues against ChatGPT directly — it is a stated risk where there was previously only an unstated one, with no appeal path, no definition, and no documented treatment of a prepaid balance.

The response is not to leave the channel. It is the same discipline that applies to every platform that owns both the auction and the rulebook: run it, measure it honestly beside your other channels, and never let it become the thing you cannot afford to lose. Our comparison of ChatGPT Ads against Google and Meta is a reasonable starting point for sizing that balance.

Sources, all verified 2026-09-14:

Related Tools

Related Use Cases

Relevant Reads

ChatGPT Ads Just Rewrote Who Sees Your Ads: Age Assurance, Under-18 Exclusion, and Mature-Content Eligibility

ChatGPT Ads Just Rewrote Who Sees Your Ads: Age Assurance, Under-18 Exclusion, and Mature-Content Eligibility

On 2026-08-07 OpenAI rewrote how ChatGPT Ads decides who is under 18 — replacing 'tells us or we predict' with an age-assurance model built on stated age, account age, time-of-day and conversation topics — and disclosed a mature-content ad tier limited to eligible logged-in users. The exact before-and-after wording, what it changes for advertisers, and what it does not.

13 min read

ChatGPT Ads Self-Service Just Opened in 52 Countries, Including 11 New MENA Markets

ChatGPT Ads Self-Service Just Opened in 52 Countries, Including 11 New MENA Markets

OpenAI's Ads Manager availability page went from 9 self-service countries to 52 overnight on 2026-09-02. All 31 European markets flipped from Coming Soon to Available, India flipped with them, and 11 Middle East and North Africa markets appeared on the list for the first time — already Available, with no announcement. The full before-and-after country list, the one line OpenAI deleted, the contradiction it left behind, and what a newly unblocked advertiser should do this week. Verified 2026-09-02.

14 min read

ChatGPT Ads Custom Audiences Just Got Editable, Mixable and GAID-Ready in Ads Manager

ChatGPT Ads Custom Audiences Just Got Editable, Mixable and GAID-Ready in Ads Manager

On 2026-09-01 OpenAI rewrote the ChatGPT Ads custom audiences help-centre article. Audiences can now be edited in Ads Manager, one CSV can mix identifier types, Google Advertising IDs are accepted, the 5,000,000-identifier cap is gone, the Too small status has been retired, and sub-25,000 audiences are usable for exclusion. The exact previous and current wording, what it changes operationally, and why the help centre and the Ads API finally agree. Verified 2026-09-01.

14 min read

Do Not Let One Platform's Discretion Be Your Whole Plan

Soku runs ChatGPT Ads beside Google, Meta and TikTok with one set of conversion definitions — so a single platform decision changes a channel, not your quarter.

Get Started for Free