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?"

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.nameis an overly long string of 150 characters or more - There is no
Productmarkup at all
Example of a failure:

The result shows "Product.name not found in structured data."
How to fix it:
- Output
Productmarkup on the product page via<script type="application/ld+json"> -
Keep
nameconcise (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:

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.descriptionis not in the structured data -
descriptionis 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:

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:

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:

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:

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
Offermarkup at all - Either
priceorpriceCurrencyis missing
Example of a failure:

The result shows "Offer.price or Offer.priceCurrency not found."
How to fix it:
-
Include both
price(a number) andpriceCurrency(e.g., "JPY") in theOffermarkup - 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:

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/LocalBusinessmarkup
Example of a failure:

The result shows "Organization, WebSite, or LocalBusiness markup not found."
How to fix it:
- Add
Organizationmarkup 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:

The result shows "Product.aggregateRating not found in structured data."
How to fix it:
-
Include the rating value (
ratingValue) and review count (reviewCount) inaggregateRating - 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:

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
Productmarkup built in -
Organizationmarkup generated automatically -
Offer.price/Offer.availabilitykept in sync automatically with the product's stock status -
robots.txtalready 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"> -
aggregateRatingdepends 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
hasVariantis 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
-
Check the actual output with the Rich Results Test: enter a product page URL and check that
Product/Organization/aggregateRatingare being output properly -
Be sure to verify the presence of
aggregateRating: since it depends on the review app, enable structured-data output in the app's settings - 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
- 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:
-
Implement
Productmarkup: prioritize at least the four items name / description / image / offers -
Add
Organizationmarkup: declare it as site-wide information for the store -
Put
aggregateRatinginto structured data: if you have a review feature, be sure to include it in the structured data -
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
- Shopify Agentic Readiness — the verification tool itself
- ShopifyJP announcement post
- schema.org Product — the Product markup spec
- schema.org Organization — the Organization markup spec
- Google Rich Results Test — another verification tool
- Related article: Preparing for an era where AI chooses the products (published 2026-03-28)