Home › Blog › Shopify metafields for AI shopping agents
Shopify metafields for AI shopping agents: which 8 actually move the score
Most Shopify stores have hundreds of metafields. AI shopping agents read maybe eight of them. This is the practical guide — which namespaces ChatGPT Shopping, Perplexity Shopping, and Google AI Mode actually parse, the eight metafields that move the CatalogScan score, what we keep finding broken in the wild, and how to fix coverage in an afternoon without a developer.
shopify.*) and the legacy Google Shopping namespace (mm-google-shopping.*). Eight metafields between them carry almost all the weight: product category, brand, GTIN, MPN, color, size, material, and condition. Custom metafields you invented are invisible to AI agents until you wire them into Product JSON-LD yourself.
In this guide
- What a metafield actually is
- The only two namespaces AI agents read
- The eight metafields that move the score
- What we found scanning 100 stores
- How to audit your metafields in five minutes
- How to fix coverage (in cost order)
- Six mistakes we keep finding
- What about custom metafields?
- What good coverage looks like
What a metafield actually is
A Shopify metafield is a typed key-value pair attached to a Shopify object — a product, variant, customer, order, collection, or any other resource the API exposes. Each one is namespaced: a dotted prefix that tells Shopify which app, integration, or owner controls the field.
You'll see four categories of metafield in any working Shopify store:
- Standard taxonomy metafields — the
shopify.*namespace. These are the fields Shopify added in 2024 with the Standard Product Taxonomy launch. Examples:shopify.color-pattern,shopify.size,shopify.material. Shopify's Global Catalog reads these directly. - Sales-channel metafields — primarily the
mm-google-shopping.*namespace, written automatically by the Google & YouTube channel app. Examples:google_product_category,condition,gender. - App-owned metafields — things like
reviews.ratingfrom Yotpo or Judge.me,klaviyo.last_synced,recharge.subscription_id. Owned by an app; agents generally ignore them unless an app emits them into the public Product JSON-LD. - Custom (your own) metafields — anything in a namespace you defined, often under
custom.*or a brand-specific prefix likespecs.dimensions. Useful for storefront features (size guides, comparison tables) but invisible to AI agents until you do extra work.
This article only cares about the first two. If a metafield isn't in the shopify.* or mm-google-shopping.* namespace, it's not moving the AI-shopping needle without a custom integration.
The only two namespaces AI agents read
There are exactly two reasons a metafield ends up in front of ChatGPT Shopping, Perplexity Shopping, or Google AI Mode:
1. Shopify Global Catalog ingestion
Since Agentic Storefronts went on by default on March 24, 2026, Shopify's Global Catalog is the federated product index that ChatGPT Shopping queries first. The Global Catalog is built from specific fields on each product — title, description, price, availability, and a fixed list of taxonomy attributes pulled from the shopify.* namespace. Custom metafields are not ingested. The agent never sees them.
2. Google Merchant Center feed
Stores that have the Google & YouTube channel installed get an auto-generated Merchant Center feed. Google's required and recommended attributes (gtin, mpn, brand, google_product_category, condition, gender, age_group, color, size, material) come from a mix of native Shopify fields and the mm-google-shopping.* metafields the channel writes. That feed flows directly into Google Shopping, into Google AI Mode shopping recommendations, and indirectly into ChatGPT Shopping when ChatGPT cross-references Google's data layer.
If you want a metafield to influence which agent picks your variant, it has to live in one of those two namespaces — or you need to manually emit it into Product JSON-LD on the page (covered in the custom metafields section below).
mm-google-shopping namespace in favor of the standardized shopify.* taxonomy fields. New stores added in 2026 are getting the shopify.* path by default and the Google channel is starting to read from there. If you have both populated, that's fine — the Global Catalog and the Google feed both reconcile cleanly. If you have only one, prefer shopify.* going forward.
The eight metafields that move the score
Out of dozens of standardized metafields across the two AI-relevant namespaces, eight carry almost all the weight in our scoring model. Each one maps to a real failure mode we see in the scan data.
| # | Metafield | What it does | Score impact |
|---|---|---|---|
| 1 | shopify.product-category(or mm-google-shopping.google_product_category) |
Maps your product to the Google Product Taxonomy (5,000+ categories). Decides which agent queries you're eligible to answer at all. | +9 pts |
| 2 | Variant barcode field(GTIN; not technically a metafield, often confused for one) |
Cross-retailer identity match for "where to buy X" queries. Covered in detail in the GTIN guide. | +10 pts |
| 3 | mm-google-shopping.mpn |
Manufacturer Part Number. Fallback identity for products without a GTIN. Brand + MPN can uniquely identify a SKU when GTIN is missing. | +5 pts |
| 4 | Brand (Vendor field, ideally exposed as a nested {"@type":"Brand"} in Product JSON-LD) |
Tells the agent which store is the "official" seller of a branded product vs. a marketplace reseller. See signal 8 in the signals reference. | +8 pts |
| 5 | shopify.color-pattern |
Standardized color from Shopify's taxonomy (90+ values). Used by agents for "show me a navy blue X" filter queries. | +3 pts |
| 6 | shopify.size |
Standardized size value (e.g. EU 42, Medium, King). Used for agent fit/availability queries. |
+3 pts |
| 7 | shopify.material or shopify.fabric |
Composition. Drives "show me 100% cotton X" or "leather X" queries. Highest-leverage for apparel, furniture, and bag categories. | +4 pts |
| 8 | mm-google-shopping.condition |
One of new, refurbished, used. Defaults to new if blank. Critical for refurbished/secondhand/refilled stores; ignoring this gets refurbished products dropped from "new" feeds. |
+2 pts |
The first four (category, GTIN, MPN, brand) decide whether the agent can identify your product at all. The last four (color, size, material, condition) decide whether you're eligible for filter and refinement queries — the long tail of "show me a black leather messenger bag in size large" intents that AI agents excel at because they can decompose a sentence into structured filters in a way Google Shopping never could.
For a deeper breakdown of how each of these signals is weighted alongside the other ranking-spread fields, see the 15-signal reference page.
What we found scanning 100 stores
Here's the metafield slice from our scan of the top 100 DTC Shopify stores in April 2026. The full leaderboard is at /scans/top-100/.
shopify.color-pattern on color variantsThe 28% with full category coverage were almost all stores running the Google & YouTube channel app — it sets mm-google-shopping.google_product_category as a side effect of the channel onboarding. Stores not on Google Shopping had a 4% category-coverage rate. That's the fastest-to-fix gap in the whole dataset: install the Google channel, accept the auto-categorizations, immediately move from 4% to ~85%, then hand-correct the ~15% the auto-classifier got wrong. About an hour of work for a 9-point lift on the CatalogScan score.
The 11% color-pattern figure was the most surprising. Most stores have color variants, and most stores set the option name to "Color" — but that's the variant option, not the standardized metafield. The Shopify admin asks you to fill in shopify.color-pattern as a separate step under "Product attributes," and almost no one does. Same gap exists for size: option says "Medium," but shopify.size is empty. Filter queries collapse on stores with this gap.
The 17-point score gap between "full taxonomy" and "zero coverage" was second only to GTIN coverage in single-signal score variance. If a store is in the 60-80 score band, fixing taxonomy coverage is the second-highest-leverage move after fixing GTIN coverage.
How to audit your metafields in five minutes
Three increasingly thorough ways to check.
Free path (90 seconds)
Run the free CatalogScan on your domain. Signals 5 (Google Product Category), 6 (GTIN), 8 (Brand entity), and 11 (variant attributes) all surface metafield gaps directly. The report shows percentage coverage per signal and ranks the highest-leverage fix first.
DIY path (Shopify admin)
Open any product in Shopify Admin. Scroll past the title, description, and media to the Product attributes section. You'll see a card with the standard taxonomy metafields for that product's category — color, size, material, age group, gender. Empty fields are unset.
To check coverage at scale: Settings → Custom data → Products. The page lists every metafield definition on your store. The standard ones from the shopify.* namespace are pinned at the top. Each row shows "Used in N products" — coverage in absolute terms, not percentage, but the math is easy.
API path (audit at variant level)
If you have catalog of more than a few hundred products, querying the Storefront API is faster than clicking through admin pages:
{
products(first: 250) {
edges {
node {
id
title
productType
vendor
category { id name }
metafields(identifiers: [
{ namespace: "shopify", key: "color-pattern" },
{ namespace: "shopify", key: "size" },
{ namespace: "shopify", key: "material" },
{ namespace: "mm-google-shopping", key: "google_product_category" },
{ namespace: "mm-google-shopping", key: "mpn" },
{ namespace: "mm-google-shopping", key: "condition" }
]) { value namespace key }
}
}
}
}
Page through the catalog, count nulls, and you have a per-metafield coverage report in 30 seconds. This fits a CI job nicely if you want to alert when coverage regresses on a release.
How to fix coverage (in cost order)
| Fix | When to use | Cost |
|---|---|---|
| Install the Google & YouTube channel | Quickest path to category + condition coverage. The channel auto-classifies every product against the Google taxonomy and writes mm-google-shopping.* metafields as a side effect. Reviewable in admin before the feed goes live. |
$0 |
| Accept Shopify's category suggestions | For stores not on Google Shopping. Shopify admin shows suggested values for every shopify.* metafield based on the product title, description, and option names. Accepting in bulk via the bulk editor takes ~15 minutes per 200 products. |
$0 |
| CSV bulk import from a spreadsheet | Stores with deep variant trees where the bulk editor times out. Export products, fill metafield columns in Excel, reimport. Shopify accepts shopify.color-pattern, shopify.size, etc. as named columns directly. |
$0 + time |
| Bulk auto-fill via Shopify Admin API | Stores with 1,000+ SKUs where manual review isn't viable. CatalogScan Pro generates and applies suggestions with per-product diff approval, weighted by which metafield gives the largest score lift. See pricing. | $49/mo |
shopify.color-pattern = "Multi" across the whole catalog to game the coverage number. Agents penalize "Multi" as low-confidence and the standardized color taxonomy already accommodates patterns (Striped, Floral, Geometric). Use a real value or leave it null — partial coverage with high accuracy beats full coverage with junk values.
Six mistakes we keep finding
- Variant option name set, standardized metafield empty. Most common failure. The variant has option
Color: Navy, butshopify.color-patternis null. Agents read the metafield, not the option name. - Free-text values instead of taxonomy values.
shopify.color-pattern = "Ocean Vibes"instead ofBlue. The Standard Product Taxonomy is a closed enum — anything outside the list collapses to "unrecognized" in the Global Catalog. - Old-namespace and new-namespace fighting. Some stores have
mm-google-shopping.color = "Navy"andshopify.color-pattern = "Blue"on the same variant. The Global Catalog picks the standardized one; the Google feed picks the legacy one. The two product cards now disagree across surfaces. Pick one canonical source per field and delete the duplicate. - Brand as a string instead of a nested entity. Theme emits
"brand": "Allbirds"instead of{"@type": "Brand", "name": "Allbirds"}. Half-credit on the JSON-LD parse. One commit toproduct.liquidfixes it; same data either way. - Custom metafields the team thinks are "structured data." A merchant writes
custom.fit_guide,custom.recyclable,custom.lab_testedand assumes AI agents pick them up. They don't — those are storefront-only unless explicitly emitted into Product JSON-LD via a theme edit. - Setting
condition = "new"on refurbished or secondhand products. Often left as the default by accident on a refurb-only store. Google's policy is to disapprove the listing if the actual product condition doesn't match the feed. Disapproval cascades the same way GTIN disapproval does — invisible to agents.
What about custom metafields?
Custom metafields are useful — for storefront features. They're how you build size guides, ingredient lists, certifications, fit charts, materials breakdowns, lab results, and anything else outside the Standard Product Taxonomy. You should still use them.
The catch is that AI agents won't read them unless you do one of two things:
- Emit them into Product JSON-LD. Edit your
product.liquid(or equivalent on Hydrogen) so the JSON-LDadditionalPropertyarray includes the custom metafield as aPropertyValueobject:{"@type": "PropertyValue", "name": "Recyclable", "value": "Yes"}. Agents that parse PDP JSON-LD pick this up. - Map them to a Standard Product Taxonomy attribute. If your
custom.fabricfield already holds"100% Cotton", just copy that value intoshopify.fabric. Same data, now in a namespace agents read.
The first option gives you flexibility — any custom field can be exposed. The second gives you confidence — Standard Taxonomy values are guaranteed-readable by every agent. We recommend the second whenever a standard field exists for what you're describing, and the first only for genuinely store-specific data (your loyalty tier, your warranty terms, your shop policy).
What good coverage looks like
The CatalogScan score gives full credit on the metafield-related signals when:
- Every public, in-stock product has a Google Product Category (
shopify.product-categoryormm-google-shopping.google_product_category) set to a leaf-level taxonomy node, not just the top-level category. - Every variant has
shopify.color-patternandshopify.sizepopulated where applicable to the product type, with values from the standardized enum (no free text). - Brand is exposed as a nested entity in Product JSON-LD, not a flat string.
- MPN is set on every variant of a third-party manufactured product.
- Condition is set explicitly on any product that isn't
new.
For a store starting from near-zero coverage, the realistic 30-day target is: install the Google channel (1 hour), accept Shopify's bulk taxonomy suggestions (1 hour per 200 products), audit and patch the auto-classifications (~30 minutes), and write a one-time CSV reimport for color and size on color/size variants. Two focused afternoons, no developer time, no new tooling. We've seen stores move from 41% to 89% taxonomy coverage in two weeks doing exactly this — and lift their CatalogScan score by 12-15 points.
The agentic-storefronts shift means catalog hygiene now compounds the way SEO did fifteen years ago. Stores that fix taxonomy now compound through every new AI shopping query for the rest of their lifetime. Stores that don't, don't. The eight metafields above are most of the lift; the rest is in the agentic storefronts checklist.
Related on CatalogScan
- Shopify GTIN requirements for AI shopping agents — the deep guide on the GTIN signal specifically
- The 15 signals AI shopping agents read — full breakdown of what we score and why
- Agentic Storefronts checklist — the 18-item audit for getting visible at all
- Shopify ChatGPT Shopping setup — what's required for ChatGPT specifically
- Perplexity Shopping setup for Shopify — Perplexity's slightly different signal weights
- 100-store DTC leaderboard — see how peers score on metafields and 14 other signals
See your store's metafield coverage in 90 seconds
Free scan. No login. Per-signal verdicts and the top-5 fixes ranked by score lift.
Run a free scan See the top-100 leaderboard