Tenten AIGEO
Back to Blog
Technical AEOImplementation

Product Schema JSON-LD template: Let ChatGPT correctly reference your product specifications, prices and inventory

When ChatGPT and Perplexity quote your product specifications, prices, and inventory, they read Product schema JSON-LD, not page layout. This directly copyable template teaches you how to mark price, availability, and priceValidUntil field by field, and explains how to verify that the AI ​​has actually read it after going online.

Tenten GEO TeamPublished 2026-07-125 min read
A schematic cover image of a structured data tag enclosing a floating product box like programmatic brackets

Let’s talk about the conclusion first: When ChatGPT or Perplexity answers “How much does this product cost, is it in stock, and what are its specifications?”, the answer it quotes is almost not “read” from your product page, but “read” from the Product schema. Without this structured data, AI can only guess the price and inventory from the text scattered throughout the page. If it guesses wrong, it will tell potential customers who are comparing prices as facts the old price from three months ago and the status of the product that has been replenished but is still marked as "out of stock."

This is especially fatal for B2B, especially SaaS. Your plan is constantly changing, your pricing is constantly adjusted, and the numbers on the web page may only be updated once a quarter; but if the snapshot captured by AI does not clearly indicate the date the price is valid for, it will have no way of judging when the number expires, and it will continue to be used. The job of the Product schema is to write "Which number should the machine believe" into an unambiguous field, rather than leaving it to the model to figure it out on its own?

Why AI engines especially eat structured data

AI engines read web pages differently from humans. People rely on typography and visual hierarchy to grasp the key points. What the model wants is the fact that it can cleanly extract a set of "subject-attribute-value". Product schema uses JSON-LD to mark the product name, brand, SKU, price, currency, and inventory status into key-value pairs, which is equivalent to handing the answer directly to the model, eliminating the risk of it guessing from the paragraph. When the specifications of the two sources do not match, the one with structured data and the data is consistent will usually win. As for why JSON-LD is used instead of Microdata, it is because it concentrates structured data in a script block and separates it from the HTML used for presentation. It is the least likely to be damaged during revisions. Google and Bing officials also use it as their first choice.

Minimal usable Product schema template

First give me the smallest version that can be put online just by copying it. Wrap the following JSON into a script tag with type set to application/ld+json, put it into the product page, and replace the value to use it. These fields are most commonly referenced by AI: name, brand, price, currency, inventory, and price validity period. If you are selling SaaS subscriptions, change the @type from Product to SoftwareApplication and the offers will be written exactly the same.

Column-by-column interpretation: Which ones does AI really read?

  • name: The official name of the product, consistent with the main title of the page, don’t include a marketing slogan. AI will directly use it as the "product name" when citing.
  • brand: Brand object, @type uses Brand. In a B2B context, this is a key column for AI to determine “whose product this is?”
  • sku and gtin: unique identifiers. SKU is used for internal identification; if there is a GTIN, AI can be used to compare across sites to determine whether this is the same product.
  • price and priceCurrency: split into two columns. Price only contains pure numbers (39000, do not write it as NT$39,000 or with commas), priceCurrency uses ISO 4217 code, Taiwan dollar is TWD, and US dollar is USD.
  • availability: The inventory status should use the enumeration value of schema.org, such as https://schema.org/InStock, OutOfStock, PreOrder. Do not write the words "in stock" yourself.
  • priceValidUntil: The day this price is valid until. This is a column that is most often missed but should be filled in in B2B. Without it, AI will not know when your quotation will be invalidated.
Product schema marks the product name, price and inventory as JSON-LD fields, and the AI engine correctly references the flow chart accordingly.
Only after the price and inventory of the product page are marked as fields in the Product schema can AI be quoted cleanly.

Price and inventory: the two fields most likely to be misspoken by AI

If the price is wrong, 90% of it is a format problem. Price can only be a number. Once it is written as a string with a currency symbol or a thousandth comma, the parsing will fail, and the AI ​​will simply skip the entire offer, which is equivalent to a white label. Inventory errors are most likely caused by changes at the front end, but the schema has not been changed accordingly: you remove the product from the shelves in the backend, and the page shows that it is out of stock, but the structured data still says InStock. This inconsistency not only causes the AI ​​to make mistakes, but Google may also judge it as misleading and demote the product. A pragmatic approach is to let price, availability, and priceValidUntil be dynamically generated according to the product database, instead of being handwritten in the template; when the price changes or the inventory moves, the schema is automatically synchronized.

Do you want to add ratings and comments?

aggregateRating and review can increase the probability of being cited, and also allow AI to bring out social proof in answers, but there are two red lines. First, the ratings in structured data must correspond to comments on the page that users can actually see; Google explicitly prohibits ratings that are only written in the schema but cannot be found on the page. If you step outside the line, you will be subject to manual punishment. Second, B2B SaaS often doesn’t have a lot of public reviews, making a shoehorned score more risky than beneficial. If there are no real reviews, don't put it away. Spend your energy on clearly marking the three columns of specifications, price, and inventory, and the rate of submission will be higher.

AI will not cite you because your product page is more beautiful, it will cite the set of numbers that it is most confident will not make mistakes. The job of the Product schema is to make that set of numbers just yours.Tenten GEO

After going online, how to confirm that AI has actually read it?

  1. Use Google's Rich Results Test or Schema Markup Validator to paste the URL and confirm that there are no errors in Product and Offer and that the required fields are not missing.
  2. Go to Search Console to view product-related reports and confirm that Google has successfully parsed it and there are no warnings.
  3. Ask the AI directly: Use ChatGPT and Perplexity to test questions such as "How much does product
  4. After each price change or inventory change, go back and test again to confirm that the structured data and the front desk are updated simultaneously. This is the most common and easily overlooked vulnerability.

Three errors that will invalidate the entire markup

  • The price is written as a signed string (for example, NT$39,000): the parsing fails directly, and the AI will ignore the entire offer.
  • The schema and page display do not match: writing InStock while displaying out-of-stock will be judged as misleading.
  • If there are multiple products on a page but only one is marked: on the plan comparison page or list page, use ItemList, or mark a set of Products for each plan.

Aligning the product schema is the step with the highest return rate in GEO technology implementation: the cost is low, and AI can use the numbers you marked almost immediately. The difficulty is not writing this JSON, but ensuring that the structured data on every page of the entire site is complete, correct, and synchronized with the front desk. This is also one of the key points of page-by-page inspection when we do GEO audits. If you are not sure where the fields on your product page are missing or mislabeled, or you want to see how AI currently describes your product and price, you can book a 30-minute GEO diagnosis. We will use your actual product to ask questions and show you the gaps and the priorities that should be filled first.

Frequently asked questions

Does Product schema have to use JSON-LD?
Not the only option, but JSON-LD is preferred. It concentrates structured data in a script block and separates it from the page HTML. It is easy to maintain and difficult to break when revising. Google and Bing officials also recommend it as a priority.
How to write the price field so that AI can read it?
Put only pure numbers in price, such as 39000, do not add currency symbols or thousandth commas; use the priceCurrency field for the currency, fill in the ISO 4217 code, and the Taiwan dollar is TWD. Writing it as a string containing symbols will cause parsing to fail and AI will simply ignore it.
Can SaaS products also use Product schema?
Yes. A common practice in SaaS is to set @type to Product or SoftwareApplication, and then use offers to indicate the plan price, currency, and validity period. The point is to let the AI ​​read the clear price and purchase status, rather than infer it from the text on the page.

READY WHEN YOU ARE

How visible is your brand in AI answers?

In a 30-minute GEO diagnostic, we use real prompts to identify your visibility gaps across major AI engines and show you what to fix first.

Book a 30-minute diagnostic