ChatGPT product feed: the complete merchant guide

Tarun Kapoor, founder of Context Hints, seated at a wooden desk with a soft city light behind him.Tarun Kapoor Updated 13 October 2026 24 min read

A ChatGPT product feed is a structured export of your catalog, delivered to OpenAI, that makes your products visible inside ChatGPT. As of mid-2026 there are actually two feed systems — the organic commerce feed and the Ads Manager feed — powering three surfaces: ChatGPT Shopping results, Shopping Research buyer's guides, and product-feed ad campaigns. Almost every guide on the internet conflates them. This one doesn't. It covers the nine required fields and eligibility flags, digital goods, Google-format uploads, SFTP and API delivery, the three access paths (including Shopify's default-on auto-integration), how organic ranking works, and an action plan for each merchant type — every load-bearing claim sourced to OpenAI's own documentation, first checked July 13, 2026 and re-checked against the current spec on October 13, 2026.

The short answer

A ChatGPT product feed is a structured file of your catalog (Parquet, JSONL, CSV or TSV, UTF-8) that you push to OpenAI over SFTP so your products can appear in ChatGPT Shopping and in product-feed ads. Every row needs nine fields: item_id, title, description, url, brand, seller_name, image_url, availability and price. Send a full snapshot at least daily.

The short version

  • Two feeds: the commerce feed (organic Shopping + Shopping Research, application-gated) and the Ads Manager feed (ad campaigns only during beta, up to 2M products). They are separate programs with separate access paths.
  • Flags: is_eligible_search, is_eligible_checkout, is_ads_eligible control which surface each product can appear on. Older names like enable_search are obsolete.
  • Delivery: full snapshot over SFTP at least daily (Parquet + zstd preferred, UTF-8, stable filenames) — plus a REST API for intraday upserts. Promotions are API-only.
  • Shopify: you're already in. Catalog integration is on by default for eligible US-selling stores — manage it under Sales channels → Agentic.
  • Ads: OpenAI says feed-based ads "have been among the strongest-performing ads" in its program. Feed campaigns are the ecommerce entry point to ChatGPT ads.
  • Action plans for Shopify merchants, DTC brands, and retail advertisers: jump to checklists.

What a ChatGPT product feed is — and why it suddenly matters

The feed is how your catalog gets into ChatGPT's commerce experiences: a structured export of your products, with fields defined by OpenAI's products spec, delivered to OpenAI on a schedule. If ChatGPT is going to recommend, compare, or link to your products, this data is where it learns what you sell, what it costs, and whether it's available. It is infrastructure, not advertising — the catalog layer that everything else sits on.

The "why now" is scale meeting intent. ChatGPT reached 900 million weekly active users (OpenAI, February 2026), and shopping behavior inside it is no longer novelty traffic: Adobe Analytics measured AI-referred traffic to US retail sites converting 31% better than other sources during the 2025 holidays, and by May 2026 the gap was reported at 54% — a full reversal from early 2025, when AI referrals converted worse. Volume is still small relative to Google (fractions of a percent of total traffic for most merchants), but it is the highest-intent small channel in ecommerce, and the feed is its admission ticket.

A single-file procession of small blue glass product cards traveling along a thin filament of light into a large glass portal — a product catalog flowing into ChatGPT.
One catalog, three destinations: Shopping results, Shopping Research buyer's guides, and feed-based ad campaigns.

Connecting a feed is part of our ChatGPT Ads setup service; if your feed is already live and underperforming, the ChatGPT Ads audit checks it alongside the rest of the account.

Two feeds, three surfaces — the map nobody gives you

Here is the single most important thing to understand, and the thing most articles get wrong: OpenAI currently runs two separate product feed systems, and during the ads beta they do not feed each other.

Commerce feed (organic)Ads Manager feed (paid)
PowersChatGPT Shopping results and Shopping Research buyer's guidesProduct-feed ad campaigns in ChatGPT Ads Manager
AccessApplication-gated: apply through OpenAI's merchant program ("approved partners")Self-serve inside Ads Manager: Tools → Feeds → Create Feed
DeliverySFTP full snapshots + REST API upsertsSFTP (credentials generated by Ads Manager; password or SSH key)
Scale guidanceUp to 500k items per shard, shards under ~500 MBUp to 2 million products; one feed connection per ad account
Key flagis_eligible_search / is_eligible_checkoutis_ads_eligible (ads-eligible by default when created via Ads Manager)
Beta caveat—Products in this feed serve ads only — they do not appear in organic conversations (OpenAI says organic capability may come later)

The practical consequence: a merchant who wants both organic visibility and feed-based ads needs both pipelines. Uploading a catalog to Ads Manager does nothing for your presence in organic Shopping results today, and an approved commerce feed does not create ad campaigns. Both use the same base schema — OpenAI's Ads product feeds guide confirms ads feeds are "the same base schema" plus the ads-eligibility flag — so build the export once and ship it twice.

Required fields: the 9 every row needs, and three flags that decide everything

OpenAI simplified the contract. The current products spec (checked October 13, 2026) lists nine fields that every row must carry. Everything else is either optional or only required when you switch a feature on, such as variants, checkout, or ads. If a guide tells you there are 15 or 19 mandatory columns, it was written against an older version of the spec.

FieldWhat it is
item_idMerchant product ID, unique per variant, stable over time
titleProduct title, about 150 characters at most
descriptionFull plain-text description, about 5,000 characters at most
urlThe product page
brandBrand name
seller_nameThe merchant selling it
image_urlMain product image
availabilityOne of in_stock, out_of_stock, pre_order, backorder, unknown. An omitted, empty or unrecognised value rejects the row.
priceAmount plus ISO currency in major units: 79.99 USD. Decimal point, no thousands separators.
ConditionalVariants: group_id, listing_has_variations, variant_dict. Checkout: is_eligible_checkout, seller_privacy_policy, seller_tos. Ads: is_ads_eligible. Marketplaces: marketplace_seller. Units: dimensions_unit, item_weight_unit.

The three OpenAI flags are the control panel for where each product can appear — they change nothing on your own site, only ChatGPT's permissions:

Two spec-drift warnings, because most ranking articles were written against the 2025 spec: the old flag names enable_search and enable_checkout are superseded (the spec still accepts legacy names, but when both are sent the newer name wins, so don't mix them), and XML was never a supported upload format despite what several vendor pages claim. Two validation rules catch people often: a gtin must be exactly 8, 12, 13 or 14 digits with a valid check digit (keep leading zeros, no spaces or dashes), and the standard upload targets the US market only until OpenAI confirms additional countries and currencies for your feed. Beyond the required core, the highest-leverage optional fields are the ones that feed ranking and answer quality: gtin/mpn identifiers, variant modeling (group_id, variant_dict), sale_price, q_and_a, reviews, star_rating/review_count, and two signals unique to OpenAI's spec — popularity_score and return_rate, which let you hand ChatGPT performance data it can't infer from a crawl. There's also ads_metadata, an object for custom key-values like bidding_tier or product_line — meaningless organically, but the backbone of ad-group structure in feed campaigns (below).

A minimal valid row

This is the smallest JSONL record that satisfies the nine required fields. Build your export so this passes before you add anything else:

{"item_id":"TENT-2P-GRN","title":"Two-Person Backpacking Tent, 1.4 kg, Green","description":"Freestanding two-person tent with two doors and two vestibules. Packed weight 1.4 kg. Aluminium poles, 20D ripstop fly. Pitches in about five minutes.","url":"https://example.com/tents/2p-green","brand":"Example Outdoor","seller_name":"Example Outdoor","image_url":"https://example.com/img/tent-2p-green.jpg","availability":"in_stock","price":"249.00 USD"}

Digital goods: what is_digital does and doesn't do

If you sell courses, ebooks, templates, software licences or gift cards, the spec has exactly one digital-specific field: is_digital. Set it to true for an item with no physical shipment and false for a physical item. Three details matter:

If digital products are a large share of your catalog, raise it when you apply for feed access rather than finding out after your first snapshot.

Can you upload your Google Merchant Center feed?

Partly. The spec now documents a Google-compatible product data feed, but you can only use it after OpenAI confirms it for your registered feed. On that path:

For most merchants that makes the Google path a good way to get started and the native format the long-term home, because only the native format carries the eligibility flags, ads_metadata and the OpenAI-only signals covered in the optimization section.

Delivery: snapshot pipeline + API upserts

The file-upload model is a full snapshot: a complete catalog export, treated as the source of truth, pushed over SFTP on a predictable cadence of at least daily. Every publish says this is my entire catalog; anything not in here does not exist.

TopicRule
DeliveryPush to OpenAI over SFTP
FormatParquet preferred, ideally zstd-compressed; jsonl.gz, csv.gz, tsv.gz also supported (no XML)
EncodingUTF-8
FilenameStable — same name every run, overwritten in place, never a new timestamped file
ShardsStable shard set; up to 500,000 items per shard, files under ~500 MB
Removalsis_eligible_search=false hides a product at the next processed snapshot. Omitting it also works, but OpenAI keeps the last processed record for up to 14 days before it expires.

What's new in 2026 — and what makes the old "snapshot-only, no deltas" description obsolete — is the REST API layer: a Feeds, Products, and Promotions API that supports upserting partial changes. OpenAI's own recommended architecture is hybrid: full feed once a day via file upload, updates throughout the day via the API. Small catalogs can run API-only. And note the quiet exclusive: promotions data can only be delivered via the API — if you run frequent price promotions, the API isn't optional.

This split maps cleanly onto team ownership: the nightly snapshot is a warehouse job (a dbt or Spark export of the catalog table), while API upserts belong to whatever system already fires price and inventory change events. The three ingestion failure modes OpenAI warns about are unchanged: missing required fields, outdated field names, and malformed values — and its recommended rollout is still phased: a ~100-item sample with every required field populated, then a QA'd first full snapshot, then steady-state automation.

The three access paths — which door is yours

1. Shopify merchants: you're already in (check the toggle)

OpenAI's shopping documentation states Shopify product data is integrated into ChatGPT through Shopify Catalog — "no additional work is required." Since Shopify launched agentic storefronts in late March 2026, eligible stores are discoverable in ChatGPT by default. Eligibility: the store serves US customers, products meet Shopify Catalog standards, the merchant has accepted the Agentic Storefronts supplemental terms, and policy pages (terms, privacy, returns) are completed. The control lives in Shopify admin under Sales channels → Agentic → ChatGPT. Your job isn't submission — it's data quality (titles, GTINs, attributes, reviews) and verifying the toggle reflects your intent, in either direction.

2. Everyone else, organic: apply for direct feed access

Direct commerce feeds are application-gated — OpenAI describes onboarding as "currently available to approved partners," with applications through its merchant program (chatgpt.com/merchants). After approval you receive SFTP credentials and validate a sample before pushing the full catalog. Vendor guides report the cycle typically runs one to two weeks; OpenAI itself commits to no timeline, so treat that as a plausible median, not a promise. Why bother when ChatGPT can crawl your site? Control and freshness: OpenAI positions the direct feed as the way to "ensure ChatGPT always reflects the most up-to-date information" — and AI-visibility vendor Profound reports that products backed by direct feeds overwhelmingly win the first-offer position when cited (a vendor stat, but directionally consistent with how every marketplace treats first-party data).

3. Retail advertisers: the Ads Manager feed

Separate program, separate door: in Ads Manager, Tools → Feeds → Create Feed generates SFTP connection details (password or SSH-key auth). Products are ads-eligible by default when created this way. Full campaign walkthrough below.

How to submit your products to ChatGPT, step by step

Whichever path you're on, a submission comes down to the same five stages. Shopify merchants skip steps 1 and 4 because Shopify Catalog handles delivery for them.

Five blue glass tiles numbered one to five along a thread of light, showing the stages of submitting a ChatGPT product feed: apply, build, sample, daily snapshot, live.
Apply, build to the spec, validate a ~100-item sample, automate the daily snapshot, then check how products appear.
  1. Pick your door and apply. Organic visibility goes through OpenAI's merchant program at chatgpt.com/merchants, and ads go through Ads Manager → Tools → Feeds. If you want both, do both (see the two-feed map).
  2. Build the export against the current spec. Start with the nine required fields, then add GTINs, variants, reviews and the eligibility flags. Use stable item_ids, because OpenAI matches products by ID and not by filename.
  3. Validate a sample of about 100 items. OpenAI's own rollout guidance is a small sample with every required field populated, then a QA'd first full snapshot. Schema errors cost minutes at this stage and days later.
  4. Automate the daily snapshot. Push a full catalog over SFTP at least daily to a stable filename, then layer API upserts on top if prices or stock change during the day. Tag feed URLs consistently. Our ChatGPT Ads URL parameters guide covers the tagging conventions.
  5. Check how products actually appear. Run shopping prompts for your category and compare what ChatGPT says against your feed. Our guide to tracking ChatGPT visibility shows how to turn that into a weekly measurement rather than a one-off spot check.

Listing products organically doesn't cost anything. The feed is a data contract, not a paid placement. Money only enters when you run product-feed ad campaigns on top of it.

Want the feed built and the ads run for you?

Our White-Glove plan covers the full catalog path: spec mapping, the 100-item sample, the daily snapshot, and then product-feed campaigns with per-segment context hints inside your own OpenAI Ads account. It is $1,499 a month, month-to-month, with no media markup. See plans and pricing →

How ChatGPT ranks products — what OpenAI actually says

OpenAI is unusually explicit that organic product results are not ads: "selected independently by ChatGPT and are not ads, nor influenced by any OpenAI partnerships." Selection considers four things: the user's query and context (including Memory and custom instructions — ChatGPT will skip clown costumes for a user who said they dislike clowns, OpenAI's own example), structured metadata from first- and third-party providers, the model's prior response before search results arrive, and safety standards. Which factor dominates depends on the ask: name a $30 budget and price outranks everything else.

Three merchant-relevant subtleties from the same documentation:

For the broader organic-visibility play beyond product carousels — citations, brand mentions, entity building — see our guide to appearing in ChatGPT answers.

Shopping Research and the Agentic Commerce Protocol

Shopping Research (launched November 24, 2025) is the deep-research mode for buying decisions: users select products and hit "Research," ChatGPT asks clarifying questions, runs a multi-step discovery pass, and returns a personalized buyer's guide — plain-language tradeoffs, top picks with rationale, side-by-side comparisons, and merchant links. For considered purchases, this is where the decision gets made, and merchants who aren't in the data simply aren't in the guide. This is buyer-evaluation visibility in its purest form.

Two facts matter operationally. First, OpenAI names its sources: merchant product data provided through the Agentic Commerce Protocol (ACP), publicly available product information, and other retail sources — and it reads product pages directly, citing them. Second, OpenAI states plainly that some retailers block automated access and get skipped. OpenAI references an "allowlisting process" for merchants without spelling out its mechanics; in practice it resolves to two moves: join the merchant program (feed in via ACP) and make sure your robots.txt and bot protection (Cloudflare and friends) aren't blocking OpenAI's crawlers, especially OAI-SearchBot — which OpenAI says is used for search visibility, not model training.

ACP itself is worth knowing as a strategic marker: an open standard (Apache 2.0) co-developed by OpenAI and Stripe, versioned by date (latest stable 2026-04-17, adding cart, feed, orders, and auth), covering checkout and delegated payment as well as feeds. It's the "common language" layer for agent-to-merchant commerce — and it's bigger than OpenAI: it's how your catalog becomes agent-readable everywhere.

Product-feed ad campaigns — the retail advertiser's walkthrough

Feed campaigns came to Ads Manager in the June 2026 beta wave, and OpenAI told advertisers that ads created from product feeds "have been among the strongest-performing ads in our program to date" (it also relayed one global DTC brand doubling CTR and halving CPC after switching to feed ads — OpenAI's own unaudited example, so weight accordingly). Instead of hand-building ads per SKU, you connect the catalog and let the system select an eligible product when the ad serves — ad title and description are pulled directly from the feed. The mechanics, condensed from OpenAI's help documentation:

  1. Create the feed: Ads Manager → Tools → Feeds → Create Feed. Ads Manager generates SFTP connection details; configure password or SSH-key auth from the feed row's menu.
  2. Upload and validate: push the catalog (up to 2M products) and wait — processing takes minutes to hours and items come online gradually; the ad-group creation modal shows how many are ready.
  3. Create the campaign: Campaigns tab → new campaign → type "Product feed". (Via the Ads API this is mode: product_feed — and it's locked at creation, like the budget type.)
  4. Build the ad group: select the feed and apply product filters to define which products serve; Ads Manager shows the passing product count. When built-in filters aren't enough, this is what ads_metadata is for — pre-compute your segmentation (bidding_tier, product_line, margin bands) in the feed, then filter on it. Structure lives in your data pipeline now, not the ads UI. In a decade of running shopping campaigns for retail clients, the pattern has never changed: account structure decided in the feed beats structure improvised in the interface — and here OpenAI has made that literal.
  5. Create the ad template: one template per ad group, currently limited to selecting your image field; titles and descriptions flow from the feed. Preview against sample products before launch.
  6. Review and launch: confirm feed, product count, creative previews, budget, bid, and targeting — including context hints, which do for conversation matching what your filters do for product matching.
  7. Measure at product level: the Insights API supports a product segment — impressions and clicks per item_id. Feed campaigns without product-segmented reporting are flying blind; this is where you find the 5% of SKUs earning 80% of spend.

Beta constraints worth restating: one feed connection per ad account; feed products serve ads only (no organic spillover during beta — date-stamped July 2026, and exactly the kind of restriction OpenAI may lift quietly); and reported-but-unofficial numbers circulating in trade coverage (1,000-product minimums, ~$25 daily budgets, ~$3 bids) appear nowhere in OpenAI's documentation — the only official capacity figure is 2 million products per feed. For whether the channel's economics clear for you at all, see our cost breakdown and small-business fit guide.

Conversion bidding and the carousel: what changed in August and September 2026

Two changes landed together that materially alter how a feed campaign is worth running, and both are worth acting on rather than noting.

Feed campaigns can now optimize toward conversions

Conversion-optimized cost-per-click (oCPC) campaigns are now available in beta for product feed campaigns. oCPC is in open beta for both standard and product-feed campaigns, using the same campaign and ad-group endpoints. Until this release, feed campaigns ran on click or impression models only — which meant a retailer could buy catalog clicks efficiently but could not ask the auction to bias toward the clicks that actually became orders.

The beta is scoped:

Through the Ads API it is the same POST /campaigns endpoint you already use, with three fields doing the work: mode: "product_feed", the linked product_feed_id, and bidding_type: "conversions" alongside conversion_event_setting_ids. Create the child ad group with billing_event_type: "click" — and note that max_bid_micros on that ad group is your CPA bid, not a click bid.

One feed-specific detail worth knowing before you build: the ad group automatically inherits the campaign's product feed. You do not repeat product_feed_id on it. Include product_set only when you actually want product filters, and when you do, its product_feed_id must match the campaign's feed — a mismatch here is a common and confusing setup failure.

The prerequisite most merchants underestimate is on their own side of the wire: conversion optimization needs working conversion tracking and exactly one eligible active standard event, typically order_created. If your pixel or Conversions API implementation is incomplete, oCPC will not save the campaign — it will simply have less signal to work with. Our conversion tracking guide is the prerequisite read, and the full bidding mechanics are in the oCPC guide.

There is a sharper edge here worth stating: conversion optimization amplifies your feed's economics rather than correcting them. A feed carrying stale availability flags, wrong prices, or thin titles will now spend into its own errors faster. Fix the feed first, then turn on conversion bidding — in that order.

The multi-product carousel

OpenAI began testing a carousel format for product feed ads in August 2026, showing multiple products from one advertiser in a single unit. It is now serving and measurable — as of September 2026 Ads Manager reports carousel card impressions and clicks, with product-level fields in the Insights API. OpenAI has not declared general availability, so treat it as a live format you can measure rather than one you can request. It is the first meaningful departure from the single-product sponsored card, and it changes what a good feed looks like.

A single-product unit rewards having one excellent hero item. A carousel rewards coherent sets — several products that make sense next to each other, with consistent image treatment, comparable price points, and titles that read as a range rather than a jumble. If your catalog imagery is inconsistent across SKUs, that inconsistency was previously invisible and is now displayed side by side in one unit.

Practical preparation: audit image consistency within your best-selling product sets, make sure titles are readable at small size without the brand name eating the character budget, and check that the products likely to be grouped together are all actually in stock. Availability errors are more conspicuous in a carousel, because the neighbouring products prove the unit was served for a live query.

The carousel stopped being a black box. When a product feed campaign serves in the multi-product carousel ad unit, reporting now includes carousel card impressions and clicks in Ads Manager, and product-level fields in the public Insights API. A carousel card impression is counted when an individual product card becomes viewable — card-level, not unit-level.

Carousel card impressions are not billable impressions OpenAI states plainly that carousel card impressions are separate from billable ad impressions and are not included in billable impression counts. This is the single thing to get right about the metric. One served carousel can produce several card impressions, so dividing spend by card impressions produces a CPM that is not your CPM and is wrong by roughly the number of visible cards. Card metrics are an engagement diagnostic; billable impressions remain the cost denominator.

Two more constraints define how you should use it. Complete data is available beginning August 20, 2026, on a rolling 30-day basis. That means the history starts there, and it is a moving window — anything older than thirty days leaves. If you intend to compare this quarter's carousel performance to next quarter's, you need your own export job now, because the platform will not keep it for you. Pull the product-level fields from the Insights API on a schedule and warehouse them.

What it is actually good for: this is the first product-level visibility feed ads have had. Until now a feed campaign reported in aggregate and the catalog inside it was undifferentiated — you knew the campaign worked, not which SKUs earned the attention. Card impressions and clicks let you ask real questions of the catalog. Which products get shown but never clicked? That is usually an image or a price problem, not a relevance one. Which get clicked far above their share of impressions, and should therefore be promoted into more product sets? Which positions in the carousel actually earn attention — and does your best margin item ever appear in one?

The honest caveat: card-level engagement is not conversion. A high card CTR on a low-margin SKU that cannibalises a better one is a worse outcome that looks like a better number. Read card metrics alongside conversion data and margin, exactly as you would read impression share on any other channel — as a diagnostic of what the unit is doing, not as a measure of whether it is working.

Where checkout stands (July 2026) — read before promising "buy in ChatGPT"

Status: transitional. Instant Checkout launched September 29, 2025 (Etsy first, Shopify merchants following, Stripe-powered, small fee on completed purchases). It underperformed — reporting cited thin merchant adoption and Walmart's EVP saying in-chat conversion ran three times lower than click-out — and in March 2026 OpenAI pivoted: "Instant Checkout is moving to Apps." The current default is discovery in ChatGPT, purchase on the merchant's own storefront or app (Walmart's Sparky, Target's app, Shopify agentic storefronts), while OpenAI's own help pages still document Instant Checkout for some eligible products and merchants. Practical read: build for discovery-to-your-checkout today, keep is_eligible_checkout data clean so you're ready for whatever in-chat purchasing becomes, and don't architect your business case around in-chat conversion.

Optimizing the feed — writing for a model, not a keyword index

Google Shopping feeds are optimized for a matching engine; ChatGPT feeds are read by a language model that reasons about fit, then rewrites your listing for the user. That changes the craft:

Coming from Google Merchant Center — the translation

HabitMerchant Center worldChatGPT product feed
Delivery directionScheduled fetch of your hosted file, or Content APIYou push over SFTP; REST API for upserts
Update styleIncremental API updates commonSnapshot is truth + API deltas layered on top
Preferred formatTSV/XML legacy, API JSONParquet (zstd) — a warehouse format, not a spreadsheet
Surface controlSeparate destinations/programsPer-product flags: is_eligible_search / _checkout / is_ads_eligible
Ranking currencyBids + feed qualityOrganic: relevance to the conversation; paid: separate feed + auction
RemovalsExpire or delete via APIis_eligible_search=false or omit from next snapshot

Your GMC export is the right starting point. The attribute overlap is large, and once OpenAI confirms it for your feed you can even upload it in Google-compatible format. But it is a starting point, not a finish line: field names differ, the eligibility flags don't exist in GMC, and the copy that survives Google's character limits is usually too thin for a model that rewards self-contained, attribute-rich descriptions. Budget a real transformation step, not a rename.

Operating the pipeline — the monitoring checklist

Why your products aren't showing up in ChatGPT, and how to fix it

Most "ChatGPT shows the wrong price" and "my products aren't in ChatGPT" problems come down to a short list of causes. Work through it in this order:

Frosted product cards passing through a blue glass gate toward a glowing orb, with two grey rejected cards set aside, illustrating ChatGPT product feed rows failing validation.
Rows that fail validation never reach ChatGPT. Check the rejects before you blame ranking.
SymptomLikely causeFix
Rows rejected at ingestionA required field is missing, a field name is outdated or misspelled, or availability is blank or not in the enumValidate against the nine required fields and the allowed availability values in CI before every publish
Products missing entirelyNot approved yet, is_eligible_search=false, or you're selling outside the US default marketConfirm approval status, check the flag, and ask OpenAI to confirm extra markets before targeting them
ChatGPT shows the wrong priceA stale snapshot, intraday price changes with no API upserts, a price formatted as minor units or with thousands separators, or a feed price that differs from the product pageDiff feed prices against the live site on each publish, use 79.99 USD formatting, and push intraday changes through the API
Discontinued product still appearsIt was dropped from the snapshot, and OpenAI keeps the last record for up to 14 daysSet is_eligible_search=false for a removal that takes effect at the next processed snapshot
GTIN-matched data looks wrongA GTIN with the wrong length or check digit, or leading zeros lost when IDs were stored as numbersStore identifiers as strings and validate the check digit
Products appear but competitors get recommendedThin descriptions, missing reviews or attributes, or a crawler blocked from your product pagesSee feed optimization, allow OAI-SearchBot, and read why ChatGPT recommends competitors

ChatGPT product feed management tools: build or buy?

You can build the feed yourself or let a feed tool generate it. The search results for "ChatGPT product feed" are full of tools offering OpenAI-format exports: Shopify's native Agentic channel, multichannel feed platforms such as Feedonomics and DataFeedWatch, cart plugins like PrestaShop feed modules, and catalog-ad vendors adding ACP outputs. How to choose:

Whichever you pick, the tool only produces the file. The work that moves results is the segmentation and testing on top of it, which our bulk product-feed campaigns guide covers in detail.

Action plans by merchant type

If you're on Shopify

  1. Verify the integration state: Shopify admin → Sales channels → Agentic → ChatGPT (default-on for eligible US-selling stores; confirm it matches your intent).
  2. Complete the eligibility surface: policy pages (terms, privacy, returns) under Settings → Policies; accept the agentic storefront terms.
  3. Audit catalog quality where ChatGPT reads it: descriptive non-keyword-stuffed titles, GTINs, categories, variant hygiene, review apps feeding structured data.
  4. Confirm OAI-SearchBot isn't blocked by robots.txt or your bot-protection layer.
  5. Add AI-referral tracking (ChatGPT referrals surface in Shopify attribution like any channel) and watch weekly.

If you're a DTC brand or retailer not on Shopify

  1. Apply for direct feed access via OpenAI's merchant program — the queue is real, so start the clock now.
  2. While you wait: fix crawlability (OAI-SearchBot allowed, server-side Product schema on PDPs), since crawled data is your visibility until the feed lands.
  3. Build the export against the current spec: 100-item sample first, every required field populated, is_eligible_search=true, checkout flag off until you're ready for its policy requirements.
  4. Stand up the snapshot pipeline (nightly warehouse job → Parquet → SFTP) and plan API upserts for price/availability if you change them intraday. Promotions need the API, full stop.
  5. Instrument feed URLs (utm_medium=feed) before the first snapshot ships, not after.

If you're a retail advertiser

  1. Create the Ads Manager feed (Tools → Feeds), configure SFTP, upload, and let validation finish before building campaigns.
  2. Precompute segmentation into ads_metadata (margin tiers, product lines, bid tiers) — it's your only custom grouping lever, and it lives in the data pipeline.
  3. Start with a "Product feed" campaign over your highest-margin, highest-AOV segment; one ad group per meaningful segment, one template each.
  4. Write context hints per ad group that describe the conversations — not the keywords — where those products belong.
  5. Pull product-segmented insights weekly; kill or re-bid the SKU tail, and feed winners back into segmentation. Layer customer lists as suppression once purchase volume exists.
  6. Remember the beta wall: this feed buys ads, not organic presence. Run the organic track (paths 1–2) in parallel — see measuring ROI for how to keep the two honestly attributed.

Mistakes to avoid

  1. Treating the two feeds as one. The Ads Manager feed doesn't grant organic visibility (beta rule), and the commerce feed doesn't run ads. Budget both pipelines.
  2. Building from stale field names. enable_search-era tutorials still dominate search results. Legacy names are still accepted, but the newer name wins when both are sent, so mixed exports behave unpredictably. Use the current is_eligible_* and is_ads_eligible names.
  3. Typing is_ads_enabled. Not a field. Ingestion reads is_ads_eligible (or the legacy alias) — nothing else.
  4. Timestamped filenames / append-log thinking. One stable name, whole truth, overwritten in place, every day.
  5. Implicit removals. A product dropped from the snapshot can linger for up to 14 days on its last record. Set is_eligible_search=false when it needs to go now.
  6. Marketing copy in descriptions. Flagged by practitioners as a validation-stage rejection cause, and it strips the model of the facts it ranks on. Save the poetry for the landing page.
  7. Skipping the 100-item sample. Schema errors cost minutes in the sample and days in a full snapshot.
  8. Publishing without monitoring or attribution. A stale feed misprices you everywhere; untagged URLs make the channel invisible in analytics. Both are silent failures.

Feed work is media work in this channel — if you would rather not own the catalog hygiene, weekly hint iteration and purchase-event plumbing yourself, our ChatGPT Ads service for ecommerce brands covers all three inside your own OpenAI Ads account.

Done for you: ChatGPT Ads Audit

Account live but underperforming? Our ChatGPT Ads audit runs eleven checks across measurement, structure, hints, bidding, creative and incrementality, and delivers written findings in ten business days — from $3,999, credited in full against managed service.

Frequently asked questions

What is a ChatGPT product feed?

A structured export of your product catalog delivered to OpenAI so your products can appear in ChatGPT's commerce surfaces. As of 2026 there are two separate feed systems: the organic commerce feed (powering ChatGPT Shopping and Shopping Research) and the Ads Manager feed (powering product-feed ad campaigns — and during the beta, used only for ads).

What's the difference between the organic feed and the Ads Manager feed?

The commerce feed is application-gated through OpenAI's merchant program and makes products eligible for organic results. The Ads Manager feed is self-serve (Tools → Feeds), holds up to 2 million products, and its products serve ads only during the beta. Same base schema, different doors, different surfaces — merchants who want both need both.

What file format does a ChatGPT product feed use?

Parquet preferred, ideally zstd-compressed; gzipped JSONL, CSV, and TSV also supported; UTF-8 required. XML is not supported. Field names must match the current spec, including is_eligible_search, is_eligible_checkout, and (for ads) is_ads_eligible.

How do I submit my products to ChatGPT?

Shopify merchants are integrated automatically via Shopify Catalog (manage under Sales channels → Agentic). Other merchants apply for direct feed access through OpenAI's merchant program, then push over SFTP after approval. Retail advertisers create a separate feed inside Ads Manager for feed-based campaigns.

How often should I update the feed?

Full snapshot at least daily via file upload, with intraday price and availability changes upserted through the Feeds/Products/Promotions API — that hybrid is OpenAI's own recommendation. The snapshot is the source of truth: anything absent from the latest snapshot is effectively removed.

Do I need a feed if I'm on Shopify?

No — Shopify Catalog already feeds ChatGPT, and eligible stores became discoverable by default with agentic storefronts in March 2026. Your leverage is catalog data quality and the Agentic sales-channel settings. A direct feed adds first-party control; an Ads Manager feed is still required if you want feed-based ad campaigns.

How does ChatGPT decide which products to show?

OpenAI says organic results are selected independently — not ads, not partnership-influenced. Selection weighs the query and user context (Memory, custom instructions), structured metadata from providers and feeds, the model's prior reasoning, and safety policies. Merchant listings under a product are ranked by availability, price, quality, and maker/primary-seller status.

Is a ChatGPT product feed like Google Merchant Center?

Conceptually yes, mechanically no: push over SFTP instead of scheduled fetches, Parquet instead of spreadsheets, snapshot-as-truth plus API upserts instead of pure incrementals, and per-product eligibility flags instead of separate destination programs. Reuse your GMC data as raw material, but transform it properly.

How do I remove a product from ChatGPT?

Explicitly: set is_eligible_search=false, or omit the record from the next full snapshot. Absent means removed, because the snapshot is the source of truth.

What is Shopping Research and how do I get included?

ChatGPT's agentic buying-decision mode (launched November 2025): it researches across merchant data provided through the Agentic Commerce Protocol and public retail sources, then writes a personalized buyer's guide. To be includable: join the merchant program so your data flows via ACP, and don't block OpenAI's crawlers — OpenAI states retailers that block automated access get skipped.

Are product results in ChatGPT paid placements?

No — OpenAI states product results are organic and independent. Ads are a separate, labeled system on a separate feed. The commerce feed buys you nothing but eligibility; relevance does the rest.

How big can the feed be?

Commerce feed: up to 500,000 items per shard, shard files under ~500 MB, stable shard set. Ads Manager feed: up to 2 million products, one feed connection per ad account.

Can product feed campaigns use conversion bidding?

Yes. oCPC is in open beta for both standard and product-feed campaigns, supporting click-billed campaigns with fixed or manual bidding and a positive conversion bid cap. Via the API: set mode to product_feed, include the linked product_feed_id, and set bidding_type to conversions. The ad group inherits the campaign's feed automatically — include product_set only for product filters. You still need working conversion tracking and exactly one eligible active standard event, typically order_created.

What is the multi-product carousel in ChatGPT product feed ads?

It is a format that shows several products from one advertiser in a single ad unit, rather than the single-product sponsored card. OpenAI began testing it in August 2026; from September 2026 it is measurable, with carousel card impressions and clicks in Ads Manager and product-level fields in the Insights API. It rewards coherent product sets with consistent imagery and comparable price points — and it makes inconsistent catalog imagery and stock errors far more visible than a single-product unit did.

What are carousel card impressions in ChatGPT Ads reporting?

When a product feed campaign serves in the multi-product carousel ad unit, Ads Manager reports carousel card impressions and clicks, with product-level fields also exposed in the public Insights API. A card impression is counted when an individual product card becomes viewable. Critically, these are separate from billable ad impressions and are not included in billable impression counts — never divide spend by card impressions to compute a CPM. Complete data is available from August 20, 2026 on a rolling 30-day basis, so export what you want to keep.

What fields are required in an OpenAI product feed?

Nine, on every row: item_id, title, description, url, brand, seller_name, image_url, availability and price. Other fields become required only when you enable a feature: variant fields for variant groups, is_eligible_checkout plus privacy-policy and terms URLs for checkout, and is_ads_eligible for ads.

How do I list digital products like courses or ebooks in ChatGPT?

Use the is_digital field (true means no physical shipment), but note the spec marks it "requires setup". Digital support must be enabled for your integration, so raise it when you apply. Digital items still need all nine required fields.

Can I upload my Google Merchant Center feed to ChatGPT?

Yes, once OpenAI confirms the Google-compatible format for your registered feed. Rows need id, title, description, link, image_link, availability, price and brand, as TSV/TXT or CSV (gzip allowed). Accepted products have search on and checkout off, and you lose the per-product OpenAI flags.

Why does ChatGPT show the wrong price for my product?

Usually a stale snapshot, intraday price changes that never reached the API, a price written in minor units or with thousands separators, or a mismatch between the feed and the product page. Format prices as 79.99 USD, push changes through the API, and diff feed prices against the live site on every publish.

Does it cost money to list products in ChatGPT?

No. Organic listing through the commerce feed or Shopify Catalog has no listing fee. You only pay if you run product-feed ad campaigns in ChatGPT Ads Manager.

Can I list products outside the US?

The standard OpenAI-format upload currently targets the US. Row-level market columns don't change that default, and other countries and currencies need OpenAI's confirmation before you target them.

Sources and further reading

Want your catalog in ChatGPT and selling?

Our White-Glove plan builds and runs the whole path for you: feed spec mapping and QA, the daily snapshot, then product-feed campaigns with per-segment context hints and weekly optimization inside your own OpenAI Ads account. It costs $1,499 a month, month-to-month, with no media markup. Prefer to talk first? Book a 30-minute call with Tarun.

See plans and pricing
Tarun Kapoor, founder of Context Hints, seated at a wooden desk with a soft city light behind him.
Tarun Kapoor
Founder & CEO, Context Hints

Twelve years of media buying across GroupM, WPP, Ogilvy & Mather, and Neil Patel Digital. Has personally owned media for Nestlé, Sage, Qualcomm, Aetna, Weight Watchers, Chubb and Novotel.