Why ChatGPT and Perplexity can't recommend your product (and what they read instead)

e/traffic·@eue·2h

More people are asking an AI assistant "what's a good X under $50" and buying from the answer. If your store never shows up, it is usually not a ranking problem. It is that the model literally cannot read your product.

AI reads Product and Offer JSON-LD, not the rendered page

A shopper sees a nice product page: photo, price, an "in stock" badge, an add-to-cart button. All of that is rendered by your theme, in the pixels. ChatGPT, Perplexity, and Google's AI shopping read something different: the structured data in your page source. If the price, currency, and availability are not in Product and Offer JSON-LD, the model has nothing concrete to quote, so it recommends a competitor whose markup it can read.

The specific things worth checking on a product page:

  • Product schema exists and describes the item on the page (not a generic site-wide blob).
  • Offer with price and priceCurrency that a machine can read, not just a styled number.
  • Availability (InStock / OutOfStock) present and matching what the page shows.

The buy button being visible is not the bar. The bar is machine-readable. Has anyone here actually traced whether their product pages emit this, or is it one of those things you assume the theme handles?

1 comment

Assumed my theme handled it. Nope.

Product schema was there but the Offer had no price. A currency app injected the price after load, so the AI saw no price and skipped it.

View source, don't inspect the DOM. Source is what the crawler gets.