What AI sees on your product pages — article thumbnail

What AI Agents Actually See on Your Product Pages — 11 Signals from Shopify's Agentic Readiness

Shopify has released a verification tool called Agentic Readiness. It checks how correctly an e-commerce site's product pages are recognized as products by AI agents.

According to ShopifyJP's announcement post, as we head into an era where products are discovered and purchased through AI agents such as ChatGPT, Gemini, Copilot, and Perplexity, you can now run a self-check on whether your product pages are "visible" to AI.

Interestingly, Shopify stores are excluded from the check. The assumption appears to be that if you're using Shopify, you already meet the requirements out of the box, so there's nothing to verify. Put another way, by testing a non-Shopify site, you can see what Shopify "takes care of for you" in advance.

So we actually tried it out, and the results made it concrete: how AI agents see a product page, and what causes a page to fail. In this article, we take a deep dive into the 11 items the tool examines, from the angle of "What is the AI looking at / What causes a failure?"

Agentic Readiness tool results page — an example scoring 22/100

The tool shows an "agent discoverability score" (out of 100) along with a verdict for each of the 11 elements (Pass / Fail / Needs improvement / Not detected). When the score is low, you go through each element one by one to see which ones are failing.

The takeaway in one line

AI agents are not "reading the page" — they are "parsing structured data."

Because AI understands a product starting from its schema.org Product markup and Organization markup, when these are missing the AI struggles to recognize that the product even exists. In other words, there is information that is visible to users but invisible to AI.

An overview of the 11 items the AI looks at

The 11 items the tool checks are the "signals" an AI agent uses to understand a product. By their nature, they fall into the following five groups.

Role Item What it looks at Data source
Product identity Product name What this product is schema.org Product.name
Page title The headline in search results HTML <title>
Product understanding Description The product's features and uses schema.org Product.description
Image What the product looks like schema.org Product.image
Variant understanding Variant images The look of each color and size schema.org hasVariant
Variant options The available choices schema.org hasVariant
Purchase decision Pricing What it costs to buy schema.org Offer.price
Availability Whether it can be purchased schema.org Offer.availability
Store identification Store name Which store it is schema.org Organization
Ratings and reviews How others rate it schema.org Product.aggregateRating
Access control Crawler access Whether the AI can read it at all robots.txt

Digging into each of the 11 items — what the AI sees, and what causes a failure

From here, we'll go through the 11 items one by one, following the flow of "the signal the AI sees / the conditions that cause a failure / the actual failure message / how to fix it."

1. Product name — the AI is looking at "what this product is"

What the AI sees: the schema.org Product.name property. The AI reads this first to determine "which product this page is about."

Conditions that cause a failure:

  • The structured data (e.g., JSON-LD) has no Product.name
  • Product.name is an overly long string of 150 characters or more
  • There is no Product markup at all

Example of a failure:

Product name Fail — Product.name not found

The result shows "Product.name not found in structured data."

How to fix it:

  • Output Product markup on the product page via <script type="application/ld+json">
  • Keep name concise (under 150 characters)
  • On Shopify: using a standard theme (Dawn / Rise / Horizon) outputs this automatically

2. Page title — the AI is looking at the headline it shows in search results

What the AI sees: the HTML <title> element. It is used as the headline in search results and in AI answers.

Conditions that cause a failure:

  • <title> is empty, or extremely short
  • <title> is too long or too short (outside the 30–60 character range)

Example of a failure:

Page title Fail — character count outside the 30-60 range

The result shows "<title> was short or empty," or "<title> was detected, but its character count is outside the 30–60 range."

How to fix it:

  • Set a meaningful <title> of 30–60 characters on each product page
  • On Shopify: use the product's "SEO title" field, or output {{ page_title }} directly in the theme

3. Description — the AI is reading the product's features and uses

What the AI sees: the schema.org Product.description. It is an important source the AI reads to learn the product's features, use cases, and specs, and to judge whether it matches the user's needs.

Conditions that cause a failure:

  • Product.description is not in the structured data
  • description is too short, under 10 words
  • There is a description in the HTML body, but it is not reflected in the JSON-LD (a common blind spot)

Example of a failure:

Description Fail — Product.description not found or under 10 words

The result shows "Product.description not found, or under 10 words."

How to fix it:

  • Include the product page's description in the structured data (at least 20 words)
  • The AI extracts attribute information such as "material is waterproof" or "sizes are S/M/L," so describe features concretely
  • Rather than marketing copy, aim for an attribute-rich description the AI can reason over

Related article: Preparing for an era where AI chooses the products explains in detail the role of the description as "a scoring factor after the candidate set has been narrowed down."

4. Image — the AI is looking at what the product looks like

What the AI sees: the schema.org Product.image. It is the source for displaying the product's visuals in search results and AI answers.

Conditions that cause a failure:

  • The structured data has no Product.image
  • No image URL is included, or it is invalid

Example of a failure:

Image Fail — Product.image not found

The result shows "Product.image not found in structured data."

How to fix it:

  • Include at least one product image URL in Product.image
  • If there are multiple images, pass them as an array
  • On Shopify: standard themes automatically output the product's main image to Product.image

5. Variant images — the AI is looking at the different colors and sizes

What the AI sees: the images of each variant inside the schema.org Product.hasVariant (or isVariantOf / ProductGroup). These are the signals for understanding how each choice — color, size, etc. — looks.

Conditions that cause a failure:

  • There is no variant markup
  • Variants exist, but images are not individually associated with them

Example of a failure:

Variant images Not detected — hasVariant markup not found

The result shows "Variant markup (hasVariant, isVariantOf, ProductGroup) not found. If the product has variants, declare them and specify an image for each variant."

How to fix it:

  • For products with variants, declare the image URL of each color and size via hasVariant
  • On Shopify: check whether variant image settings are reflected, and review the theme's structured-data implementation

6. Variant options — the AI is looking at the choices

What the AI sees: the variant option names (Color, Size, etc.) and values (Red, Blue, S, M, etc.). The AI uses these to understand "what choices are available."

Conditions that cause a failure:

  • There is no variant markup
  • Option names and values are not declared

Example of a failure:

Variant options Not detected — option names and values not declared

The result shows "Variant markup not found. If the product has variants, declare them and specify the option names and values."

How to fix it:

  • Include the option name and value of each variant inside hasVariant
  • Example: a format like { "name": "Color", "value": "Red" }

7. Pricing — the AI is looking at the cost

What the AI sees: the schema.org Offer.price and Offer.priceCurrency. Since the AI filters by price (e.g., "under 10,000 yen"), this is an essential signal.

Conditions that cause a failure:

  • There is no Offer markup at all
  • Either price or priceCurrency is missing

Example of a failure:

Pricing Fail — Offer.price or Offer.priceCurrency not found

The result shows "Offer.price or Offer.priceCurrency not found."

How to fix it:

  • Include both price (a number) and priceCurrency (e.g., "JPY") in the Offer markup
  • On Shopify: output by default

8. Availability — the AI is looking at "whether it can be bought"

What the AI sees: the schema.org Offer.availability. The AI uses it to decide whether to drop out-of-stock products from the candidate set, or to surface pre-orders.

Conditions that cause a failure:

  • There is no availability
  • Something other than the standard values (InStock / OutOfStock / PreOrder, etc.) is set

Example of a failure:

Availability Fail — Offer.availability not found

The result shows "Offer.availability not found."

How to fix it:

  • Set a schema.org standard value in availability: https://schema.org/InStock (in stock) / OutOfStock (out of stock) / PreOrder (pre-order)
  • Custom values (e.g., "available") are not allowed

9. Store name — the AI is looking at "which store it is"

What the AI sees: the schema.org Organization (or WebSite / LocalBusiness) markup. It is the signal for identifying the store as a whole.

Conditions that cause a failure:

  • There is no Organization / WebSite / LocalBusiness markup

Example of a failure:

Store name Fail — Organization markup not found

The result shows "Organization, WebSite, or LocalBusiness markup not found."

How to fix it:

  • Add Organization markup to every page of the site (or at minimum the homepage)
  • Include the store name, URL, logo, social accounts, and so on
  • On Shopify: this is often output by default

10. Ratings and reviews — the AI is looking at "how others rated it"

What the AI sees: the schema.org Product.aggregateRating — the rating value (on a 5-point scale) and the number of reviews. Since the AI tends to prioritize highly-rated products, leaving this empty makes a product more likely to be dropped from the candidate set.

Conditions that cause a failure:

  • There is no aggregateRating
  • There is a review feature, but it is not reflected in the structured data (a pitfall that even happens to Shopify merchants)

Example of a failure:

Ratings and reviews Fail — Product.aggregateRating not found

The result shows "Product.aggregateRating not found in structured data."

How to fix it:

  • Include the rating value (ratingValue) and review count (reviewCount) in aggregateRating
  • If you use a review app (Judge.me / Loox / Yotpo, etc.), check that structured-data output is turned ON

11. Crawler access — can the AI read it at all?

What the AI sees: the robots.txt settings. It checks whether AI agents' user agents (GPTBot / ClaudeBot / PerplexityBot, etc.) are allowed.

Conditions that cause a failure:

  • robots.txt is blocking AI agents
  • Only some AI agents are allowed while the rest are blocked

Example of a failure:

Crawler access — the robots.txt verdict

When robots.txt is blocking AI agents, it shows "robots.txt is blocking some AI agents."

How to fix it:

  • Allow the major AI agents in robots.txt
  • If you are intentionally blocking the crawling of product pages or content pages, reconsider it
  • On Shopify: appropriate settings by default (over 10 AI agents are allowed)

The AI's "three-layer model" of product understanding

Looking across the 11 items, it becomes clear that an AI agent tries to understand a product across the following three layers.

Layer Content Required markup
Layer 1: The item (Product) What product it is name / description / image / hasVariant
Layer 2: The thing for sale (Offer) At what price, and whether it can be bought price / priceCurrency / availability
Layer 3: The seller (Organization) Which store it is Organization / WebSite

If even one layer is missing, the AI can no longer treat the product as a "fully-functional purchase candidate."

  • No Layer 1 → it is not recognized as a product in the first place
  • No Layer 2 → the product is understood, but it can't be judged whether it can be bought
  • No Layer 3 → the seller is unknown, so trustworthiness can't be assessed

"Are all three layers in place?" looks set to become the new baseline for e-commerce product pages in the AI era.

Why Shopify stores are excluded from the check

As mentioned at the start, Shopify stores are out of scope for this tool. The reason is simple: by default, Shopify already provides:

  • schema.org Product markup built in
  • Organization markup generated automatically
  • Offer.price / Offer.availability kept in sync automatically with the product's stock status
  • robots.txt already configured to allow the major AI agents

In other words, the design philosophy is "nothing to verify = a pass by default." This shows that Shopify is designed as "an e-commerce foundation for the AI era."

That said, the following cases call for caution.

  • You are using an old theme (the Online Store 1.0 generation)
  • Your custom theme overrides <script type="application/ld+json">
  • aggregateRating depends on the review app; depending on the app's implementation, it may not be included in the structured data
  • The product has variants, but you have deliberately registered them as separate products, so hasVariant is not output

Rather than assuming "I'm using Shopify, so I'm fine," we recommend checking once, with the Google Rich Results Test, exactly what structured data your theme outputs.

A note: schema.org and Catalog — two ways to deliver to AI

So far we've centered the discussion on schema.org Product markup, but on Shopify there is a second route through which product data reaches AI agents: the product feed via Shopify Catalog, which supports the Agentic Commerce Protocol (ACP).

What the Agentic Readiness tool looks at is "information that reaches the AI via the product page's HTML/structured data," but Shopify Catalog takes a separate route: it delivers product data directly, as a structured feed, to ChatGPT's shopping feature (ACP) and to shopping channels such as Google, Meta, and Pinterest.

This feed includes information close to the 11 items covered in this article (title, description, price, availability, variants, images, etc.), in a state that has been automatically formatted by Shopify.

In other words, for a Shopify store, there are two routes by which data reaches AI agents.

Route How it's used Target
1. Storefront structured data
(schema.org / Product markup)
Accesses and reads the product page Page-visiting AI crawlers (GPTBot / ClaudeBot, etc.)
2. Shopify Catalog feed
(via ACP, etc.)
Syncs the feed periodically, server to server ChatGPT's shopping feature, and shopping channels such as Google and Meta

Shopify is likely out of scope for Agentic Readiness because, in addition to its structured-data implementation, it has a double layer of preparation: it also clears the requirements via Catalog.

A caveat: Even with the Catalog feed, the data that gets delivered depends on what is registered for the product. If the title is unclear, the description is empty, or metafields (material, size, suitable occasions, etc.) are not filled in, then neither route delivers enough information to the AI.

It's not "Shopify sends it automatically, so I don't have to do anything." Rather, making the product data itself robust enough for AI interpretation is the operator's job.

We cover the mechanics of Shopify Catalog and ACP in detail in our earlier article, Preparing for an era where AI chooses the products. Read together with this article's structured-data perspective, you should be able to grasp the full picture of running e-commerce in the AI era.

What e-commerce operators should do

Here it is, organized by situation.

If you're a Shopify merchant

  1. Check the actual output with the Rich Results Test: enter a product page URL and check that Product / Organization / aggregateRating are being output properly
  2. Be sure to verify the presence of aggregateRating: since it depends on the review app, enable structured-data output in the app's settings
  3. If you use an old theme, consider migrating: migrating to an Online Store 2.0–compatible theme (Dawn / Rise / Horizon) lets you meet many of the requirements automatically
  4. Leverage metafields: declare attributes that AI agents "can use to narrow things down" — material, dimensions, care instructions, and so on — via metafields

If you're on a non-Shopify e-commerce site

In order of priority:

  1. Implement Product markup: prioritize at least the four items name / description / image / offers
  2. Add Organization markup: declare it as site-wide information for the store
  3. Put aggregateRating into structured data: if you have a review feature, be sure to include it in the structured data
  4. Declare hasVariant: put products with variants into a form the AI can understand too

If you're considering building an e-commerce site from now

We recommend adding "Does this platform meet the AI-era minimum requirements?" to your selection criteria. With Shopify, these are in place by default, so operators can focus on "enriching the product data."

In summary — making your product pages visible to AI

What the Agentic Readiness tool reveals is that the mechanism by which an AI agent understands a product runs on the behind-the-scenes data of schema.org markup, separately from "the HTML the user sees."

Key points

  • All the AI can see is the structured data. Even if you've written a product description, it's meaningless unless it's reflected in the JSON-LD
  • Only when all three layers — "product identity / the thing for sale / the seller" — are in place can the AI understand the product
  • Shopify meets many of the requirements by default, but reviews (aggregateRating) and variant declarations need to be verified
  • The classic failure pattern is "it's written in the HTML, but it's not in the JSON-LD"

Rather than "I'm using Shopify, so I'm safe," the mindset that looks important for e-commerce in the AI era is: "By using Shopify, many requirements are cleared automatically — and on top of that, I enrich my metafields and structured data."

Our previous article, Preparing for an era where AI chooses the products, summarized "how products are delivered via ACP." This time, we were able to confirm, in the concrete form of 11 items, what signals an AI agent picks up from a product page behind the scenes.

You can run the self-check for free from Shopify Agentic Readiness, so if you run a non-Shopify e-commerce site, or a Shopify store with custom implementations, why not give it a try?

Reference links

Back to blog