Shelfgrade

Spec watch

Spec Watch #002: OpenAI's product feed now requires nine fields, not twelve

Oct 7, 2026 · Shelfgrade research · produced with automated spec-verification, human-reviewed

Our weekly verification run flagged drift on 2026-09-09 in OpenAI’s product feed specification, the page every native-schema rule in our audit cites. It is a vendor change, not a misreading on our side: the Internet Archive’s 2026-08-28 capture still shows the field table we verified on 2026-08-27, and its 2026-09-13 capture shows the rewrite.

1. Nine required fields, not twelve. The old table marked is_eligible_search, is_eligible_checkout and target_countries “Required”. The live page now says:

“Submit one row per purchasable item or variant. Include the nine required fields in Basic product data, then add the optional data that describes your products.”

The three fields that left the required list, verbatim from their current rows:

  1. is_eligible_search — Optional: “true enables search eligibility; false disables it and checkout eligibility. Omitted or empty: true.”
  2. is_eligible_checkout — “Conditionally required to opt into checkout”: “Omitted, empty, or false: disabled.”
  3. target_countries — “Optional; requires market setup”: “Standard uploads use ["US"] regardless of this column.”

2. availability_date left the native schema. The old table had it as “Required if availability=pre_order”. The native section now reads only:

“Submit current stock status with each row. Use pre_order for an item offered before release and backorder for an item temporarily awaiting stock. These values do not schedule a future stock change.”

The field survives in the Google-compatible profile, which still requires it for both stock states: “Required for preorder and backorder.”

3. Two length caps are gone. The old table said “Max 100 chars” for item_id and “Max 70 chars” for brand. The new one sets no limit for either; titles and descriptions get guidance instead: “aim for at most 150 and 5,000 characters, respectively.”

What it means for merchants. A feed carrying only the nine basic fields is complete for discovery; the spec’s own minimal example notes “Search defaults to enabled and checkout to disabled.” Filling in target_countries does not reach new markets: “The standard OpenAI-format upload currently targets the US. Row-level market columns do not change that default.” A pre-order row needs no date on the native path, while a Google-format feed needs one on every preorder and backorder row.

What we changed (2026-10-07). Shelfgrade audits no longer flag missing eligibility flags or target_countries, no longer ask for availability_date on native pre-order rows, and dropped the item_id and brand length checks. Corrected feeds stop guessing target_countries from the price currency, because the spec now states: “A currency, product URL, or sizing system does not select a destination market.” Google-format feeds may now mark a product as having no identifier with identifier_exists set to false as well as no (“yes / true or no / false”). Checkout-eligible rows still need seller_privacy_policy and seller_tos, both “Conditionally required for checkout.”

Primary sources

Want these rules checked against your own store? The free scan takes 30 seconds.

Scan your store →

← All research · The AEO Quickstart →