ExplainerTechnical AEO
Product Schema for AI Answers: Price, Availability, and the Fields That Get Read
by the AEO GEO Labs team3 min read
When someone asks an answer engine "what is the cheapest X that does Y", the engine has to find a price, confirm the product is available, and decide which page to trust. Product schema is the most direct way to hand it those three things. Most product pages either have no schema or have a block generated years ago that still lists a price from two redesigns back.
Here is what to put in it and which fields do the work.
The fields that get read
In our testing, four fields tend to matter more than everything else combined.
name. The product name exactly as it appears in the H1 and in the title tag. Variants in the name across those three places make it harder for an engine to confirm it is looking at one product.
offers.price and offers.priceCurrency. A numeric price and an ISO currency code. Not "from $49", not "contact us", not a range in a string. If you sell in multiple currencies, use multiple Offer objects. If pricing is custom, say so with priceSpecification rather than inventing a number.
offers.availability. One of the schema.org enumeration values, such as InStock or OutOfStock. Engines use this to decide whether to recommend a product at all. A product that is listed as in stock but has been discontinued is a bad recommendation waiting to happen.
description. One or two factual sentences. What it is, who it is for, the one measurable thing that distinguishes it. This is the sentence most likely to be paraphrased in an answer.
The fields that help with comparisons
brand. A Brand object with a name, and a sameAs to your Organization page if the brand and company are the same entity. This connects the product to everything else you have published about yourself.
sku, gtin, mpn. Identifiers. A GTIN in particular lets an engine match your listing to the same product on a retailer or review site without any guesswork. If you have one, include it.
aggregateRating. Only if the rating is real, visible on the page, and comes from reviews a user could read. Review markup that does not correspond to anything on the page is the kind of thing that gets flagged, and it undermines the rest of the block.
additionalProperty. For specs: weight, dimensions, capacity, compatibility. Use PropertyValue objects with name, value, and unitCode. Specs expressed this way are far easier to extract than specs in a styled table.
Software products
For SaaS, use SoftwareApplication rather than Product, or nest one inside the other. The fields that matter shift slightly: applicationCategory, operatingSystem, and offers with each pricing tier as its own Offer. A free tier should be an Offer with price set to 0, not omitted.
Keeping price current
The most common Product schema problem is not a missing field. It is a price that was correct at launch and has not changed since. Engines do not know which copy of the price is current, the one in the schema or the one in the visible page, and when they disagree, you lose the trust of both.
Generate the schema from the same data that renders the visible price. If your CMS cannot do that, add a check to your deploy process that compares the two. Stale price schema is worse than no price schema.
What schema will not do
It will not make an engine prefer your product over one with better reviews on sources it reads. It will not fix a product page that only renders with JavaScript, since a crawler that cannot see the page cannot see the block either. And it does not replace a clear, quotable page. Schema is the machine-readable summary; the page still has to earn the citation.
How we approach it
At AEO GEO Labs, Product schema is part of the same consistency pass as Organization schema and llms.txt. We pull every product's price, availability, and description into one sheet, compare it to the live page and to listings on retailer and review sites, and fix disagreements before adding anything new. The goal is that every copy of the fact says the same thing.
Start with one product
Pick your best-selling product. Run the page through the free schema markup generator at AEO GEO Labs or a validator, check that price, currency, and availability are present and correct, and then check the same three values on the visible page. If they match, do the next product. If they do not, fix that before anything else.