ServicesAI Audit
← Back to Blog

How to Use Review Schema to Get More AI Recommendations

Schema MarkupReview SchemaAI VisibilityJSON-LDStructured DataE-Commerce SEOLLM SEOAI Recommendations

Why AI Engines Treat Reviews as Trust Signals

When someone asks ChatGPT or Perplexity to recommend the best product in a category, the AI is not just guessing. It is drawing on patterns in the data it has been trained on, and in real-time retrieval systems, it is also pulling information directly from web pages. Reviews are one of the strongest trust signals in both scenarios.

Think about how a human researcher would evaluate a business. They would read reviews, look at ratings, and check how many people had weighed in. AI systems follow a remarkably similar logic. A page that clearly communicates "this product has 247 reviews and an average rating of 4.8 out of 5" is far more useful to an AI than a page that says "customers love our product" with no structured evidence.

The problem is that most e-commerce sites have reviews sitting on their pages in plain HTML, styled with CSS stars, with no underlying structure that machines can reliably parse. The content is there for humans, but it is largely invisible to AI crawlers in any meaningful, structured sense. That is where review schema comes in.

What Review Schema Actually Does

Review schema is a type of structured data markup, written in JSON-LD format, that you embed in the <head> or <body> of your page. It communicates review information in a format that search engines and AI systems can read without ambiguity.

There are two main schema types you need to understand here:

  • Review: Represents a single review of a product, service, or business. Includes the reviewer's name, the rating they gave, the review body text, and the date it was published.
  • AggregateRating: Represents the rolled-up average across all reviews. Includes the average rating value, the best possible rating, the worst possible rating, and the total number of reviews or ratings.

Both are defined by Schema.org and are widely supported. For AI visibility purposes, AggregateRating tends to carry more weight because it gives the AI a single, clear data point to cite. But having both is better than having one alone.

If you want a broader picture of which schema types matter most for your site, this guide on essential e-commerce schema types is worth reading alongside this one.

Writing the JSON-LD Markup Step by Step

Let's look at what the actual code looks like. Below is a typical JSON-LD block for a product page with both a single review and an aggregate rating.

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Organic Matcha Green Tea Powder",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "reviewCount": "312",
    "bestRating": "5",
    "worstRating": "1"
  },
  "review": [
    {
      "@type": "Review",
      "author": {
        "@type": "Person",
        "name": "Sarah M."
      },
      "datePublished": "2024-11-03",
      "reviewBody": "Incredible flavour and dissolves really well. I've tried several brands and this is by far the best.",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": "5",
        "bestRating": "5",
        "worstRating": "1"
      }
    }
  ]
}

A few things to note here. First, the reviewCount should reflect your actual number of reviews. AI systems that cross-reference your structured data against what they can find elsewhere will notice discrepancies, and inflated numbers can undermine trust. Second, always include bestRating and worstRating. Without them, some parsers assume a default scale and can misinterpret your data. Third, include a real reviewBody wherever possible. The actual text of a review is far more useful to an AI than a rating number alone.

Where to place the JSON-LD block

Place it inside a <script type="application/ld+json"> tag. You can put it in the <head> or anywhere in the <body>. Google and most AI crawlers will find it either way. On Shopify, the cleanest approach is to add it to your product template liquid file. On WordPress with WooCommerce, plugins like Rank Math or Schema Pro can generate this automatically, though hand-crafted markup is usually cleaner and more accurate.

If you are nervous about adding schema without breaking your pages, this practical guide to adding JSON-LD safely walks through the process in detail.

How AI Systems Use This Data When Making Recommendations

Here is the part that most schema guides skip over. Adding review schema does not guarantee AI recommendations. What it does is remove a barrier to those recommendations and increase the quality of the signal you are sending.

When a large language model or retrieval-augmented AI is deciding which products or businesses to recommend, it is essentially asking: "What evidence do I have that this is a trustworthy, well-regarded option?" Your structured data is part of that evidence. A product page with a clearly marked aggregate rating of 4.9 from 500 reviews is feeding the AI concrete, parseable information. A page with a generic "our customers love us" tagline is not.

There are three ways review schema specifically helps with AI recommendations:

  1. It makes your ratings citable. AI systems like Perplexity often quote specific figures when recommending products. If your rating is in structured data, it is easy to extract and cite accurately.
  2. It improves your authority signals. A high volume of reviews tells the AI your product has significant real-world usage. Volume matters alongside quality.
  3. It reduces ambiguity. Unstructured review content requires the AI to interpret and guess. Structured data removes that interpretation layer entirely.

The role of review text in AI training and retrieval

Beyond ratings, the actual text of reviews is valuable content. When you include reviewBody in your schema, you are surfacing the natural language that real customers use to describe your product. This language often closely matches the queries that other customers type into AI engines. A review that says "perfect for people with sensitive skin who want a fragrance-free moisturiser" is essentially keyword-rich, authentic content that aligns with how future buyers will search.

AI systems trained on or retrieving web content will absorb this language as part of how they understand what your product is and who it is for. It is a small but meaningful boost to topical relevance.

Common Mistakes That Undermine Review Schema

Getting the markup wrong is worse than having no markup at all in some cases, because bad structured data can confuse crawlers and lead to your page being deprioritised in rich result eligibility. Here are the mistakes we see most often.

Fabricating or inflating review counts

This is the most serious mistake. If your page shows 12 reviews visually but your schema claims 847, that inconsistency will be detected. Google's structured data guidelines explicitly prohibit this, and AI systems that cross-reference your structured data with your visible content will flag the discrepancy. Keep your numbers accurate and keep them updated.

Missing required properties

For AggregateRating, the minimum required properties are ratingValue and either reviewCount or ratingCount. Many implementations leave these out or misspell the property names. Run your markup through Google's Rich Results Test after every implementation to catch these errors early.

Nesting schema incorrectly

Review schema almost always needs to be nested inside a parent entity, typically a Product, LocalBusiness, or Organization. A floating AggregateRating with no parent entity is technically valid but loses context. Always attach your review schema to the thing being reviewed.

Using outdated or cached review data

If your reviews are fetched dynamically from a third-party platform like Trustpilot or Yotpo, your schema needs to be updated regularly to stay accurate. A static schema block that says 4.7 stars from 200 reviews when you now have 600 reviews and a 4.9 average is leaving value on the table. Automate the sync wherever possible.

Review Schema for Service Businesses and Local Businesses

Everything above applies equally to service businesses. If you are not selling products but are offering services, you would use LocalBusiness or Service as your parent entity type rather than Product. The review and aggregate rating schema nested within works identically.

For local businesses, this is particularly powerful. When someone asks an AI assistant "who is the best accountant in Bristol" or "find me a highly rated dog groomer in Leeds," the AI is drawing on exactly the kind of structured, rated, reviewed data that schema markup provides. Local businesses without this markup are at a significant disadvantage in AI-generated recommendations.

At FlinnSchema, we work with e-commerce and service businesses to implement precisely this kind of structured data, alongside the broader AI visibility work that helps your site get picked up and cited by AI engines consistently.

Validating and Monitoring Your Review Schema

Implementing schema is not a one-and-done task. You need to validate it, monitor it, and keep it current.

Start with Google's Rich Results Test (search.google.com/test/rich-results). Paste your URL or your JSON-LD block directly and it will tell you whether the markup is valid and eligible for rich results. Run this every time you update your schema.

Next, check Google Search Console. Under the "Enhancements" section, you will see a report for any rich result types Google has detected on your site. If reviews are showing errors or warnings, this is where you will find out.

For AI visibility specifically, the signals are less direct. You can test whether AI systems are citing your reviews by running queries related to your product category in ChatGPT, Perplexity, and Gemini, and noting whether your business gets mentioned and whether your ratings are cited accurately. For a more structured approach to tracking this, our guide on measuring AI visibility covers the methods we use with clients.

If you want a quick sense of where you currently stand before implementing anything, our free AI visibility audit is a good starting point.

Frequently Asked Questions

Does review schema directly improve my Google rankings?

Not directly, no. Review schema makes your pages eligible for rich results (the star ratings that appear in search snippets), which can improve click-through rates. Higher click-through rates can indirectly contribute to better rankings over time. But the schema itself is not a ranking factor. Its value for AI recommendations is a separate and increasingly important benefit.

Can I use review schema if my reviews are hosted on a third-party platform like Trustpilot?

Yes, but with an important caveat. You can reference ratings you have legitimately received on third-party platforms, but you should not copy individual review text from those platforms into your schema without checking the platform's terms of service. Many platforms restrict this. Aggregated rating data (overall score and count) is generally safe to include in your own schema. When in doubt, use your own on-site reviews for the reviewBody content.

How many reviews do I need before review schema is worth adding?

There is no official minimum, but practically speaking, an aggregate rating based on fewer than 10 reviews carries limited credibility. Google will still display it, but a 5-star average from 3 reviews looks thin. We generally recommend implementing the schema from the moment you have 10 or more genuine reviews, then keeping it updated as volume grows. For AI recommendation purposes, higher review counts carry more weight than the rating alone.

What is the difference between Review schema and AggregateRating schema?

A Review represents one person's opinion: their name, their rating, their written feedback. An AggregateRating represents the statistical summary across all reviews: average score, total count. For AI recommendations, the aggregate rating is the more frequently cited data point because it is concise and comparable. Individual review content adds context and natural language signals. Ideally, include both types in your implementation.

Want to check your AI visibility?

Run a free audit on your website and see how visible you are to ChatGPT, Perplexity, and other AI search engines.

Run Free Audit