Pilot live: ACP for AI commerce.Explore ACP
Skip to content
Back to Blog

The Agent SKU: How to Structure Your Product Catalog So AI Agents Find, Compare, and Recommend It

The 12 product schema fields that decide whether your catalog is visible to ChatGPT, Claude, and Gemini in 2026. Audit checklist, common mistakes, and the fix for each field.

11 min readStrategy

Open your product page in a browser. Right-click. View page source. Search for the string "application/ld+json".

If you find nothing, your store is invisible to ChatGPT, Claude, Gemini, and every other AI shopping agent in 2026. The agent does not look at your hero image. It does not parse your marketing copy. It does not click your "Add to Cart" button. It reads a structured JSON block at the bottom of your HTML and decides whether to show your product to the human who asked for one.

If you find a JSON-LD block, the next question is whether it carries the twelve fields the agent actually reads. Most do not. Mid-market DTC catalog audits suggest fewer than 18% of stores ship a complete Product schema (illustrative, since audit samples and definitions differ), and the missing fields are the ones that decide ranking.

This post is the field-by-field map. The 12-Field Agent SKU: what each field tells the agent, what most stores get wrong, the operator fix for each.

The AI agent does not browse your store. It reads twelve fields.

Why the 12 fields, not 12,000

Schema.org's Product type has dozens of optional properties. You do not need most of them. The 12-Field Agent SKU is the subset that the major agent crawlers (OAI-SearchBot for ChatGPT, ClaudeBot for Claude, Google-Extended for Gemini) actively read as of mid-2026 when they assemble, rank, and verify a product. Schema.org is the structured-data standard every one of these agents reads, and it has converged on a stable commerce core even as the broader vocabulary keeps growing. Optimizing the other properties is effort the agent does not reward.

The reason to do this work now rather than next year is volume. Adobe reported AI-driven traffic to U.S. retail sites grew 393% year over year in Q1 2026. That traffic arrives already filtered by the agent, which read these twelve fields before it ever surfaced you. The catalog work is upstream of every agent-originated sale, and it is the part of the agent purchase you fully control. We walked the downstream sequence in the frame-by-frame walkthrough of how an agent actually buys; this post is the catalog layer that feeds it.

The 12-Field Agent SKU

Five of twelve fields are where operators win. The agent treats missing fields as low confidence and routes around your catalog.

01

Product.name

Clean canonical title, not marketing copy.

Most stores: Present
02

Product.gtin

UPC / EAN / ISBN, the universal identifier.

Most stores: Missing
03

Product.brand

A Brand entity with a name, not a string.

Most stores: Present
04

Product.description

Factual first paragraph, not a story.

Most stores: Wrong format
05

Product.image

Three or more structured images.

Most stores: Present
06

Offer.price

Explicit numeric price plus currency.

Most stores: Present
07

Offer.priceValidUntil

The date the price expires.

Most stores: Missing
08

Offer.availability

InStock / OutOfStock / PreOrder enum.

Most stores: Present
09

Offer.shippingDetails

Cost, currency, delivery time, structured.

Most stores: Wrong format
10

Offer.hasMerchantReturnPolicy

Return window, cost, restocking entity.

Most stores: Missing
11

AggregateRating

ratingValue plus reviewCount.

Most stores: Missing
12

Review

Three to five recent reviews with author.

Most stores: Missing

Fields 1 to 4: identity and description

The first four fields answer the agent's opening question: what is this product, who makes it, in plain language. Product.name should be the clean canonical title. The single most common mistake is stuffing it with marketing copy ("Best 2026 Model, Now On Sale, Free Shipping"), which reads to the agent as a low-trust title and muddies the match against a buyer's query. Product.gtin (the UPC, EAN, or ISBN) is the universal identifier that lets the agent disambiguate your SKU from a near-identical competitor, and it is missing far more often than operators expect.

Product.brand should be a Brand entity with a Brand.name, not a bare string, because the agent uses the entity to connect your product to the reputation signals it has accumulated about the brand. Those reputation signals are exactly the ones catalogued in the 7 things that make AI agents recommend your brand. Product.description should lead with a factual first paragraph (materials, dimensions, use case), not a brand story, because the agent extracts facts from the opening lines to answer the buyer's constraints. The scale of the audience reading these fields is not small: ChatGPT alone reached 900 million weekly active users by February 2026, and every one of them who asks for a product triggers this identity read.

Fields 5 to 7: pricing and visual

Fields five through seven answer what it costs and what it looks like. Product.image should carry at least three structured images (front, detail, in-use) so the agent can present the product confidently. Offer.price must be an explicit numeric value with Offer.priceCurrency, not a price baked into display text the agent has to guess at. The field operators miss most is Offer.priceValidUntil, the date the price expires. Without it, the agent has no way to know your price is current, so it treats the price as potentially stale and demotes you against a competitor whose price it can trust.

This one field is the clearest example of how a single line of JSON-LD changes a ranking outcome. The payoff for getting the pricing and visual fields right shows up in conversion: Adobe found AI referrals converted 31% better than non-AI traffic during the 2025 holiday season, because a buyer arriving on an agent recommendation has already seen accurate price and imagery the agent trusted enough to surface.

Why priceValidUntil decides whether your price is shown

One line of JSON-LD. Two completely different ranking outcomes.

With priceValidUntil

"@type": "Offer",
"price": "89.00",
"priceCurrency": "USD",
"priceValidUntil": "2026-12-31"

Agent surfaces the price in the recommendation and includes it in comparisons.

Without priceValidUntil

"@type": "Offer",
"price": "89.00",
"priceCurrency": "USD"

Agent flags the price as potentially stale and demotes you against competitors with fresh prices.

Fields 8 to 10: fulfillment and trust

Fields eight through ten answer whether the human can actually buy this and get it. Offer.availability must use the Schema.org enum (InStock, OutOfStock, PreOrder) rather than free text, because the agent reads the enum value directly and a stockout it cannot parse becomes a recommendation it will not make. Offer.shippingDetails should be a structured entity with cost, currency, and delivery time, not a free-text "ships in 3 to 5 days" string buried in the page. Offer.hasMerchantReturnPolicy should be a MerchantReturnPolicy entity with the window, the cost, and any restocking terms.

This is where out-of-the-box e-commerce platforms break hardest. Shopify and WooCommerce both ship Offer.availability cleanly, but both routinely leave shippingDetails and hasMerchantReturnPolicy missing or unstructured by default, so the gap is invisible to operators who assume the platform handles it. The authorization and payment hand-off that depends on these trust fields is mapped in the protocol map of how the payment hand-off works. The fulfillment fields are not a compliance checkbox; they decide whether the agent is confident enough to complete the purchase. The volume riding on that confidence is large and growing: Bain projects agentic AI will account for 25% of U.S. ecommerce sales by 2030.

Where Shopify, WooCommerce, and custom stores break

Out-of-the-box e-commerce platforms ship most of the 12-field surface. The remainder is the operator's work.

availabilityPresentPresentPresent
shippingDetailsFree-textMissingStructured entity
hasMerchantReturnPolicyMissingMissingMerchantReturnPolicy
Review markupWidget onlyWidget onlySchema.org Review

Fields 11 and 12: social proof

The last two fields answer whether other humans like this. AggregateRating carries the ratingValue and reviewCount; Review carries three to five recent Review entities with an author and a body the agent can summarize. These are the highest-weighted fields in the scoring stage, and they are the ones most stores have but never expose. The reviews exist. They are just trapped in a widget.

Most DTC stores run a review app (Yotpo, Stamped, or Okendo) that renders stars for human visitors but never emits Schema.org Review and AggregateRating markup the agent can read. The agent does not see the widget. It reads the markup, and if the markup is absent your hard-won reviews are invisible at exactly the stage where they would have won the recommendation. Check whether your review app's Schema.org output is switched on; many ship it as an off-by-default setting. The stakes are concrete: ChatGPT now drives 20% of Walmart's referral traffic, and agent-routed buyers arrive having already weighed the review signal you either exposed or hid.

The 30-minute audit

You can check all twelve fields on your top SKUs in about thirty minutes with two free tools: Google Rich Results Test and your browser's View Source. Run one check per field and note which come back missing or malformed. The point is not to fix everything today; it is to find out which of the twelve your catalog is currently failing, because the missing fields are silently costing you the recommendation. Start the audit now rather than later: traditional search volume is projected to fall 25% by 2026 as buyers move to agents, so the catalog that is unreadable today is unreadable to a fast-growing share of demand. The technical precondition to all of it (can the crawler reach you at all) is covered in the visibility audit most brands skip.

The 30-minute audit: 12 checks, one per field

Two free tools: Google Rich Results Test and View Source. Find the fields you are failing.

01

Product.name

Rich Results Test

Expected: Product schema valid

02

Product.gtin

View source

Expected: search "gtin13"

03

Product.brand

Rich Results Test

Expected: Brand entity with name

04

Product.description

View source

Expected: factual first paragraph

05

Product.image

Rich Results Test

Expected: image count >= 3

06

Offer.price

View source

Expected: numeric price + currency

07

Offer.priceValidUntil

View source

Expected: priceValidUntil present

08

Offer.availability

View source

Expected: schema.org/InStock enum

09

Offer.shippingDetails

Rich Results Test

Expected: ShippingDetails entity

10

Offer.hasMerchantReturnPolicy

Rich Results Test

Expected: MerchantReturnPolicy entity

11

AggregateRating

Rich Results Test

Expected: ratingValue + reviewCount

12

Review

Rich Results Test

Expected: >= 3 reviews w/ author + body

By 2028 the 12-Field Agent SKU is table stakes, not an advantage. Once every serious catalog ships all twelve, the brands that win the recommendation slot will be the ones competing on field twelve: review density and freshness, the signal that is hardest to fake and slowest to build. The catalog work is also the foundation for paid placement, which is why brands that get the twelve fields right are the same brands compounding on OpenAI Ads, where the structured feed feeds the auction. Cresva audits the 12-Field Agent SKU on your live store and returns the exact JSON-LD diff per product. Request early access.

Twelve fields decide whether your catalog gets recommended. Most stores ship five. Cresva audits the 12-Field Agent SKU on your live store and gives you the exact JSON-LD diff per product. Request early access.

Frequently asked questions

What product schema fields do AI agents read in 2026?
Twelve, drawn from Schema.org Product and Offer: name, gtin, brand, description, image, price with priceCurrency, priceValidUntil, availability, shippingDetails, hasMerchantReturnPolicy, AggregateRating, and Review. Agent crawlers like OAI-SearchBot, ClaudeBot, and Google-Extended read these to identify, price, verify, and rank a product. Other Schema.org properties exist but are not what the agents weight when deciding whether to recommend you.
How do I know if my product catalog is visible to ChatGPT?
View the page source of a product page and search for application/ld+json. If there is no JSON-LD block, the agent has nothing structured to read and your catalog is effectively invisible. If a block exists, run the page through Google Rich Results Test to see which of the twelve fields are present, missing, or malformed. The missing fields are where you are losing the recommendation.
Does Shopify add Product schema automatically?
Partly. Shopify ships much of the 12-field surface by default, including a valid Product type, name, price, and availability, but it routinely leaves shippingDetails and hasMerchantReturnPolicy missing or unstructured, and exposes reviews only through a widget rather than Schema.org markup. WooCommerce follows a similar pattern. The remaining fields are the operator's work regardless of platform.
Why is priceValidUntil important for AI agent ranking?
Without priceValidUntil, an agent has no way to confirm your listed price is current, so it treats the price as potentially stale and demotes you against competitors whose prices it can trust. It is a single line of JSON-LD that changes whether the agent surfaces your price in a recommendation and comparison or routes around it. It is also one of the most commonly missing fields on otherwise complete catalogs.
Do AI agents read review widgets like Yotpo or Stamped?
No. Review apps such as Yotpo, Stamped, and Okendo render stars for human visitors but do not automatically emit Schema.org Review and AggregateRating markup the agent can read. The agent reads the markup, not the widget, so reviews trapped in a widget are invisible at the scoring stage. Many of these apps can output Schema.org markup, but it is often an off-by-default setting you have to switch on.
How long does it take to audit a catalog against the 12-Field Agent SKU?
About thirty minutes for your top SKUs using two free tools: Google Rich Results Test and your browser's View Source. Run one check per field against the twelve and note which come back missing or malformed. The audit does not fix anything; it tells you which fields your catalog is failing so you can prioritize. Most stores discover they ship five to seven of the twelve.

Written by the Cresva Team

Have a question? Email us