Review vs AggregateRating Schema: Differences, Use Cases, Examples, and Best Practices

7bb6d7f4177f5ea11fde1ce5e40a3e77

Written By: Ishan Makkar Last Updated: August 4, 2026

Review vs AggregateRating Schema Differences, Use Cases, Examples, and Best Practices
TL;DR: Review schema marks up a single evaluation from one author, while AggregateRating schema summarizes the average score from many reviews. Both should be nested inside a parent type like Product, both can trigger star-rating rich results, and in most cases the strongest implementation uses them together, accurately and validated.

If you’ve ever run a page through a validator and hit the error “review or aggregateRating should be specified,” you’ve met one of the most common points of confusion in structured data. Both properties deal with ratings. Both can produce star-rating rich results. Yet they describe two very different things, and mixing them up is a frequent reason review snippets never appear.

The consequence isn’t small. Star ratings are one of the most visible SERP enhancements available, and Google’s own case studies show what correct structured data can do. Rotten Tomatoes measured a 25% higher click-through rate on pages with markup, while Food Network saw a 35% increase in visits after enabling search features across its site. Getting the review vs AggregateRating schema decision right is what makes that kind of visibility possible.

In this article, we’ll break down what each type does, when to use which, how to combine them, and the implementation mistakes that quietly disqualify pages from review snippets.

Review vs AggregateRating Schema: Quick Comparison

Although both schema types relate to ratings, they serve different purposes in structured data. This quick comparison highlights the key differences before we explore each schema type in more detail.

Aspect Review Schema AggregateRating Schema
Purpose Describes a single review from one author. Summarizes the average rating from multiple reviews or ratings.
Best Use Case Product pages, editorial reviews, recipes, books, or services with individual customer or critic reviews. Product, course, software, recipe, or other pages displaying an overall rating (e.g., 4.8/5 from 250 reviews).
Represents One person’s opinion and rating. The collective opinion of many reviewers.
Key Properties author, reviewRating, reviewBody ratingValue, reviewCount or ratingCount
Can It Be Used Alone? Yes, when the page contains genuine individual reviews. Yes, when the average rating is based on real, visible reviews.
Can You Use Both Together? Yes. Nest both under the same parent schema (such as Product) to provide Google with both individual reviews and the overall rating. Yes
Which Should You Choose? Use it when highlighting specific customer or editorial reviews. Use it when displaying an overall rating based on multiple reviews. If your page has both, implement both.

Review vs AggregateRating Schema: Key Differences

In simple terms, Review structured data answers “what did this person think?” while AggregateRating structured data answers “what does everyone think on average?”

As per the official schema.org/Review and schema.org/AggregateRating definitions, a Review carries an author, a reviewRating, and often a reviewBody. An AggregateRating carries a ratingValue calculated across multiple reviews, along with the count behind it.

Feature Review AggregateRating
Represents Single review Average rating
Required properties author, reviewRating ratingValue, reviewCount
SERP appearance Rating + excerpt Rating + review count
Minimum reviews needed 1 Multiple

Here’s why this matters: Google treats these as related but distinct inputs for the review snippet feature. Google states that for aggregate ratings, the average score must be supplied for stars to display, and that both types should be nested into a parent schema.org type rather than floating on their own.

When Should You Use a Review Schema?

Use review schema markup when a page contains one or more individual, genuine evaluations, a customer review on a product page, a critic’s assessment of a book, or an editorial review of a recipe or service.

A valid Review needs a clear item being reviewed, an author, and a rating (or an author plus review date). The review content must also be visible on the page, marking up reviews users can’t see violates Google’s guidelines.



{
"@context": "https://schema.org",
"@type": "Product",
"name": "Trailhead Running Shoes",
"review": {
"@type": "Review",
"author": { "@type": "Person", "name": "Dana M." },
"reviewRating": { "@type": "Rating", "ratingValue": "5", "bestRating": "5" },
"reviewBody": "Light, supportive, and held up well after 200 miles."
}
}

The key point is authenticity. Reviews must come from real customers or independent critics, not from the site owner, staff, or fabricated testimonials. That distinction sits at the heart of what makes review structured data trustworthy to search engines.

When Should You Use AggregateRating Schema?

Use AggregateRating schema when you have multiple ratings for the same item and want to present the average. This is the markup behind the familiar “4.7 stars (312 reviews)” display in search results.

AggregateRating schema markup requires a ratingValue plus at least one of ratingCount or reviewCount. If your scale isn’t 1-5, declare bestRating and worstRating explicitly.



{
"@context": "https://schema.org",
"@type": "Product",
"name": "Trailhead Running Shoes",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "312",
"bestRating": "5"
}
}

A common issue is publishing an aggregate score that doesn’t match what’s visible on the page, or counting ratings that live only on a third-party platform. The numbers in your aggregate rating structured data should reflect real, on-page (or clearly accessible) ratings, and update as new reviews arrive.

If your ratings change frequently, continuous schema monitoring helps catch drift between your markup and your actual review data before Google does.

Can You Use Review and AggregateRating Together?

Yes, and in most cases, you should. Google explicitly supports nesting both a review array and an aggregateRating object inside the same parent type. This gives search engines the full picture: individual voices plus the overall consensus.



{
"@context": "https://schema.org",
"@type": "Product",
"name": "Trailhead Running Shoes",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "312"
},
"review": [{
"@type": "Review",
"author": { "@type": "Person", "name": "Dana M." },
"reviewRating": { "@type": "Rating", "ratingValue": "5" }
}]
}

This combined pattern is standard practice on eCommerce product pages, where it pairs naturally with product schema markup that already includes offers, pricing, and availability.

Review vs AggregateRating Schema: At a Glance

Choosing the right schema depends on the type of review information your page contains. Use the table below to quickly determine whether Review, AggregateRating, or both are the best fit for your content.

If your page has Use this schema
One customer, editor, or critic review Review
An average rating from multiple reviews AggregateRating
Both individual reviews and an overall rating Use both together (nested under the same parent type)
No genuine reviews or ratings Neither until you have authentic review data

Best Practices That Keep You Eligible for Review Snippets

Implementing Review or AggregateRating schema correctly is only part of the process. Following Google’s structured data guidelines and keeping your markup accurate, visible, and up to date gives your pages the best chance of qualifying for review snippets.

Nest inside a supported parent type

Google supports review snippets for types like Product, Recipe, Book, Movie, Course, and Local Business, but not every schema type is eligible for review stars. Always attach your review or rating to a specific item, never to the page in general.

Avoid self-serving reviews

Since Google’s 2019 update, pages using LocalBusiness or Organization schema are ineligible for star ratings when the entity controls its own reviews. Product reviews collected on your own product pages remain fine, the restriction targets businesses rating themselves.

Match markup to visible content

The rating in your structured data must equal the rating users see. Mismatches erode trust and eligibility.

Validate before and after publishing

Run every page through the Rich Results Test, fix errors first, then review warnings.

Keep it consistent at scale

Manually maintaining ratings across hundreds of pages is where most implementations break down. If you’re new to how schema markup works, start with one template page, validate it, then scale. A tool like JSON Schema App can generate and update reviews and AggregateRating JSON-LD dynamically, so counts and averages stay accurate as reviews come in.

Conclusion

The review vs AggregateRating schema question comes down to scope: one review versus the sum of many. Use Review schema for genuine individual evaluations, AggregateRating schema when you have multiple ratings to average, and nest both inside a specific parent type for the most complete review snippet schema.

From there, eligibility is about discipline, accurate numbers, visible content, no self-serving markup, and validation on every page. Run your key product or service pages through the Rich Results Test this week, and if maintaining accurate ratings across many pages is the key, automating your JSON-LD is the practical next step.

FAQs

Q1: What is the main difference between Review and AggregateRating schema?

Review schema describes a single evaluation from one author; AggregateRating schema describes the average score across many ratings, with a required count. One is an individual opinion, the other is a summary.

Q2: Can AggregateRating exist without individual Review markup?

Yes. Google only requires one of the two for review snippet eligibility. That said, the underlying ratings must be real and visible to users, an aggregate score with no accessible reviews is a red flag.

Q3: Why aren’t my star ratings showing in Google?

Common causes include missing required properties (like ratingValue or reviewCount), self-serving reviews on LocalBusiness or Organization pages, markup that doesn’t match visible content, or an unsupported parent type. Rich results are also never guaranteed, Google decides display case by case.

Q4: Does review schema directly improve rankings?

No. Review structured data influences how your listing appears, not where it ranks. The visibility benefit comes from enhanced presentation, stars and counts that can improve click-through rates.

Q5: Which parent types support review snippets?

Google lists types including Product, Recipe, Book, Movie, Course, Event, Software App, and Local Business (with the self-serving restriction). Attach your markup to the most specific applicable type.

Q6: Should reviewCount include ratings without written reviews?

Use reviewCount for written reviews and ratingCount for all ratings, including star-only ones. Pick the property that matches your data source and stay consistent.

Google logo

“The agent doesn’t return ten blue links… it pulls from structured business data… to complete the job.”

- Sundar Pichai

JSON Schema App automatically detects, fixes, and manages structured data to help search engines and AI understand your website, improving visibility and rich results.

Try our Other Product

Website Speedy is a SaaS-based website optimization tool that instantly reduces website loading times.

This tool allows you to optimize images automatically on any platform, including Wix, Shopify, BigCommerce, and more.