How to Prepare Your Magento 2 Store for ChatGPT Shopping (ACP Feed + Data Requirements)

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.

How to prepare your Magento 2 store for ChatGPT Shopping

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-SearchBot is 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

01

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.

02

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.

03

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.

04

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.

05

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

FieldMagento sourceWatch out for
item_idSKU of the simple product (child SKU for configurables)Never reuse an ID for another item
titleName per store view, with the variant150 characters or fewer
descriptionDescription per store viewPlain text, no HTML
urlProduct URL in the store viewPublic and absolute
brandmanufacturer or a brand attributeNo “unknown” placeholders
seller_nameStore or company nameA real seller name
image_urlChild image, else parent imageDirect JPEG or PNG URL
availabilitySalable status (MSI)in_stock, out_of_stock, pre_order, backorder; empty rejects the row
priceRegular price + store currencyWrite 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.

More on this topic

See also: How to connect Magento 2 to ChatGPT and Claude – the three ways, step by step.