Technical SEO

Schema Markup for AI Agents: Beyond Google Rich Results

By Scot Wingo
Back to Catalog Insights
Schema Markup for AI Agents: Beyond Google Rich Results

For most catalog teams, schema markup has meant one thing: getting Google rich results. Product schema for star ratings in SERP. Review schema for the count badge. Breadcrumb schema for the navigation path in the search snippet. That is table stakes and it is worth doing. But it is roughly 30 percent of what schema markup needs to accomplish when AI shopping agents enter the picture.

How Google Rich Results Use Schema

Google's structured data documentation is quite specific about what it requires for rich results. For Product schema, the core required fields are name and at minimum one of image, description, brand, review, aggregateRating, or offers. To get review stars in SERP, you need aggregateRating with ratingValue and reviewCount. For price in SERP, you need offers with price, priceCurrency, and availability.

This is a minimal bar, not a comprehensive one. Google's rich results system was designed to surface a handful of visual enhancements in a text-based SERP. It was never designed to give an AI agent enough information to confidently compare your product against five alternatives on six dimensions and recommend it to a shopper who asked a specific natural language query. The requirements are fundamentally different in scope.

What AI Agents Need From Schema That Rich Results Do Not

AI shopping agents parse product schema as a primary data source when page text is ambiguous or when they need machine-readable specifics rather than prose inference. The fields that matter most for AI agent comprehension go well beyond the Google rich results minimum:

Category-specific itemProperties or additionalProperty fields. The additionalProperty field lets you add arbitrary key-value pairs to a Product schema object. For a tent, that might be capacity (number of persons), season rating, floor area, door count, and packed dimensions. For a laptop, it is processor family, RAM, storage type, and screen resolution. These fields give agents structured comparison data that does not require reading and parsing prose descriptions.

Example of what this looks like in JSON-LD:

"additionalProperty": [
  {
    "@type": "PropertyValue",
    "name": "Temperature Rating",
    "value": "20°F / -7°C",
    "unitCode": "FAH"
  },
  {
    "@type": "PropertyValue",
    "name": "Fill Power",
    "value": "650"
  },
  {
    "@type": "PropertyValue",
    "name": "Weight",
    "value": "900",
    "unitCode": "GRM"
  }
]

Brand entity with sameAs or identifier. A bare "brand": {"@type": "Brand", "name": "Trailbound"} is better than nothing, but a brand entity that includes a sameAs link to a stable identifier (Wikidata entity, brand's own canonical URL) helps agents resolve brand disambiguation when they are comparing products from multiple sellers.

Shipping and return policy structured fields. Schema.org added shippingDetails and hasMerchantReturnPolicy as Product-level properties. These let agents surface shipping cost and return terms in a recommendation without requiring the shopper to click through to the product page. As AI shopping agents move closer to the transaction layer, this becomes more relevant.

Product condition and certification claims. If your product has specific certifications (OEKO-TEX, CE marking, RoHS compliance, Bluesign fabric), these can be expressed in schema via the certification property or additionalProperty. This is increasingly relevant as AI agents responding to queries like "find eco-certified outdoor gear" need this information in a reliable structured form.

Practical Gaps We See in Real Catalogs

When we run our schema audit on a new retailer's catalog, the most common gaps are:

Schema object present but category-specific additionalProperty fields missing. The Product schema has name, offers, image, maybe aggregateRating. No itemProperties. This passes Google's rich results requirements. It tells an AI agent almost nothing beyond what the product is called and what it costs.

Schema and page content out of sync. The schema might have a price from three weeks ago when a sale ended, while the page now shows the regular price. Or the schema availability says InStock while the page says "Currently unavailable, join waitlist." This inconsistency is a negative signal to agents that rely on schema for accuracy.

Multiple product variants not represented as schema sub-entities. A product page that shows a jacket available in five colors and three sizes with a single Product schema object is not helping agents match a query for a specific variant. hasVariant with individual ProductModel sub-entities, or at minimum variesBy fields, gives agents something to work with when queries specify color or size.

Platform-Specific Considerations

Shopify generates reasonably complete Product schema automatically for the core fields. The gaps are usually in additionalProperty (not generated from metafields by default) and variant-level schema. There are metafield-to-schema bridges available, but they require explicit configuration.

WooCommerce schema output varies significantly by theme and plugin combination. Some setups generate minimal or incorrect Product schema. We have seen WooCommerce catalogs where the schema price field includes the currency symbol as part of the value string, breaking machine parsing. Schema validation before assuming it is correct is worth doing on any WooCommerce site.

Custom platforms vary too widely to generalize. If you are running a custom catalog, validate your output against Google's Rich Results Test and independently confirm that your JSON-LD is being served to non-Googlebot crawlers, which AI agent indexers use.

The Short Version

If you have Google rich results working and you have confirmed your schema is valid, you have cleared the floor. But the floor is not the target. The target is giving AI shopping agents a complete, machine-readable representation of your product that includes category-relevant specifications in structured form. That requires additionalProperty fields populated from your product data, consistent schema that stays in sync with page content, and variant-level coverage where your products have meaningful variant differentiation. The gap between "passes Google Rich Results Test" and "gives AI agents enough to form a confident recommendation" is wider than most catalog teams realize.

Is your catalog ready for AI shopping agents?

ReFiBuy audits your product feed and rewrites the listings AI agents cannot evaluate. See how it works.

See plans

More from Catalog Insights