A product catalog is the structured file of product data a merchant shares with OpenAI so ChatGPT can display, recommend, and advertise specific items with accurate pricing and availability. Unlike a set of hand-built ad units, it is the single source of truth a ChatGPT Ads product-feed campaign reads from to generate ads automatically.
If you sell many products, your catalog decides whether you can advertise on ChatGPT at scale, because the platform builds ads from feed data instead of manual setup. A thin or inaccurate catalog locks you out of the channel or shows wrong prices, while a clean one keeps your ads, inventory, and organic listings in sync.
In ChatGPT Ads, a product catalog is the feed that powers a product-feed campaign, mapping every item you sell to the fields OpenAI needs to render it as an ad. You upload the catalog once, mark which products are eligible, and the system generates and updates ads from that data.
The catalog is a structured file, usually a CSV with one row per item or variant. OpenAI's product feed specification requires nine fields on every row, including item_id, title, price, and availability, and supports recommended attributes like images, reviews, and shipping that improve how products rank and display. Stable identifiers matter, because reused IDs break the link between a product and its performance history.
A product catalog sits upstream of the ad itself: the ad group selects a subset of the catalog, and an ad template fills in product details when an ad is shown. The same feed can also power ChatGPT's organic shopping results, so one clean catalog feeds both paid and unpaid discovery. AirOps helps marketers track how often answer engines cite their brand on the organic side, complementing the paid presence a catalog drives.
A product catalog becomes a running ChatGPT Ads campaign through a fixed sequence, from file upload to live ad delivery.
Create the feed: In your ad account, create a feed and configure SFTP access, the connection used to send product files to OpenAI.
Upload the catalog: Prepare a UTF-8 CSV with one row per item or variant, keep identifiers stable between uploads, and upload it over SFTP.
Set eligibility: Mark products with is_ads_eligible so the system knows which items ads can use, independent of organic search eligibility.
Select and template: An ad group selects a subset of the catalog with product-set filters, and you build an ad template that fills in product details at serve time.
Serve and report: OpenAI generates product ads below relevant answers and returns product-segmented reporting so you can compare individual items.
Product-level reporting tells you which items earn delivery and engagement. It does not tell you why a shopper chose a competing product, so pair it with your own site analytics.
Your product catalog is the gate to selling through ChatGPT Ads at any real scale, which makes its quality a direct revenue decision for ecommerce and growth teams. The feed now determines what your ads say, so the discipline shifts from writing ad copy to maintaining clean structured data.
Scale or stay out: A clean catalog lets you advertise thousands of SKUs from one feed; a thin or broken one can leave you unable to launch product-feed ads at all.
Accuracy protects spend: Because ads pull live titles, prices, and availability from the feed, a stale catalog serves wrong prices or out-of-stock items, wasting ad budget and eroding shopper trust.
One feed, two surfaces: The same catalog can feed both paid ads and ChatGPT's organic shopping results, so investment in feed quality compounds across paid and unpaid discovery instead of helping only one channel.
SEO managers use a product catalog to keep ChatGPT's organic shopping listings accurate while the same feed powers paid ads.
Growth marketers use a product catalog to launch ChatGPT Ads across thousands of SKUs without building each ad by hand.
Demand gen leads use a product catalog to tie product-level ad performance back to the specific items that drive pipeline.
Each product carries an is_ads_eligible flag that decides whether ChatGPT Ads can use it, and that flag works independently of whether the same item is also eligible for organic shopping results, giving you item-level control over paid exposure.
An ad group targets a product set, a filtered slice of the catalog defined by rules on attributes like category or price, so you can point different ad groups at different parts of your inventory without separate feeds.
Because ads render live data from the catalog, your refresh cadence and delta updates to price and availability determine how accurate every generated ad stays over time, so refresh frequency becomes one of the core operational levers for keeping ad data correct.
Launch ChatGPT Ads across your full catalog from a single feed instead of building ads one product at a time.
Keep ad titles, prices, and availability accurate automatically as inventory changes.
Reuse the structured product data that already powers your ChatGPT organic shopping listings.
Measure performance item by item with OpenAI's product-segmented ad reporting.
Scale creative without a design queue, since ad templates fill in product details at serve time.
Map to the spec first: Match your catalog to OpenAI's required fields before upload, because missing fields block items from running.
Keep identifiers stable: Never reuse or regenerate item_id values between uploads, so performance history and variant links stay intact.
Refresh often: Push price and availability updates on a tight cadence so ads never show stale or out-of-stock items.
Use delta updates: Send changed products through the delta feed instead of a full re-upload to keep fast-moving inventory current.
Enrich recommended fields: Add images, reviews, and shipping data, since these improve how products rank and display.
Segment with product sets: Group items into targeted product sets so each ad group promotes a coherent slice of your catalog.
Avoid treating the catalog as a one-time upload. Competent teams load a clean feed, then let it drift as prices and stock change, which quietly serves wrong information in live ads and drains budget.
AirOps: Tracks how often ChatGPT and other answer engines cite and mention your brand in organic shopping and answers, so you can see the visibility your catalog earns beyond paid placements.
OpenAI Ads Manager: The interface where you create a product feed, upload your catalog, set product eligibility, and build the ad templates that generate product-feed ads.
Google Merchant Center: Maintains the structured product feed many retailers reuse for ChatGPT, since OpenAI's catalog format closely mirrors the Google Shopping schema.
Audit your feed: Pull the product feed you already send to Google Shopping or your store platform and check it against OpenAI's required fields. You can do this this week with no budget.
Request ads access: Set up or confirm an OpenAI ad account and request product feed API access for it. Without that access, the feed endpoints stay closed.
Create and connect the feed: Create a feed in your ad account, configure SFTP, and upload a UTF-8 CSV with one row per item or variant.
Mark eligible products: Set is_ads_eligible on the items you want to advertise, and group them into product sets for your ad groups, which decide the slice of catalog each campaign can show.
Launch and measure: Build an ad template, start a product-feed campaign, and watch product-segmented reporting to see which items perform. Use those item-level results to prune weak products and scale winners.
A product catalog is the structured feed of product data that lets ChatGPT display, recommend, and advertise your items.
In ChatGPT Ads, you upload the catalog over SFTP, mark eligible products, and let ad templates generate ads automatically.
Every eligible product row must carry OpenAI's required fields, which is the hard constraint on what can run.
A stale or inaccurate catalog is the main risk, serving wrong prices and wasting ad budget.
The biggest leverage is feed quality, since one clean catalog powers both paid ads and organic shopping discovery.
A product catalog is the data layer; a single ChatGPT ad is one rendered placement a shopper sees. The catalog holds every item you sell, each described by fields like title, price, image, and availability, and it stays the same whether one product shows or a thousand. An individual ad is generated at the moment a relevant conversation happens, pulling the matching product's details from that catalog into an ad template. In a product-feed campaign you do not write each ad; you maintain the catalog and define which items are eligible, and OpenAI assembles the ads on demand. That separation is what lets a retailer with a large inventory advertise at scale, because adding or updating a product in the feed changes the ads automatically. The catalog is the inventory of advertisable items; the ad is a single live expression of one of those items.
Update it as often as your inventory actually changes, and for most retailers that means at least daily. Because the ads system renders live product data from the feed, any price or stock change that is not reflected there can surface as a wrong price or an out-of-stock item in a live ad. If you run flash sales, limited drops, or fast-moving stock, push updates far more frequently than once a day. Instead of re-uploading the entire catalog each time, send only the changed products and variants through a delta update, which keeps the feed current without a full refresh. A practical rule: match your update cadence to the fastest-changing attribute in your catalog, usually price or availability, and let slower attributes like descriptions ride along on the regular upload.
Delivery varies because ChatGPT Ads are contextual, so an item only appears when a conversation actually relates to it. Unlike keyword search, there is no fixed query that guarantees placement; the system matches shopper intent and conversation context to the products in your eligible catalog, and that context shifts from chat to chat. Three things drive the variation you see. First, eligibility: only products you flagged for ads and that pass review can appear at all. Second, relevance: a winter boot surfaces in a conversation about cold-weather hiking and stays out of one about laptops. Third, competition and budget: other advertisers bid for the same moments, and your campaign budget and bids affect how often you win them. Because all three move independently, the same catalog can look very active one week and quiet the next. Consistent eligibility, clean data, and adequate budget reduce how much your visibility swings.
Yes, directly, and that control is one of the main reasons the catalog model works for large inventories. You decide eligibility at the item level with the is_ads_eligible flag, so any product you do not want advertised simply stays out of the ads pipeline while remaining available for organic shopping. Above that, each ad group targets a product set, a filtered slice of the catalog based on rules like category, price, or brand, which lets you steer whole groups of products into specific campaigns. What you do not control directly is the exact conversation where an ad appears, because that matching is contextual. So your influence is strongest upstream: curate which items are eligible, group them sensibly, keep their data clean, and set budgets that reflect the products you most want to move. Get those levers right and the system does the per-conversation placement for you.
A good catalog is complete, accurate, and current, measured less by size than by how little guesswork it leaves the system. Completeness means every advertisable item carries all required fields plus the recommended ones like images, reviews, and shipping, because richer data ranks and displays better. Accuracy means titles, prices, and availability match your live storefront exactly, since mismatches surface as wrong prices in ads and erode trust. Currency means your refresh cadence keeps pace with how fast those attributes change, so stock-outs and price moves reach the feed quickly. A useful benchmark is zero preventable rejections: if items are getting disapproved or dropped for missing fields or broken image links, the catalog is not yet ready. Beyond the basics, a strong catalog uses stable identifiers and sensible product sets, so performance data stays trustworthy and each ad group promotes a coherent slice of inventory.