← Back to blog
GuideJul 10, 2026· 7 min read

OpenAI Ads Product Feed Requirements (and the Errors That Get Feeds Rejected)

What your OpenAI Ads product feed must include, the delivery and file rules, and the common errors that get products rejected, for Shopify stores.

A
Alejandro
Founder, Reach
OpenAI Ads Product Feed Requirements (and the Errors That Get Feeds Rejected)

The short version

  • An OpenAI Ads product feed is a flat-file catalog you deliver by SFTP through the Feeds area in OpenAI's Ads Manager.
  • Every product you want to advertise must have is_ads_eligible set to true, be in stock, contain complete data, and pass OpenAI's review.
  • There is no minimum catalog size, despite what some guides claim. OpenAI's spec sets none.
  • Most rejections come from a handful of fixable issues: missing images, missing or invalid prices, incomplete fields, or products not marked ads-eligible.

If you want to run product feed ads on ChatGPT, OpenAI needs a clean, correctly formatted catalog. Get the feed right and your products are eligible to appear; get it wrong and they silently drop out. Here is exactly what your feed needs, straight from OpenAI's spec, and the errors that most often get products rejected.

What is an OpenAI Ads product feed?

It is a file containing your product catalog, delivered to OpenAI so your products can run as ads. Per OpenAI's documentation, you create the connection in the Feeds area of Ads Manager and "upload the merchant catalog to the SFTP location shown there." It is a flat-file feed (formats such as CSV, TSV, or JSON) delivered over SFTP, not a hosted URL.

What your feed must include

Two things, per the spec:

  1. Every field marked Required in OpenAI's product feed specification. OpenAI says to "include every field marked Required in the stable product feed specification." In practice that means the core commerce data every catalog needs: a unique ID for each variant, a title, a description, the price, availability, an image, and the product URL. (See the official product spec for the exact, current field list.)
  2. The is_ads_eligible flag set to true for every product Ads should process. This is the one ads-specific requirement. Omit it or set it to false and the product stays out of Ads. (Note the exact field name is is_ads_eligible, not is_ads_enabled.)

No, you do not need 1,000 products

You will see this claim repeated across the web: that ChatGPT ads require a minimum catalog of 1,000 products. It is not true. OpenAI's official feed documentation sets no minimum and no maximum product count. If you have a small catalog, you can still run product feed ads. Do not let a made-up threshold stop you.

OpenAI's actual bar for a product to run

The spec is refreshingly clear about what it takes for a product to be eligible. In OpenAI's own words, "a product must be marked Ads-eligible, remain available, contain usable product data, and pass feed processing and review." Break that down:

  • Ads-eligible: is_ads_eligible is true.
  • Available: the product is in stock.
  • Usable data: the required fields are present and valid (real image, real price, complete details).
  • Passes review: it clears OpenAI's feed processing and policy review.

If a product fails any one of these, it will not run, even if the rest of your feed is perfect.

Common errors that get products rejected

Almost every rejection traces back to one of these:

ErrorWhat it meansHow to fix it
Product not ads-eligibleis_ads_eligible is missing or falseSet it to true for every product you want to advertise
Out of stockThe product is unavailableOnly feed in-stock products, and keep availability current
Missing imageNo valid image URLEnsure every product has a working image link
Missing or invalid pricePrice is blank, zero, or malformedProvide a valid, correctly formatted price
Incomplete required fieldsA required field is emptyFill in every field the spec marks as required
Overlong textTitle or description exceeds limitsKeep titles and descriptions within the allowed length
Wrong file format or deliveryFeed not in an accepted format or not delivered to SFTP correctlyUse an accepted format and deliver to the SFTP location shown in Ads Manager

The part people forget: keeping the feed in sync

A feed is not a one-time upload. Your prices and inventory change constantly, and a stale feed means ads for products that are out of stock or priced wrong, which wastes spend and gets products rejected. OpenAI expects the catalog to be refreshed regularly (at least daily). If you build the feed by hand, that is a recurring chore every time your catalog changes.

Doing it by hand vs automatically

You can prepare all of this manually: export your catalog, map every field to OpenAI's format, mark products ads-eligible, validate images and prices, compress and deliver the file over SFTP, and repeat the sync whenever your catalog changes. It works, but it is fiddly and easy to get wrong, and a single formatting slip can knock products out.

The alternative is to automate it. Reach: Feed for ChatGPT Ads turns your Shopify catalog into a correctly formatted OpenAI feed, validates it (catching missing images, prices, and overlong text before delivery), delivers it over SFTP, and re-syncs daily and after catalog edits. No spreadsheets, no manual uploads.

Once your feed is live and running ads, the next question is whether it is actually converting, and for that you need accurate tracking. That is covered in How to track OpenAI Ads conversions on Shopify.

Get a valid, always-synced feed without the spreadsheet work. Install Reach: Feed for ChatGPT Ads to turn your Shopify catalog into a correctly formatted, validated OpenAI Ads feed.

Frequently asked questions

How is an OpenAI Ads product feed delivered?

As a flat-file catalog (formats such as CSV, TSV, or JSON) delivered by SFTP through the Feeds area in OpenAI's Ads Manager. There is no hosted-URL option for the ads feed.

Is there a minimum number of products for ChatGPT ads?

No. OpenAI's official feed spec sets no minimum or maximum catalog size. The 1,000-product minimum you may have read is not accurate.

What makes a product eligible to run?

Per OpenAI, a product must be marked ads-eligible (is_ads_eligible = true), remain available, contain usable product data, and pass feed processing and review.

Why did my products get rejected?

Usually one of: not marked ads-eligible, out of stock, a missing image, a missing or invalid price, an incomplete required field, or a delivery or format problem.

Do I have to update my feed manually?

Only if you build it by hand. Feeds need to stay in sync with your prices and inventory at least daily, so an automated tool that re-syncs for you saves ongoing work and prevents stale-data rejections.

Do I need a developer to set up an OpenAI Ads feed?

Not if you use an app that handles the formatting, validation, and SFTP delivery for you. Doing it fully by hand generally requires technical work.