{
  "id": "C07",
  "url": "https://cartforagents.com/guides/product-specification-template",
  "title": "Product specification template: comparable values, units and test conditions",
  "description": "Use a specification template to retain units, measurement conditions, source dates and uncertainty instead of treating bare numbers as comparable.",
  "answer": "Record every specification as a number plus a unit from one fixed list for that kind of measurement, keep the exact published wording beside it, and add the qualifier (up to, as low as, nominal, plus or minus), the condition, the part of the product it covers, the source and the date checked. Convert to a second unit from that record, never by retyping. Copy the template below and fill one row per specification.",
  "take": "A number without its unit and condition isn't comparable, and comparing is exactly what agents do. Two listings that both say \"26\" can mean different things; the template makes yours unambiguous.",
  "summary": "Two listings can both say \"26\" and mean different things. This template keeps each number with its unit, its wording and the conditions it was measured under, so a shopper or an agent can line it up against the next product.",
  "claims": [
    {
      "text": "OpenAI's product feed specification requires a unit with dimensions (in, cm, ft, m or mm) and with weight (g, kg, oz or lb), says that when the unit is omitted there is no unit conversion or inference, tells merchants to convert measurements before uploading because units are not inferred from the market or sizing system, and asks for the product's dimensions rather than its shipping package.",
      "source_title": "OpenAI Commerce: Products feed specification, Item information",
      "source_url": "https://developers.openai.com/commerce/specs/feed",
      "source_date": "2026-10-27",
      "method": "documented",
      "limitation": "Living developer documentation; the date is when we read it, not a publication date. It describes what to submit in a feed, not how ChatGPT ranks or displays products, and it applies to merchants sending OpenAI a feed."
    },
    {
      "text": "The same specification says to omit an unknown optional value rather than send placeholders such as \"unknown\" or \"n/a\", that an empty value does not mean zero or false, and that top-level attributes and variant-level values are not reconciled for you if they conflict.",
      "source_title": "OpenAI Commerce: Products feed specification, Value conventions and Item information",
      "source_url": "https://developers.openai.com/commerce/specs/feed",
      "source_date": "2026-10-27",
      "method": "documented",
      "limitation": "Living documentation read on this date. It governs the feed file, not the internal records a merchant keeps."
    },
    {
      "text": "Shopify metafields include measurement types that store a value paired with a unit, including dimension, weight, volume (with US and imperial gallons and pints as separate units), area, temperature, duration, volumetric flow rate and sound level, whose only unit is decibels.",
      "source_title": "Shopify developer documentation: List of data types (metafields)",
      "source_url": "https://shopify.dev/docs/apps/build/metafields/list-of-data-types",
      "source_date": "2026-10-27",
      "method": "documented",
      "limitation": "Living documentation read on this date. A metafield type stores a value and unit; it does not record the measuring condition, and it does not guarantee that any AI channel receives or displays the field."
    },
    {
      "text": "Shopify says Catalog Mapping can make sure product data stored in custom fields such as metafields and metaobjects is correctly sourced for agentic storefronts.",
      "source_title": "Shopify Help Center: Shopify Catalog and product discovery for agentic storefronts",
      "source_url": "https://help.shopify.com/en/manual/online-sales-channels/agentic-storefronts/products",
      "source_date": "2026-10-27",
      "method": "documented",
      "limitation": "Living help page read on this date. It does not promise that every mapped field reaches every assistant unchanged."
    },
    {
      "text": "Shopify marks some Global Catalog response fields as Inferred, generated or enriched by Shopify, including the description and the technical specifications list, and says they might not always be present or might vary in accuracy.",
      "source_title": "Shopify: Global Catalog MCP, Inferred response fields",
      "source_url": "https://shopify.dev/docs/agents/catalog/global-catalog",
      "source_date": "2026-10-27",
      "method": "documented",
      "limitation": "Living developer documentation read on this date. It does not say how the fields are generated or how any assistant uses them."
    },
    {
      "text": "For \"anti theft backpack for city travel\", the description at position 8 ended \"Height: 11.2 inch Width: 7.5 inch Depth: 2.4lbs\", and that record's generated spec list said \"Depth 2.4 in\". The record at position 5, for what appears to be the same 28-litre backpack, had a generated spec list giving 19.7 x 11.2 x 7.5 in and a weight of 2.4 lbs.",
      "source_title": "Cart for Agents: Receipts cited by our guides (Shopify agent-catalog snapshot, Oct 26, 2026)",
      "source_url": "https://cartforagents.com/research/agent-shopping-research#receipts-cited-by-our-guides",
      "source_date": "2026-10-26",
      "method": "observed",
      "limitation": "We did not confirm the two records are the same variant, and we do not know the true dimensions. The pattern looks like a weight printed under a length label, but we cannot prove how it happened."
    },
    {
      "text": "In the same humidifier search, Shopify-generated metadata on 10 listings used one label, \"Mist Output\", for 320 ml/h on two records and for \"4 inches (10.16 cm) with 30° tilting\" on a third, whose description describes a 4-inch mist outlet. One generated list gave a tank as \"6.2 liters (25.36 pints)\", although 6.2 litres is about 13.1 US pints or 10.9 imperial pints; two other generated litre-to-gallon conversions in the result were correct.",
      "source_title": "Cart for Agents: How we checked (this guide)",
      "source_url": "https://cartforagents.com/guides/product-specification-template#how-we-checked",
      "source_date": "2026-10-26",
      "method": "observed",
      "limitation": "One search, one unpersonalized snapshot of Shopify's catalog. We cannot see what Shopify generated these fields from; the values may come from merchant data we did not receive. Examples, not an error rate."
    },
    {
      "text": "In that result, the 10 product descriptions gave tank size in litres in 6 cases and in gallons in 2, without saying US or imperial; 2 gave none. Room area appeared in 4 descriptions, written as \"ft²\", \"square feet\" and \"sq ft\"; one more description said only \"medium to large rooms\". No description or generated field wrote a decibel figure as dB(A).",
      "source_title": "Cart for Agents: How we checked (this guide)",
      "source_url": "https://cartforagents.com/guides/product-specification-template#how-we-checked",
      "source_date": "2026-10-26",
      "method": "observed",
      "limitation": "Counts of what was written in one result of 10 listings, six of them from one seller. It does not measure any product, and it says nothing about how common these patterns are across Shopify."
    },
    {
      "text": "For \"toddler snowsuit rated for minus 30\", one description rated the insulation in the hood to -30°C, while the generated spec line in the same record said \"Insulation: [material brand] rated to -30°C\", without the word hood.",
      "source_title": "Cart for Agents: Receipts cited by our guides (Shopify agent-catalog snapshot, Oct 26, 2026)",
      "source_url": "https://cartforagents.com/research/agent-shopping-research#receipts-cited-by-our-guides",
      "source_date": "2026-10-26",
      "method": "observed",
      "limitation": "One record. We did not inspect the garment or the manufacturer documentation, so the full garment rating is unknown to us."
    },
    {
      "text": "In a supplied-snippet simulation with an invented humidifier among 7 real listings, where each model picked 2 of 8 (25% by chance), the vague version was picked in 3 of 180 Claude sessions (three models), 0 of 60 on GPT-6.1-Sol, 6 of 60 on Gemini 3.8 Flash and 3 of 54 on Gemini 3.1 Pro. The same product with its facts as a spec line (\"Noise: 28 dB on low · Coverage: up to 500 sq ft · Tank: 4 L · Runtime: up to 40 h on low\") was picked in 134 of 180, 20 of 60, 19 of 59 and 15 of 55.",
      "source_title": "Cart for Agents: Vague vs specific product facts, simulated picks by Claude, GPT and Gemini models",
      "source_url": "https://cartforagents.com/research/vague-specific-product-facts-simulation",
      "source_date": "2026-10-27",
      "method": "controlled-simulation",
      "limitation": "Models chose from snippets we supplied and never opened pages. The product and its facts were invented. On GPT and Gemini the spec line won only with a detailed shopper brief written to fit it, and never with a one-line ask. Not live ChatGPT or Gemini visibility, rank or sales, and it does not isolate the effect of units."
    },
    {
      "text": "OpenAI says a product appears in ChatGPT's shopping carousel when ChatGPT perceives it to be relevant to the shopper's intent, considering the query and context such as Memory or Custom instructions.",
      "source_title": "OpenAI Help Center: Shopping with ChatGPT Search, How product results are selected",
      "source_url": "https://help.openai.com/en/articles/11128490-shopping-with-chatgpt-search",
      "source_date": "2026-10-27",
      "method": "documented",
      "limitation": "Living help article read on this date. It lists inputs, not weights, and says nothing specific about units."
    }
  ],
  "sources": [
    {
      "title": "OpenAI Commerce: Products feed specification",
      "url": "https://developers.openai.com/commerce/specs/feed",
      "accessed": "2026-10-27"
    },
    {
      "title": "Shopify developer documentation: List of data types (metafields)",
      "url": "https://shopify.dev/docs/apps/build/metafields/list-of-data-types",
      "accessed": "2026-10-27"
    },
    {
      "title": "Shopify Help Center: Shopify Catalog and product discovery for agentic storefronts",
      "url": "https://help.shopify.com/en/manual/online-sales-channels/agentic-storefronts/products",
      "accessed": "2026-10-27"
    },
    {
      "title": "Shopify: Global Catalog MCP",
      "url": "https://shopify.dev/docs/agents/catalog/global-catalog",
      "accessed": "2026-10-27"
    },
    {
      "title": "OpenAI Help Center: Shopping with ChatGPT Search",
      "url": "https://help.openai.com/en/articles/11128490-shopping-with-chatgpt-search",
      "accessed": "2026-10-27"
    },
    {
      "title": "Cart for Agents: Receipts cited by our guides",
      "url": "https://cartforagents.com/research/agent-shopping-research#receipts-cited-by-our-guides",
      "accessed": "2026-10-27"
    },
    {
      "title": "Cart for Agents: Vague vs specific product facts, simulated picks by Claude, GPT and Gemini models",
      "url": "https://cartforagents.com/research/vague-specific-product-facts-simulation",
      "accessed": "2026-10-27"
    }
  ],
  "limitations": [
    "The template is our proposal. No platform requires this format, and we have not tested whether filling it changes how any assistant ranks or recommends a product.",
    "The catalog examples come from one unpersonalized Shopify catalog snapshot taken on October 26, 2026. They show what was written and received, not how often these patterns occur, and not what any assistant showed a shopper.",
    "Several fields we quote are marked Inferred by Shopify. We cannot see what they were generated from, so a wrong-looking value may trace back to merchant data we did not receive.",
    "We did not measure any product. Where we convert a figure, the arithmetic is ours; where a listing does not say US or imperial gallons, any conversion rests on an assumption we state.",
    "The simulation used invented products and snippets we supplied to API models. It shows that stated facts can make a listing eligible; it does not isolate the effect of units or predict sales.",
    "Store and brand names are withheld; listings are identified by their position in the result."
  ],
  "related": [
    "https://cartforagents.com/guides/agent-ready-product-data",
    "https://cartforagents.com/guides/ai-product-descriptions",
    "https://cartforagents.com/guides/product-constraint-coverage",
    "https://cartforagents.com/research/agent-shopping-research",
    "https://cartforagents.com/research/vague-specific-product-facts-simulation",
    "https://cartforagents.com/guides/humidifier-field-guide"
  ],
  "published": "2026-10-27",
  "updated": "2026-10-27",
  "checked": "2026-10-27",
  "kind": "guide"
}