Meet Cortex AI Powered, Expertise Refined Decision EngineYour AI Optimization Engine
Schema

How to Create Review and AggregateRating Schema in 2026

Seven chapters covering the Review vs AggregateRating distinction, itemReviewed, Rating modeling, Google's first-party-only policy, the 2019 self-serving cutoff, and the breakages we see most often.

Jacque Bichara
Jacque Bichara
Founder & Lead Strategist, Capconvert
May 20, 2026Updated May 20, 202611 min read Reviewed by {{REVIEWER_NAME}}, {{REVIEWER_CREDENTIAL}} on May 20, 2026
Who this is for Anyone with on-page user reviews or aggregate scores who wants stars in the SERP, while staying inside Google's restrictive review-snippet policy.
TL;DR
  • Two types do different jobs. Review = a single review by one author. AggregateRating = the rolled-up score across many reviews.
  • Required on Review: itemReviewed, author, reviewRating. Required on AggregateRating: itemReviewed, ratingValue, and one of ratingCount / reviewCount.
  • Google's first-party-only policy: stars only surface for entities reviewed on the site that owns the entity (a brand can show stars on its own Product page; a publisher can't show stars on a Review-of-Brand-X article unless it sells X).
  • Self-serving reviews don't qualify. Reviews of your own company / services / agency are ineligible since the 2019 update. Use a third-party aggregator (Trustpilot, G2) instead.
  • Eligible itemReviewed types are limited: Book, Course, CreativeWorkSeason, CreativeWorkSeries, Episode, Event, Game, HowTo, LocalBusiness, MediaObject, Movie, MusicPlaylist, MusicRecording, Organization (with policy exception), Product, Recipe, SoftwareApplication.

Chapter 1. Before you start

Review schema is one of the highest-CTR rich-result features (stars in the SERP) but also the most aggressively policy-policed. Google has tightened the rules twice (2019 self-serving cutoff, 2023 LocalBusiness-on-Organization restriction) and continues to drop sites that ship Review schema on ineligible item types. Before you ship, confirm two things: the item being reviewed is eligible, and the reviews are first-party / non-self-serving.

  • Confirm itemReviewed is on Google's eligible-types list. The list (in TL;DR) is closed - anything not on it doesn't get the stars in the SERP, no matter how good the schema is.
  • Confirm reviews are visible on the page users land on. Hidden reviews / paywalled reviews / off-site reviews don't qualify. The page must clearly display the same reviews the schema references.
  • Confirm reviews aren't self-serving. Reviews of your own business / services on your own site are ineligible since September 2019. Third-party platforms (Trustpilot, G2, Yelp) sidestep this if you syndicate their reviews.
  • Decide Review or AggregateRating or both. For a Product with 200 reviews, ship AggregateRating + maybe 3-5 sample Reviews. For a single editorial review, ship just Review.
Google policy
Google has issued manual actions against sites that ship fake or self-serving review schema. Penalties range from rich-result removal for the affected pages up to sitewide ranking demotions. Don't fake ratings, don't aggregate from sources that aren't on the page, and don't ship Review schema on your own services / agency / company pages.

Chapter 2. Review vs AggregateRating: which one ships when

You haveYou shipSERP result
One editorial review of a productReviewStar + reviewer name in SERP snippet
Many user reviews of a productAggregateRating + 3-5 sample ReviewStar + review count in SERP snippet
Critic score (rotten tomatoes-style)Review with critic Person as authorStar + critic name
Aggregator data (Trustpilot, G2)Trustpilot/G2's own schema (don't duplicate)Stars on their site, not yours

The combined pattern - AggregateRating + sample Reviews - is the most common shape for ecommerce Product pages. The aggregate gives Google the headline rating; the sample reviews give Google something to attribute and possibly excerpt in the snippet.

Chapter 3. Required and recommended properties

Review

{
  "@context": "https://schema.org",
  "@type": "Review",
  "itemReviewed": {
    "@type": "Product",
    "name": "Capconvert Sentry",
    "@id": "https://www.example.com/products/sentry#product"
  },
  "author": {
    "@type": "Person",
    "name": "Jane Doe"
  },
  "datePublished": "2026-04-15",
  "reviewRating": {
    "@type": "Rating",
    "ratingValue": "5",
    "bestRating": "5",
    "worstRating": "1"
  },
  "reviewBody": "Sentry caught 47 schema breakages our manual audit missed. Worth every penny."
}

AggregateRating

{
  "@context": "https://schema.org",
  "@type": "AggregateRating",
  "itemReviewed": { "@id": "https://www.example.com/products/sentry#product" },
  "ratingValue": "4.8",
  "bestRating": "5",
  "worstRating": "1",
  "ratingCount": 142,
  "reviewCount": 67
}

The distinction between ratingCount and reviewCount: ratingCount includes star-only ratings; reviewCount only counts reviews with a written body. Include both if available - they're additive signals.

Chapter 4. The first-party-only policy

Since the September 2019 update, self-serving review markup is not eligible for the review rich result. "Self-serving" means reviews about your own business, organization, or services, on your own site.

What still works

  • A brand selling its own products: Product page with user reviews → eligible. The Product is the entity reviewed; the brand-seller is incidental.
  • A publisher reviewing third-party products: editorial review of Brand-X-Widget → eligible (Review with itemReviewed = Brand X's Product).
  • A local business with on-site customer reviews: review snippets used to be allowed in 2018-19 but the LocalBusiness review rich result was deprecated. Use Trustpilot / Yelp / GBP reviews instead.
  • Movie / Book / Course / Game / Recipe reviews: editorial site reviewing a Movie → eligible (the publisher doesn't own the Movie).

What doesn't work

  • An agency with testimonials from clients: Service / Organization as itemReviewed → ineligible. The reviews are of the agency itself, on the agency's own site.
  • SaaS company with customer reviews on its own SoftwareApplication page: ineligible if the SoftwareApplication is the company's own product. Use G2 / Capterra syndication instead.
  • Restaurant with customer reviews on its own LocalBusiness page: ineligible since 2019. Yelp / GBP for those.

Chapter 5. Eligible itemReviewed types

Per Google's review-snippet documentation, the eligible itemReviewed types are:

  • Book
  • Course
  • CreativeWorkSeason
  • CreativeWorkSeries
  • Episode
  • Event
  • Game
  • HowTo (note: HowTo rich results deprecated, but Review on HowTo eligibility unchanged)
  • LocalBusiness (with self-serving exception - third-party reviews only)
  • MediaObject
  • Movie
  • MusicPlaylist
  • MusicRecording
  • Organization (with self-serving exception)
  • Product (most common)
  • Recipe
  • SoftwareApplication (with self-serving exception)

Anything outside this list (Service, ProfessionalService, Person, Article, etc.) doesn't produce a review rich result, even with valid Review schema. Skip the schema entirely on those page types - it's noise.

Chapter 6. Where do you place Review schema on the site?

Review and AggregateRating are typically nested inside the schema of the item being reviewed, not standalone:

{
  "@type": "Product",
  "name": "Capconvert Sentry",
  "@id": "https://www.example.com/products/sentry#product",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "ratingCount": 142
  },
  "review": [
    { "@type": "Review", "author": { ... }, "reviewRating": { ... }, "reviewBody": "..." },
    { "@type": "Review", "author": { ... }, "reviewRating": { ... }, "reviewBody": "..." }
  ]
}

This inline pattern is preferred. The standalone pattern (separate Review with itemReviewed) is valid but heavier and rarely necessary on ecommerce pages.

Chapter 7. The breakages we see most often

Ranked by frequency across 58 sites shipping review schema:

  • Self-serving review schema on Service / Organization / Agency pages. Ineligible since 2019. 24 of 58.
  • Review schema on ineligible itemReviewed types (Person, Article, Service). 19 of 58.
  • Review with no author. Anonymous reviews don't qualify. 14 of 58.
  • AggregateRating schema with no visible reviews on the page. Google requires the reviews to be visible. 11 of 58.
  • ratingValue outside worstRating-bestRating range (e.g., 4.8 with bestRating implicit 5 but worstRating set to 3). 9 of 58.
  • Aggregating reviews from off-site sources without displaying them on the page. 7 of 58.
  • Reviews with reviewBody truncated to <50 chars. Google deprioritizes thin review content. 5 of 58.

We track every breakage above on running sites through our Sentry structured-data rule set.

FAQ

Can my agency ship Review schema for client testimonials on our own site?

No. That's self-serving (the agency is the entity being reviewed, on the agency's own site). Use Trustpilot, Clutch, or G2 to host the reviews; their schema produces stars on their listings, and you can syndicate the score in body copy on your own pages without shipping schema.

What if I have real customer reviews on my own SoftwareApplication page?

Real or not, self-serving is the policy disqualifier. Syndicate to G2 / Capterra / Software Advice instead - their pages will rank for "X reviews" queries and earn the stars in the SERP on their domain.

How many sample Reviews should I ship alongside AggregateRating?

3-5 is the sweet spot. Enough for Google to attribute and excerpt; not so many that the schema payload bloats. The sample should be representative - mix of high and low ratings, recent and older. Don't cherry-pick only 5-star reviews; that's the kind of pattern that triggers policy review.

What's the difference between ratingCount and reviewCount?

ratingCount includes star-only ratings (no written review). reviewCount only counts reviews with a written body. Include both when available - they're additive signals. If only one exists, ship that one and omit the other.

Can I ship Review schema for a product I sell on Amazon?

If the product is on your own site (you sell the same product on your own ecommerce page), yes - the Product page can carry Review schema based on your own site's reviews. You can't aggregate Amazon's reviews onto your site; those belong to Amazon's domain.

Are critic reviews different from user reviews?

For schema purposes, no. Both use Review with author = Person. The Movie/Book vertical sometimes uses a special "critic" badge in the rich result, driven by author entity recognition (well-known critic Persons get the badge), not by a specific schema field.

References

  1. Schema.org. "Review." schema.org/Review
  2. Schema.org. "AggregateRating." schema.org/AggregateRating
  3. Google Search Central. "Review snippet (Review, AggregateRating) structured data." developers.google.com/search/docs/appearance/structured-data/review-snippet
  4. Google Webmaster Central Blog. "Making review rich results more helpful" (Sep 2019). developers.google.com/search/blog/2019/09/making-review-rich-results-more-helpful
  5. Schema.org. "Rating." schema.org/Rating
  6. Schema.org. "Schema Markup Validator." validator.schema.org