Last verified: 23 September 2026 against OpenAI’s Product Feed Spec (Stable) and the merchant page at chatgpt.com/merchants.
Short answer: ChatGPT finds products in two ways. It crawls your pages with OAI-SearchBot, and it reads product feeds that merchants send to OpenAI under the Agentic Commerce Protocol (ACP). A Magento store can appear through crawling alone. A feed adds control and fresher price and stock. The purchase itself happens on your own site.
Shopify and Etsy catalogues are connected automatically. Magento stores are not: you build the feed and apply yourself. This guide is for Magento.
What changed in 2026
In March 2026 OpenAI stepped back from checkout inside ChatGPT (OpenAI, 24 March 2026). ACP now serves mainly product discovery: merchants share feeds and promotions, and shoppers buy on the merchant’s site. Older guides that describe a 15-minute push cycle, prices in minor units or in-chat checkout describe the 2025 model.
Before you start: the pre-check
A feed does not help if ChatGPT cannot read your pages or trust your product data. Check three things first:
- Crawler access –
OAI-SearchBotis allowed in robots.txt. See robots.txt for AI crawlers in Magento 2. - Product schema – every product page has server-rendered JSON-LD with
offers.availability. - Same data everywhere – price and stock in the feed match the product page. A mismatch is worse than either one missing.
bin/magento angeo:aeo:audit
Step by step
Install the feed module
composer require angeo/module-openai-product-feed, then bin/magento setup:upgrade. Add angeo/module-openai-product-feed-api only if another system needs to pull feed data over REST.
Fill in the gaps Magento has
Magento has no standard brand field: map manufacturer or your own brand attribute, and fill empty values. Set the seller name. Make sure descriptions are plain text, not Page Builder HTML.
Generate the feed and check a few rows
bin/magento angeo:product-feed:generate. Open the output and check a simple, a configurable and an out-of-stock product: nine required fields present, price as 79.99 USD, variants as separate rows.
Apply at chatgpt.com/merchants
As of September 2026 applicants join a waitlist, and shopping is live for US users. OpenAI plans a self-serve merchant portal. There are no fees on purchases that start in ChatGPT.
Deliver and keep it fresh
After approval, deliver the feed by SFTP, API or a supported feed provider. Send a full snapshot at least once a day, and update price and availability whenever they change. A product missing from a snapshot stays for up to 14 days; to hide it at once, set is_eligible_search to false.
The nine required fields
| Field | Magento source | Watch out for |
|---|---|---|
item_id | SKU of the simple product (child SKU for configurables) | Never reuse an ID for another item |
title | Name per store view, with the variant | 150 characters or fewer |
description | Description per store view | Plain text, no HTML |
url | Product URL in the store view | Public and absolute |
brand | manufacturer or a brand attribute | No “unknown” placeholders |
seller_name | Store or company name | A real seller name |
image_url | Child image, else parent image | Direct JPEG or PNG URL |
availability | Salable status (MSI) | in_stock, out_of_stock, pre_order, backorder; empty rejects the row |
price | Regular price + store currency | Write 79.99 USD: amount, space, ISO 4217 code |
Variants: each size or colour is its own row with its own item_id. Rows of one product share a group_id (the parent SKU) and list their options in variant_dict. Formats: JSON Lines, CSV or TSV, optionally gzip. Full field reference: ACP product feed – definition.
Discovery is free. Results in ChatGPT are organic, not paid. Being eligible does not guarantee that a product is shown.
Checklist
- OAI-SearchBot allowed; product pages carry JSON-LD with availability
- Feed has all nine required fields on every row; price as
amount CURRENCY - Brand filled for every product; descriptions without HTML
- Variants as separate rows sharing a
group_id - Full snapshot at least daily; price and stock updated when they change
- Feed and product pages show the same price and stock
Questions
Do I need a product feed to appear in ChatGPT?
No. OpenAI says a store can appear if ChatGPT already crawls it, which needs OAI-SearchBot allowed in robots.txt. A feed gives more control and more current price and stock data.
What fields does the ACP product feed require?
Nine on every row: item_id, title, description, url, brand, seller_name, image_url, availability and price. Price is an amount and a currency code, for example 79.99 USD.
How often should the feed be updated?
OpenAI recommends a full snapshot at least once a day, and updating price and availability whenever they change. A product missing from a snapshot is kept for up to 14 days.
Is ChatGPT shopping open to Magento stores outside the US?
As of September 2026, applicants join a waitlist at chatgpt.com/merchants and shopping is live for US users. Standard feed uploads target the US; other countries need setup confirmed by OpenAI.
Can shoppers buy inside ChatGPT?
Normally not. In March 2026 OpenAI moved away from in-chat Instant Checkout. Purchases that start in ChatGPT complete on the merchant’s own site, and there are no fees on them.
Related: ACP – definition · ACP vs UCP for Magento 2 · How ChatGPT, Gemini and Perplexity find products · Module: ChatGPT Shopping feed
Check crawler access, product schema and your feed in one scan.
See also: How to connect Magento 2 to ChatGPT and Claude – the three ways, step by step.