Which product data AI shopping agents can actually read from your store (and which they can't)
An AI shopping agent can reach your Shopify store through five surfaces: the product page, /products.json, the syndicated Shopify Catalog, the UCP catalog endpoint and the WebMCP storefront tools. Each returns a different slice of your product record. None returns a metafield. Here is what each one reads, with dates, and what to do about the facts that live in the fields nobody reads.
· 13 min read · Arve Solland
Short answer: an AI shopping agent can read your Shopify store through five surfaces, and each returns a different slice of the product record. Title, description, options, price, images and availability travel on all of them. Tags and variant SKUs travel on some. Metafields travel on none: on 5 September 2026 they were invisible from outside on 41 of 41 storefronts we crawled. If the fact that decides the sale lives in a metafield, no agent using these surfaces can see it.
Why this is the question to ask
Specialist catalogs keep their deciding facts in metafields. Thread pitch, compatible models, sensor size, the 15-inch versus 15.4-inch laptop fitment: a well-run store puts these in typed fields so the theme can render a spec table. It is the right way to run a store, and today the one place agents do not look.
On 4 July 2025 a Shopify Partner opened a feature request on the Shopify Community titled “Improve Shopify MCP Agent to Use Metafields for Structured Product Data”. His stores sell model locomotives, and his complaint was precise: the agent “seems to overlook structured data from product metafields—even when I explicitly prompted it”. The thread has two posts, both from partners, the last on the day it opened. As of 12 September 2026 nobody from Shopify has replied (community.shopify.com/t/422280, read 12 September 2026).
Fourteen months later the answer is the same, and it explains most of what we measure. In our batch of 340 shopper questions across 34 specialist storefronts on 4 September 2026 (one shopper model, OpenAI’s GPT-5.4 mini via the API, native storefront tools only), 119 of the 186 answers that were not fully right failed on a single fact about a single product. The agent found the product. It could not read the number.
Surface 1: the public product page
The oldest surface, and the only one where a metafield can appear at all. A crawler or a browsing agent fetches the page and reads the JSON-LD Product and Offer blocks in the source, then the rendered HTML.
The schema block carries the product name, description, image, brand, one offer price and an availability value for one variant. Which variant depends on the theme, and on any SEO app that also writes a Product block.
The rendered HTML carries whatever your theme puts on the page. Metafields reach it only if you have connected them: “You can connect metafields to your theme by adding sections or blocks that support dynamic sources”, or reference them in Liquid (help.shopify.com, Displaying metafields on your online store, read 12 September 2026). A metafield that is defined but not rendered is not on the page. A rendered one arrives as prose or a table cell, not a typed field, often behind a tab or an accordion, and the agent has to find it in the page text.
So the page can carry a spec; whether an agent reads it depends on the theme, the page length and the model’s patience. Every surface below is easier to use, and none of them carry it.
Surface 2: /products.json
Every Online Store storefront answers https://your-store.com/products.json, and agents that fetch pages know it. We opened it on two public storefronts on 12 September 2026. Each product carries id, title, handle, body_html, vendor, product_type, tags, options (name and values), images and variants; each variant carries title, option1 to option3, price, compare_at_price, available, sku, grams, requires_shipping and taxable. No metafields key exists anywhere in the response and no parameter adds one. We found no shopify.dev page documenting the endpoint (searched 12 September 2026); treat it as a public, undocumented read of the data the theme uses.
It is the richest surface for tags and per-variant price and stock, and a plain dump: no search, no filter, 250 products a page. Most agents use a tool surface instead.
Surface 3: the Shopify Catalog and the Shopify-inferred fields
Agentic Storefronts “lets customers discover and purchase your products in AI channels, such as ChatGPT, Google AI Mode and Gemini, Microsoft Copilot, and Meta”, and “is active by default for eligible stores” (help.shopify.com, Shopify agentic storefronts, read 12 September 2026). The data those channels receive comes from Shopify Catalog: products “are listed by default with their title, description, options, images, price, availability, and other key attributes” (help.shopify.com, Shopify Catalog and product discovery, read 12 September 2026). Products set as Unlisted are hidden from AI channels; you can remove Catalog access for ChatGPT or Copilot, though your products “might still be displayed through other external discovery and listing methods”.
“Other key attributes” is where the metafield question lives, and the help page answers it in the next breath: “If your product data, such as title, description, and category, are stored in custom fields, then you can use Shopify Catalog Mapping”. The mapping tool is exact about its scope: “You can map different data sources to your product title, description, and category fields. Choose from product attributes, product metafields, or metaobject references.” With custom variant grouping on, “you can select your product variant options and set the option names that are displayed to customers through Shopify Catalog” (help.shopify.com, Mapping your product data sources for Shopify Catalog, read 12 September 2026). That is five things: title, description, category, variant grouping, option names. There is no row for specs, compatibility or a size chart. A metafield reaches the Catalog only by becoming the title, the description or the category.
There is a second set of attributes in the Catalog, and merchants do not write them. The Global Catalog extension (version 2026-08-25) returns metadata.tech_specs, metadata.top_features, metadata.attributes and metadata.unique_selling_points, each tagged as inferred. Shopify’s guidance: they “might not always be present or might vary in accuracy depending on available product data”, and consumers should “Treat them as discovery and merchandising signals, not as merchant-authored source text” (shopify.dev, Global Catalog extension, read 12 September 2026). An agent reading the Catalog may see a tech_specs block for your product; it is Shopify’s inference from the title, description and images it was given, not your spec table.
Surface 4: the UCP catalog endpoint, /api/ucp/mcp
Every storefront now advertises the Universal Commerce Protocol at /.well-known/ucp (version 2026-08-25 on the storefront we read on 12 September 2026) and serves an MCP endpoint at /api/ucp/mcp. Shopify documents the Storefront Catalog at https://{storeDomain}/api/ucp/mcp with three catalog tools, search_catalog, lookup_catalog and get_product (shopify.dev, About Catalogs, read 12 September 2026). A tools/list call on two public storefronts on 12 September 2026 returned thirteen tools: those three plus cart, checkout and order tools.
The tool descriptions say what they return. get_product returns “a singular product with a relevant set of variants, exact pricing, and real-time availability” and supports “interactive option selection via selected and preferences parameters”. lookup_catalog resolves product and variant IDs in one request. search_catalog accepts “natural language queries, specific filter criteria, or both”. When we ran these tools on 2 September 2026, search_catalog took category, price and availability filters, a shopper context (country, language, currency) and pagination up to 250, and its results carried description.html, variants with price and availability, media, taxonomy categories and tags. Nothing in any response was a metafield.
Two notes for anyone repeating the check. The older /api/mcp endpoint still answers but marks itself deprecated and points to the UCP path. And on 12 September 2026 a bare tools/call on /api/ucp/mcp was refused with “UCP discovery failed” until the request carried a reachable agent profile URL in meta.ucp-agent.profile; on 2 September it had answered unauthenticated. This is the richest of the tool surfaces and the one merchants most often assume carries everything.
Surface 5: the WebMCP storefront tools
Since 21 August 2026 every Liquid storefront registers ten tools with the browser, “live today on every Liquid storefront and on the Hydrogen developer preview”, with “nothing to install or configure” (shopify.dev changelog, WebMCP support for Liquid and Hydrogen storefronts, read 12 September 2026). The ten are search_catalog, browse_store, get_product, show_variant, get_cart, update_cart, cancel_cart, proceed_to_checkout, manage_orders and search_shop_policies_and_faqs (shopify.dev, WebMCP tools, read 12 September 2026). On 32 of 32 live third-party storefronts we read on 5 September 2026 the set was exactly these ten; none of 30 third-party apps we detected registered another.
These are the tools an in-browser agent calls, and they are thinner than the UCP endpoint. When we drove them on four public storefronts on 2 September 2026, search_catalog took a free-text query and a limit of at most ten, with no price, category or availability filter, and returned summary cards: id, title, handle, URL, a single price figure, image, available, variant count, option names, product type and vendor. get_product returned the description, tags, available_options, images and a variants list with each variant’s options, price, list price, availability and SKU.
The documentation describes get_product as returning “full details for a product, including variants, prices, and which option combinations are in stock”. In practice the response leads with a price range and one variant unless the agent names an option, and agents that do not ask a second time answer from that one. On a 1,055-product accessories store on 2 September 2026, six of nine partial answers were exactly this: “$69.99–$79.99”, or the $69.99 minimum, when the variant asked about costs $74.99. Metafields did not appear in any get_product response on any store.
One limit, stated once: “agent support for WebMCP is currently limited to Chromium-based browsers through an origin trial” (same changelog). The trial token Shopify serves expires on 17 November 2026 by our decode of 5 September 2026; we re-check it monthly and will edit this page the day it changes.
The table
| Surface | What it returns | Metafields? |
|---|---|---|
| Product page (schema + rendered HTML) | Name, description, images, brand, one offer price and availability in schema; whatever the theme renders in HTML | Only if the theme renders them, as page text |
/products.json |
id, title, handle, body_html, vendor, product_type, tags, options, images; per variant: title, options, price, compare_at_price, available, sku, grams | No |
| Shopify Catalog (Agentic Storefronts) | Title, description, options, images, price, availability, “other key attributes”; Catalog Mapping sets the source of title, description, category and option names; Shopify-inferred tech_specs, top_features, attributes |
Only by mapping one into title, description or category |
/api/ucp/mcp (search_catalog, lookup_catalog, get_product) |
Description, variants with exact price and real-time availability, media, taxonomy categories, tags; filters on category, price, availability | No |
| WebMCP tools (ten, in-browser) | Search: summary cards, free text only, ten at most. get_product: description, tags, options, images, variants with price, list price, availability, SKU; price range and one variant unless an option is named |
No |
Dates: help.shopify.com and shopify.dev pages read 12 September 2026; /products.json and /api/ucp/mcp tools/list read on public storefronts 12 September 2026; tool responses from our runs of 2 September 2026; the 41-store crawl on 5 September 2026.
Metafields: invisible on 41 of 41
On 5 September 2026 we crawled 41 public storefronts and read every surface above that can be read from outside: /products.json, the WebMCP tools, /api/mcp and /api/ucp/mcp. On every store, every surface omitted metafields. Not “usually”: 41 of 41, four surfaces each. The stores were specialist catalogs chosen because their facts live in metafields, so the finding says nothing about how many Shopify stores are affected. It says that if yours is, no surface will carry the field for you.
This is not a defect in the tools. A metafield is by design a merchant-defined field with no fixed meaning; a tool that returned all of them would hand the agent a bag of keys nobody has explained. The Community request from July 2025 was asking for that explanation. It has not come, and the mapping tool that has shipped since maps three fields.
What to do, cheapest first
From a free admin edit to a tool you publish. Most stores need only the first two for their top products.
1. Move the deciding fact into a field every surface reads
Three fields travel on all five surfaces: option values, the title and the description. If the deciding fact is one of a small set of values, make it an option. “Fits: 15-inch / 15.4-inch” as an option value shows up in /products.json, in every get_product response, in the Catalog’s option list and on the page. An agent asking “the 15.4 one, is it in stock” then gets a variant, a price and an availability, which is the answer.
If it is a single number or a short phrase, put it in the title or the first line of the description: “Brake pad set, fits C2 calipers, sintered”. The description is body_html on /products.json, description.html on both tool surfaces, and the text the Catalog syndicates and infers tech_specs from. It is the widest pipe you have. Our six control stores, text-rich with few options, scored no better overall than the specialist ones (25 of 60 fully right on 4 September 2026), so this is not “write more”; it is “put the one fact where the tools return it”.
Costs: editing time. Limits: three options per product, and a description that becomes a spec dump reads badly on the page.
2. Point Catalog Mapping at the metafield
If your real title, description or category already lives in a metafield or a metaobject, tell the Catalog so. Catalog Mapping takes “product attributes, product metafields, or metaobject references” as the source for each of the three fields, and lets you set the option names customers see. For a store whose real description is a metaobject, this is the difference between the AI channels seeing boilerplate and seeing the product.
Costs: an hour in the admin. Limits: three fields plus grouping and option names. It fixes the Catalog surface (ChatGPT, Google AI Mode and Gemini, Copilot, Meta) and nothing else; /products.json and the storefront tools still read the base fields. It cannot carry a spec table, a size chart or a compatibility list.
3. Keep specs in metafields, and publish them through a read-only tool
For everything that should stay a typed field, a chain-line width, a helmet size chart, a “compatible with” list, the theme keeps rendering the metafield and the agent needs a way to ask for it. That is a tool that sits beside Shopify’s ten, reads a saved copy of the store’s metafields and metaobjects the merchant has approved, and answers “which variant, what price, in stock or not, does it fit”. It is what StoreKnows publishes through a theme app embed: read-only, no cart or checkout access.
We have measured what that does on a prepared store. On 5 September 2026, on a dev store of 144 bicycle products whose deciding specs live in metafields, the same 14 questions went from 7 of 14 to 13 of 14 fully right for Google’s Gemini 3.8 Flash via the API and from 4 of 14 to 8 of 14 for OpenAI’s GPT-5.4 mini via the API, one run each, tools served by the embed. On the 1,055-product accessories store on 2 September, Anthropic’s Claude Opus 5 went from 9 of 12 to 12 of 12 with the metafield-backed tools present, in fewer tool calls. Single runs on two stores, not a benchmark.
Costs: the free check shows every answer and the product data behind it; publishing is a one-off charge. Limits: the tool is reachable by agents that call storefront tools, today Chromium-based browsers under the origin trial above, and by any agent that reads the page where it is registered. It is a bridge to the fields, not a change to the Catalog.
What could change this guide
Shopify could expose metafields to agents: Catalog Mapping could gain rows beyond title, description and category; the Global Catalog extension could add merchant-authored attributes beside the inferred ones; the storefront tools could grow a specs tool. Our scanner records the exact tool set on every store it visits, and we re-read the pages linked above each quarter; this page becomes “how to map” the day the gap closes. Until then: five surfaces, three fields that travel everywhere, and a set of typed fields that only a tool can carry.
Results in this article come from simulated checks run by StoreKnows on 2, 4 and 5 September 2026 against public storefronts and one prepared dev store. Questions were answered by OpenAI’s GPT-5.4 mini, GPT-5.5 and GPT-5.6, Google’s Gemini 3.8 Flash and Anthropic’s Claude Opus 5, called through their developer APIs, not the consumer apps, and graded by a separate judge model. StoreKnows is independently developed and not affiliated with, endorsed by or sponsored by OpenAI, Google, Anthropic or Shopify.
Questions this article answers
- Can AI shopping agents read my Shopify metafields?
- Not through any surface we have found. On 5 September 2026 metafields were invisible from outside on 41 of 41 storefronts we crawled, across /products.json, the WebMCP tools, /api/mcp and /api/ucp/mcp. The only place a metafield can reach an agent is a product page, and only if your theme renders it as text.
- What product data does Shopify send to ChatGPT, Gemini and Copilot?
- Shopify Catalog lists each product with its title, description, options, images, price, availability and other key attributes (help.shopify.com, read 12 September 2026). Catalog Mapping lets you choose the source for title, description and category, and name your variant options; it does not carry other metafields.
- What is the cheapest way to make a spec readable by an agent?
- Move it into a field every surface already returns: an option value, the title, or the description. Catalog Mapping can point title, description and category at a metafield. Specs that must stay in metafields need a read-only tool beside Shopify's own, which is what StoreKnows publishes.