{
  "id": "G04",
  "url": "https://cartforagents.com/guides/product-constraint-coverage",
  "title": "Product constraint coverage: check evidence for each shopper requirement",
  "description": "Map a known shopper brief to supporting, missing or conflicting facts; separate evidence coverage from product quality and recommendation probability.",
  "answer": "Write the shopper's requirements down one per row, then mark what the product record says for each: a fact that meets it, a fact that rules it out, words with no checkable value, two facts that disagree, or nothing at all. A stated fact that fails the requirement is a real no for that shopper, and a missing fact is an open question you can close. Line ten listings up this way and you can see exactly which needs each one proves.",
  "take": "This is the clearest way we know to see a shelf the way an agent does. On ten real humidifier records checked against a 450 sq ft bedroom brief, only two listings could prove all five requirements.",
  "summary": "Take one shopper's requirements, line them up against what a product record actually says, and you can see which needs a listing can prove, which it can't, and which it rules out. Ten real humidifier records show how that plays out.",
  "claims": [
    {
      "text": "For the search \"humidifier for dry winter air large room quiet top fill\", a decibel figure appeared in the description of 4 of the 10 listings returned (positions 2, 3, 5 and 7) and, counting Shopify-generated metadata as well, in 6 of 10 (adding positions 6 and 9). No title had one.",
      "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 search, one unpersonalized snapshot. Six of the ten results came from one seller, so the shelf is not a sample of the category. Measures what was written, not how loud any unit is."
    },
    {
      "text": "In the same result, a room area appeared in 4 of 10 descriptions (positions 2, 3, 4 and 7), a runtime in 8 of 10 descriptions with 2 naming the setting, and \"top fill\" in 7 descriptions plus 1 title.",
      "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": "Counts statements in the description field, not whether they are true."
    },
    {
      "text": "Position 4's description rated the unit for single rooms up to 400 square feet and said it \"runs quietly enough to leave on overnight\", with no decibel figure; the record had no generated metadata.",
      "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": "Quoted from the catalog record. It does not show whether the product is quiet."
    },
    {
      "text": "Position 5's description said \"up to 32 hours\" while its generated spec list said \"Up to 36 hours\", and position 10's generated spec list gave \"Maximum Room Area: 150 m²\", a figure absent from its description.",
      "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 do not know which runtime is right or where the 150 m² came from; 150 also appears in that product's model name."
    },
    {
      "text": "Against an example five-requirement brief (room of at least 450 sq ft, a stated decibel figure, top fill, under USD 90, at least 24 hours per fill), positions 3 and 7 were the only listings whose title, description and price supported all five. Of the 15 supported cells for room size, noise and runtime in that text, 2 stated the condition behind the value, both runtimes on the low setting.",
      "source_title": "Cart for Agents: Shopify agent-catalog snapshot, Oct 26, 2026 (How we checked, this page)",
      "source_url": "https://cartforagents.com/guides/product-constraint-coverage#how-we-checked",
      "source_date": "2026-10-26",
      "method": "observed",
      "limitation": "The brief and its thresholds are our illustration, and each cell is our reading of the text. Different thresholds change the counts. Recomputed by script from the saved response."
    },
    {
      "text": "Position 6's description stated no room size, noise level or runtime, but its generated spec list gave \"Up to 430 sq ft\", \"As low as 26 dB\" and \"Up to 60 hours\". Position 9's description said \"low noise level\" while its generated spec list said \"Noise Level: 26 dB\".",
      "source_title": "Cart for Agents: Shopify agent-catalog snapshot, Oct 26, 2026 (How we checked, this page)",
      "source_url": "https://cartforagents.com/guides/product-constraint-coverage#how-we-checked",
      "source_date": "2026-10-26",
      "method": "observed",
      "limitation": "We cannot see what Shopify generated these values from; they may come from merchant data we did not receive."
    },
    {
      "text": "Shopify marks the Global Catalog description, technical specifications, top features and unique selling points as Inferred: generated or enriched by Shopify, and possibly inaccurate.",
      "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 documentation; the date is our check date. It does not say how assistants use these fields."
    },
    {
      "text": "In a supplied-snippet simulation, an invented humidifier with its facts as a spec line was picked on GPT-6.1-Sol, Gemini 3.8 Flash and Gemini 3.1 Pro in every session with a detailed shopper brief (20 of 20, 19 of 19, 15 of 15) and in none with a one-line ask or no shopper (0 of 40 on each model). Claude picked it in 59, 32 and 43 of 60. With vague copy it was picked in 3 of 180 Claude sessions, 0 of 60, 6 of 60 and 3 of 54. Each model picked 2 of 8 listings, so random picking is 25%.",
      "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; the target was invented and the detailed brief was written to fit it. API models, not ChatGPT or Gemini shopping. Not live visibility, rank or sales."
    },
    {
      "text": "The simulation's competing humidifiers were positions 1 to 7 of this search, shown with descriptions cut to about 215 characters and three feature bullets. Positions 3 and 7 state \"536 ft²\" in their full descriptions, first at characters 247 and 268, so the room size was outside what the models saw.",
      "source_title": "Cart for Agents: Shopify agent-catalog snapshot, Oct 26, 2026 (How we checked, this page)",
      "source_url": "https://cartforagents.com/guides/product-constraint-coverage#how-we-checked",
      "source_date": "2026-10-27",
      "method": "observed",
      "limitation": "Character positions are counted after removing HTML tags. The truncation was our test design; we have not measured how any assistant shortens descriptions."
    },
    {
      "text": "OpenAI says a product appears in ChatGPT's shopping carousel when ChatGPT perceives it as relevant to the shopper's intent, considering the query and context such as Memory or Custom instructions, and that it may consider options, price, reviews and ease of use.",
      "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; lists inputs, not weights."
    },
    {
      "text": "OpenAI says ChatGPT may generate simplified product titles and descriptions, based on information it receives from third-party providers, to make results easier to read.",
      "source_title": "OpenAI Help Center: Shopping with ChatGPT Search",
      "source_url": "https://help.openai.com/en/articles/11128490-shopping-with-chatgpt-search",
      "source_date": "2026-10-27",
      "method": "documented",
      "limitation": "Living help article. It does not say how descriptions are shortened or which facts are kept."
    },
    {
      "text": "ReFiBuy describes shopping prompts as conversational problems, often 10 to 30 words, rather than keywords.",
      "source_title": "ReFiBuy: What is Agentic Commerce Optimization?",
      "source_url": "https://refibuy.ai/guides/what-is-agentic-commerce-optimization",
      "source_date": "2026-10-27",
      "method": "vendor-claim",
      "limitation": "A vendor's description, not a measured prompt-length distribution."
    }
  ],
  "sources": [
    {
      "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"
    },
    {
      "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": "ReFiBuy: What is Agentic Commerce Optimization?",
      "url": "https://refibuy.ai/guides/what-is-agentic-commerce-optimization",
      "accessed": "2026-10-27"
    }
  ],
  "limitations": [
    "The matrix method is our proposal. It is not an industry standard, and we have not measured whether filling gaps changes picks, rank or sales in any assistant.",
    "The worked example uses one unpersonalized Shopify agent-catalog search from October 26, 2026. Six of the ten results came from one seller, so the shelf is not a sample of the humidifier category.",
    "The brief and its thresholds are ours. A different shopper, or a different threshold for \"large room\", gives a different matrix.",
    "Each cell is our reading of the received text. We did not test any product, so \"supported\" means the record states a qualifying value, not that the value is true.",
    "Shopify marks both the description and the generated lists as Inferred, so neither is guaranteed to be the merchant's exact words.",
    "The simulation used supplied snippets, an invented product and API models. It is not live ChatGPT or Gemini behaviour.",
    "Store and brand names are withheld."
  ],
  "related": [
    "https://cartforagents.com/guides/agent-commerce-optimization",
    "https://cartforagents.com/guides/share-of-constraint-coverage",
    "https://cartforagents.com/guides/product-claim-provenance",
    "https://cartforagents.com/guides/negative-product-attributes",
    "https://cartforagents.com/guides/agent-ready-product-data",
    "https://cartforagents.com/research/vague-specific-product-facts-simulation"
  ],
  "published": "2026-10-27",
  "updated": "2026-10-27",
  "checked": "2026-10-27",
  "kind": "guide"
}