Every required field, the control flags, and the mistakes that quietly cost you eligibility.
The product feed is the core artifact of ChatGPT Shopping — the file OpenAI reads to know your products, prices and stock. Here is the specification in practical form.
item_id (stable, ≤100 chars) · title (≤150, plain text) · description (≤5,000, plain text, no HTML) · url (must resolve 200) · image_url (JPEG/PNG) · brand (≤70) · price as “amount CURRENCY” · availability (in_stock / out_of_stock / pre_order / backorder / unknown) · seller_name · target_countries.is_eligible_search — appear in ChatGPT answers. is_eligible_checkout — marks a row checkout-ready (requires search=true plus live seller_privacy_policy and seller_tos URLs); ChatGPT does not currently run in-chat checkout for merchants. is_ads_eligible — ads feeds only.group_id + variant_dict · HTML left inside descriptions · prices without a currency code · missing GTIN/MPN without identifier_exists=no · sale prices not lower than list price · policy URLs that 404. Malformed rows are rejected; variants without group_id are treated as separate single listings, which weakens how they display.Enter your store on the homepage and we generate your actual OpenAI-spec feed on the spot, with a line-by-line readout of what blocks search and checkout eligibility.
Check my store →