Review and AggregateRating Schema: Turn Customer Reviews Into AI-Visible Social Proof

Review schema transforms your customer reviews from on-page text that AI systems might overlook into structured, machine-readable social proof that directly influences purchase decisions in AI-generated answers. Products with review markup see 20-35% higher click-through rates in search results, and star ratings displayed as rich snippets achieve an average CTR of 87% according to Milestone Research. For ecommerce merchants, review schema is the single fastest way to add visible trust signals to both traditional search results and AI product recommendations.

Why Review Schema Matters for Ecommerce

Customer reviews are the most powerful purchase driver in ecommerce. But reviews trapped in JavaScript widgets, third-party iframes, or unsupported markup formats are invisible to the systems that drive the most discovery traffic.

The numbers paint a clear picture:

Click-through rates increase dramatically. Google's own case studies show pages with rich results achieve 82% higher CTR than non-rich result pages. Star ratings in search results drive a 25-30% CTR improvement over plain text listings. When combined with price and availability in Product rich snippets, the lift reaches 74.1%.

AI systems prioritize structured review data. Analysis of AI citation patterns shows that schema-compliant pages are cited 3.1 times more frequently in Google AI Overviews. When an AI assistant recommends products, it pulls from structured data -- not from parsing review widgets rendered by JavaScript. If your reviews exist only in a Yotpo or Judge.me widget without corresponding JSON-LD schema, AI engines cannot see them.

Conversion improves before the click. Merchants using full Product schema with AggregateRating report 31.8% higher organic conversion rates. Shoppers who see star ratings and review counts in search pre-qualify themselves -- they click knowing the product is well-reviewed, which reduces bounce rates and improves downstream metrics.

The Two Schema Types: Review vs. AggregateRating

Schema.org provides two distinct types for review data, and most merchants should use both:

AggregateRating

This represents the summary of all reviews: the average star rating and total review count. It is the data that appears as the star rating snippet in search results.

{
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.6",
    "bestRating": "5",
    "worstRating": "1",
    "reviewCount": "312",
    "ratingCount": "458"
  }
}

Key properties:

  • ratingValue -- The average rating. Must be a number.
  • bestRating -- The highest possible rating (usually "5").
  • worstRating -- The lowest possible rating (usually "1").
  • reviewCount -- The number of reviews that include written text.
  • ratingCount -- The total number of ratings, including those without text. This should be greater than or equal to reviewCount.

Review

This represents individual customer reviews. You should include at least one, but including 3-5 of your most helpful reviews gives AI systems more content to work with.

{
  "review": [
    {
      "@type": "Review",
      "author": {
        "@type": "Person",
        "name": "Jordan K."
      },
      "datePublished": "2026-03-08",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": "5",
        "bestRating": "5"
      },
      "reviewBody": "This serum has completely transformed my morning routine. Absorbs fast, no residue, and my skin looks noticeably brighter after three weeks."
    },
    {
      "@type": "Review",
      "author": {
        "@type": "Person",
        "name": "Maya R."
      },
      "datePublished": "2026-02-14",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": "4",
        "bestRating": "5"
      },
      "reviewBody": "Great product for the price. Only downside is the pump dispenser could be better. The serum itself is fantastic."
    }
  ]
}

Complete Product Schema With Reviews

Here is a full Product JSON-LD block with both AggregateRating and individual Review schema properly nested:

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Vitamin C Brightening Serum",
  "description": "20% L-Ascorbic Acid serum with Vitamin E and Ferulic Acid. 1 fl oz dropper bottle. Brightens, firms, and protects against environmental damage.",
  "image": [
    "https://example.com/images/serum-front.jpg",
    "https://example.com/images/serum-texture.jpg"
  ],
  "brand": {
    "@type": "Brand",
    "name": "GlowLab Skincare"
  },
  "sku": "GL-VCS-001",
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/products/vitamin-c-serum",
    "priceCurrency": "USD",
    "price": "42.00",
    "priceValidUntil": "2027-06-30",
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/NewCondition"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.6",
    "bestRating": "5",
    "worstRating": "1",
    "reviewCount": "312",
    "ratingCount": "458"
  },
  "review": [
    {
      "@type": "Review",
      "author": {
        "@type": "Person",
        "name": "Jordan K."
      },
      "datePublished": "2026-03-08",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": "5",
        "bestRating": "5"
      },
      "reviewBody": "This serum has completely transformed my morning routine. Absorbs fast, no residue, and my skin looks noticeably brighter after three weeks."
    },
    {
      "@type": "Review",
      "author": {
        "@type": "Person",
        "name": "Maya R."
      },
      "datePublished": "2026-02-14",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": "4",
        "bestRating": "5"
      },
      "reviewBody": "Great product for the price. Only downside is the pump dispenser could be better. The serum itself is fantastic."
    },
    {
      "@type": "Review",
      "author": {
        "@type": "Person",
        "name": "Sam P."
      },
      "datePublished": "2026-01-22",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": "5",
        "bestRating": "5"
      },
      "reviewBody": "Third bottle. Switched from a $90 competitor and this performs just as well. My dermatologist noticed the improvement."
    }
  ]
}

Google's Guidelines: What You Must Follow

Google has strict policies around review schema. Violating them can result in manual actions that strip your rich results entirely.

Reviews Must Be Visible on the Page

The aggregateRating and reviewCount in your schema must exactly match the numbers visible to users on the page. If your page shows "4.6 stars from 312 reviews," your schema must say the same. Mismatches between schema data and visible content violate Google's structured data policies.

No Self-Reviews

Reviews must not be written by the business itself unless they are genuine, independent, and unpaid editorial reviews. Google considers business-written reviews in schema markup to be deceptive. If you are caught, you will receive a manual action penalty that removes all your rich results.

No Category-Level Ratings

A common mistake: applying the aggregate rating of one product to an entire collection or category page. For example, if you sell 50 different skincare products, you cannot take your best-rated serum's 4.8 stars and apply that rating to your entire "Skincare" category page. Google explicitly warns against this and considers it manipulative.

Author Must Be a Person or Organization

Google requires the review author to be specified as either a Person or Organization type with a name property. Anonymous reviews without an author type will not qualify for rich results.

While not strictly required, including datePublished on individual reviews signals freshness to both Google and AI systems. Reviews without dates look stale, and AI engines that prioritize recency may deprioritize undated reviews.

How Review Schema Impacts AI Citations

AI answer engines handle reviews differently than Google Search. Understanding this helps you optimize for both channels.

When a user asks ChatGPT or Perplexity "What is the best vitamin C serum under $50?", the AI system queries its indexed data. If your product has structured review data in the index, the AI can confidently state: "GlowLab's Vitamin C Serum ($42) has a 4.6 rating from 312 reviews, with customers noting fast absorption and visible brightness improvement within three weeks."

Without review schema, the AI would need to parse your page content, find the review section, hope the JavaScript widget rendered the reviews in a parseable format, and extract meaning from unstructured text. Most AI systems will skip this work and cite a competitor who made their data easier to consume.

Research from Yext analyzing 6.8 million AI citations found that 86% of citations come from sources brands already control -- primarily websites with structured, well-organized data. Your review schema is part of that structure.

Shopify Integration: Bridging Reviews and Schema

Most Shopify stores have a gap between their review app and their schema markup. Here is the problem and how to fix it.

The Problem

Review apps like Judge.me, Yotpo, Okendo, and Stamped.io render review widgets on your product pages using JavaScript. These widgets show star ratings and review text to visitors. But the widget HTML does not automatically produce JSON-LD schema. This means:

  • Visitors see your reviews (good)
  • Googlebot may or may not parse the JavaScript widget (unreliable)
  • AI systems querying search indexes have no structured review data (bad)

The Solution

You need a schema bridge that pulls your review data into JSON-LD. There are three approaches:

1. App-native schema output. Some review apps include JSON-LD output as a feature. Judge.me, for example, can output review schema in JSON-LD format. Check your review app's settings for a "SEO" or "Schema" section.

2. Schema-specific apps. Apps like Schema Plus SEO or Schema App Total Schema Markup can pull review data from your review app and include it in the page's JSON-LD output. This is the most reliable approach because these apps are purpose-built for schema generation.

3. Custom Liquid implementation. If your review app stores data in Shopify metafields, you can write a custom Liquid snippet that reads the review data and outputs JSON-LD. This requires development work but gives you full control.

Liquid Example for Review Schema

If your review data is available via metafields or Liquid objects, here is a template:

{% if product.metafields.reviews.rating_value %}
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": {{ product.title | json }},
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": {{ product.metafields.reviews.rating_value | json }},
    "bestRating": "5",
    "worstRating": "1",
    "reviewCount": {{ product.metafields.reviews.review_count | json }}
  }
}
</script>
{% endif %}

Common Review Schema Mistakes

Showing ratings for products with zero reviews. If a product has no reviews, do not include AggregateRating schema. A "0 reviews" aggregate rating looks suspicious to both Google and AI systems.

Using reviewCount and ratingCount interchangeably. reviewCount is the number of reviews with written text. ratingCount is the total number of ratings (including star-only ratings without text). If you only have one number, use reviewCount.

Hardcoding review data. If your schema shows "4.8 stars from 200 reviews" but your page shows "4.6 stars from 312 reviews" because the data updated, Google will flag a mismatch. Always generate review schema dynamically from your review platform's data.

Including only 5-star reviews in schema. Google's guidelines require that review data reflect the genuine sentiment of customers. Cherry-picking only positive reviews for your schema while your page shows a mix of ratings is a policy violation.

Forgetting to update after review moderation. If you delete spam reviews, your visible review count drops. Your schema must update accordingly. Automated schema generation from your review data source prevents this.

Testing Your Review Schema

After implementation, validate your review schema using this workflow:

  1. Google Rich Results Test -- Enter your product page URL. Check that the Product result shows your star rating and review count. Fix any errors or warnings.
  2. Schema Markup Validator -- Validate against the full Schema.org vocabulary. This catches issues the Rich Results Test might miss.
  3. Google Search Console -- After indexing, check the Product enhancement report for valid items with ratings.
  4. Manual spot check -- Compare the rating and review count in your schema with what appears visually on the page. They must match.

Review schema is not a set-and-forget implementation. Your reviews change daily -- new reviews come in, spam gets removed, ratings shift. Build your implementation to generate schema dynamically from your review data source, validate regularly, and ensure the numbers always match what customers see on the page.