# ChatGPT Ads policies for e-commerce: what you can advertise, how ads are reviewed and why they get rejected

> What ChatGPT Ads allows, restricts and prohibits for online stores, how ads and pages are reviewed, the role of OAI-AdsBot and how to fix a rejected ad.

Canonical: https://convrail.com/blog/chatgpt-ads-policies-ecommerce/

ChatGPT Ads policies decide which products a store can promote, how the ad must be written and which landing page it may point to. In short: many verticals are closed by default, every ad and landing page is reviewed before it runs, the page must be reachable by OAI-AdsBot, and claims about price, stock or results must be true.

This guide summarizes what OpenAI publishes for e-commerce advertisers. These rules change as the program opens to more countries and sectors, so use it as a map, then check the live [ad policies](https://openai.com/policies/ad-policies/) before launching a campaign.

## The rules at a glance

| Topic | What OpenAI's policies say, in substance |
| --- | --- |
| Who can advertise | Verticals are disallowed by default at launch, except those OpenAI has approved |
| Where ads never show | Next to sensitive conversation topics and vulnerable user interactions |
| Content | Truthful, professional, no unfounded claims, no obscene or shocking content |
| Landing page | Must accurately represent the advertiser and the product, and be reachable for review |
| Products | Counterfeits and replicas prohibited; price, availability, origin and condition must not be misrepresented |
| Review | Before launch, and again for each edited version |
| Enforcement | Rejection, removal, limited delivery, required edits, restricted access, suspension or termination |
| User data | Advertisers never see chats, history, memories or personal details |

## Allowed, restricted and prohibited: what it means for a store

The ad policies describe a cautious launch. Rather than allowing everything and banning a few cases, OpenAI disallows verticals by default and opens the ones it approves. For a merchant, that changes the first question: not "is my product banned?" but "is my product's vertical open yet?"

The policies list areas that are restricted or prohibited. In substance they include:

| Area | Status for an online store, according to OpenAI's policy |
| --- | --- |
| Adult and sexual content, dating | Prohibited or restricted |
| Gambling | Restricted or prohibited |
| Alcohol, drugs, tobacco | Restricted or prohibited |
| Health claims and healthcare | Restricted |
| Financial and legal services | Restricted |
| Political content and sensitive social issues | Not permitted |
| Weapons | Treated as a sensitive topic |
| Counterfeit goods and replicas | Prohibited |

What this means in practice:

- **A clothing, home, furniture or electronics store** sells in the verticals most likely to be open, but each ad still has to pass review.
- **A store selling supplements, cosmetics with medical claims or wellness products** is exposed on two fronts: the vertical may be restricted, and any health claim in the ad or on the page is a likely rejection cause, even if the product itself is allowed.
- **A store selling wine, spirits, CBD, vapes or knives** should assume the vertical is restricted until OpenAI says otherwise, and check the current policy before preparing creative.
- **A store selling branded goods** must be able to show they are genuine: replicas are prohibited, and an ad that suggests an affiliation with a brand it does not have breaks the truthfulness rule.

The list evolves as OpenAI opens new verticals. Treat any table, including this one, as a snapshot.

## Where ads never appear

Separately from what you sell, OpenAI limits where ads can be shown. According to its ad policies and its [approach to advertising](https://openai.com/index/our-approach-to-advertising-and-expanding-access/), ads are not eligible to appear next to sensitive conversation topics, such as child safety, fraud, hate, health and mental health, political subjects, regulated goods like gambling or tobacco, or weapons. They are also kept away from interactions with vulnerable users.

For a store, this has a practical consequence: even an approved ad will not show in every conversation where the product could fit. A sleep-related product, for example, may be relevant to a conversation that ChatGPT treats as a health topic. That reduces reach in some contexts, and it is one more reason not to judge a campaign on impressions alone.

## How ads and landing pages are reviewed

Every campaign is reviewed before it launches. Review covers three things:

1. **The ad text.** The title (3 to 50 characters) and the body (up to 100 characters) must be truthful and professional.
2. **The image.** A square visual (JPEG, PNG or WebP) that must not contradict the text or the page.
3. **The landing page.** It must accurately represent the advertiser and the product, and it must load for OpenAI's crawler.

Two details matter for merchants who iterate fast:

- **Editing a live ad creates a new version, which goes through review again.** A small wording tweak on a running ad can put it back in the queue.
- **Ads Manager's prefill does not generate text or images with AI.** What you submit is what gets reviewed, so the responsibility for each claim stays with you.

The full campaign setup, from account to first ad, is covered in [how to advertise on ChatGPT](/blog/how-to-advertise-on-chatgpt/).

## OAI-AdsBot: the crawler that checks your landing page

OpenAI documents three crawlers on its [bots page](https://developers.openai.com/api/docs/bots). For an advertiser, the first one in this table is the one that can block a campaign:

| Crawler | Purpose | What to do |
| --- | --- | --- |
| OAI-AdsBot | Validates the safety of web pages submitted as ads on ChatGPT | Must reach every landing page you submit |
| OAI-SearchBot | Lets pages appear in ChatGPT search results | OpenAI's help center recommends allowing it |
| GPTBot | Collects content for training models | Independent choice, no effect on ads |

The bots page gives OAI-AdsBot's user agent: `Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; OAI-AdsBot/1.0; +https://openai.com/adsbot`. It also states that the data OAI-AdsBot collects is not used to train generative AI foundation models.

The [rejected ads troubleshooting article](https://help.openai.com/en/articles/20001534) says OAI-AdsBot access is required for landing page validation. A page that blocks it cannot be validated, and the ad fails review for a reason that has nothing to do with its content. Blocks usually come from:

- a `robots.txt` rule that disallows unknown bots or all bots,
- a web application firewall or bot-management rule that challenges non-browser traffic,
- a CDN setting that serves a challenge page to crawlers,
- a password, login wall or age gate in front of the page,
- rate limiting that cuts the crawler off.

The fix is to allow OAI-AdsBot explicitly in each of these layers, then test the exact landing page URL from outside your network. The organic side of the same question, letting OAI-SearchBot read your store, is covered in [OAI-SearchBot and robots.txt](/blog/oai-searchbot-robots-txt/).

## The most common rejection causes for stores

Putting OpenAI's policies and troubleshooting article side by side, the rejection causes that hit online stores fall into a few groups:

| Cause | Typical example | Fix |
| --- | --- | --- |
| Landing page unreachable | Firewall challenge, robots.txt block, login wall | Allow OAI-AdsBot at every layer |
| Price mismatch | Ad says 29.99, page shows 39.99 | Same price in the ad, the page and the feed |
| Availability mismatch | Ad promotes a product that is out of stock | Pause ads for products that sell out |
| Unfounded claim | "Best on the market", "guaranteed results" | Remove or support with checkable facts |
| Health or outcome claim | "Cures back pain", "lose 5 kg" | Describe the product, not a medical result |
| Unclear advertiser | Page gives no store name, contact or policies | Show the business identity and legal pages |
| Unprofessional tone | All caps, many exclamation marks, shock visuals | Plain, factual wording |
| Restricted vertical | Product belongs to a closed or restricted area | Check the current policy before creating the ad |
| Brand misuse | Implies an official partnership that does not exist | Mention brands only as the products you sell |

The second and third rows are where e-commerce differs from other advertisers. OpenAI's commerce policies prohibit misrepresenting price, availability, origin, condition or key characteristics. A store whose prices change often, or whose stock runs out, can drift into a violation without changing the ad at all. Keeping the ad, the landing page and the product feed in sync is therefore a compliance task, not only a marketing one.

## How to write a compliant ad, step by step

A short method that follows the policies without guessing:

1. **Check the vertical first.** Before writing anything, confirm that the product's area is open in the current ad policies.
2. **Start from the landing page, not the ad.** Write the ad from what the page actually shows: product name, price, stock, delivery terms.
3. **Use plain facts in the title.** Product type, a key attribute and, if it is true everywhere, the price. A title like "Walnut desk lamp, dimmable" passes more easily than "The best lamp ever!!!".
4. **Keep the body to one checkable benefit.** Material, size, compatibility, delivery time: something a reviewer can confirm on the page.
5. **Avoid absolute and outcome claims.** No "best", "guaranteed", "cures", "results in 7 days" unless you can prove it on the page, and never health outcomes.
6. **Choose an image that matches the product sold.** No visual of a premium variant if the ad points to the entry model.
7. **Make the page identifiable.** Store name, contact information, return policy and terms of sale must be easy to find.
8. **Test the page as OAI-AdsBot would.** Load it from outside your network, without cookies, and check that no challenge or login appears.
9. **Plan your edits.** Since each edit triggers a new review, group wording changes rather than tweaking a live ad several times a day.

## When an ad is rejected

OpenAI's [troubleshooting article](https://help.openai.com/en/articles/20001534) describes a straightforward sequence:

1. **Read the rejection message.** It indicates the problem area.
2. **Identify what is at fault.** Text, image or landing page.
3. **Check consistency** between the ad, the image and the page.
4. **Check access.** OAI-AdsBot must reach the page; OAI-SearchBot is recommended too. Look at robots.txt, firewall, CDN, bot mitigation, authentication and rate limits.
5. **Fix and resubmit.** Some fixes require submitting the ad again.
6. **Contact support if the reason is unclear.** The help center points to ads-support@openai.com, with your ad account ID.

Under the policies, repeated or severe violations can lead to limited delivery, restricted access, suspension or termination of the account. A rejection is a signal to fix the cause, not to resubmit the same ad with small variations.

## User data and privacy: what advertisers get

OpenAI has made privacy a central part of how ads work in ChatGPT. According to its [help center](https://help.openai.com/en/articles/20001047) and its advertising announcement:

- **Who sees ads.** Ads may appear for users on the Free and Go plans; Plus, Pro, Business, Enterprise and Edu accounts do not see ads.
- **No influence on answers.** Ads run on systems separate from the chat model, and advertisers cannot shape, rank or alter ChatGPT's responses.
- **No access to conversations.** Advertisers do not see users' chats, chat history, memories or personal details.
- **Aggregated reporting only.** Advertisers receive aggregated data such as views and clicks.
- **User controls.** Under Settings, Ad Controls, users can turn off ad personalization (contextual ads remain), dismiss ads, see why an ad is shown and clear their ads data.

For a store, this means one thing: Ads Manager reporting will not tell you which ad led to which order in your store. Clicks are aggregated on OpenAI's side, and the purchase happens on your site. To connect the two, conversions have to be measured from your store and sent back to OpenAI, through the OAIQ pixel and the Conversions API, with emails and phone numbers hashed before anything leaves your servers.

That is the part Convrail handles. The [tracking module](/tracking/) sends each purchase from the browser and from the server with a shared event ID, so OpenAI counts it once, and hashes personal data with SHA-256 before sending. The [attribution view](/attribution/) then separates revenue from ChatGPT Ads and organic ChatGPT, from your own orders. For the budget side, [what ChatGPT Ads cost](/blog/chatgpt-ads-cost/) explains how to read spend against those conversions.

## A pre-launch checklist

| Check | Done when |
| --- | --- |
| Vertical open | The product's area is allowed in the current policy |
| Price consistent | Same price in the ad, the page and the product feed |
| Stock consistent | Ads paused automatically or manually when the product sells out |
| Claims supported | Every claim in the ad can be confirmed on the page |
| No health or outcome promise | Text and image describe the product, not a result |
| Page identifiable | Store name, contact, returns and terms are visible |
| OAI-AdsBot allowed | robots.txt, firewall, CDN and login checked |
| Conversions measured | Purchase events reach OpenAI from your store, deduplicated |

## Key takeaways

1. ChatGPT Ads opens verticals one by one: check that yours is allowed before writing any ad.
2. Every ad, image and landing page is reviewed before launch, and every edit is reviewed again.
3. OAI-AdsBot must reach your landing page; firewalls and robots.txt rules are a frequent, silent cause of rejection.
4. For a store, truthfulness means price, stock, origin and condition consistent between the ad, the page and the feed.
5. Advertisers never see conversations: measuring sales requires server-side tracking from your store.