Free tool
Review Schema Generator
Build valid Product + AggregateRating JSON-LD so Google can show star rich snippets for your store. Fill the form, copy the script, paste it in your <head>.
Between 1 and 5
1 or more
Search preview
How your 5-star rating may appear in Google.
JSON-LD snippet
<script type="application/ld+json">
{
"@context": "https://schema.org/",
"@type": "Product",
"name": "Wireless Earbuds Pro",
"brand": {
"@type": "Brand",
"name": "Acme"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": 4.6,
"reviewCount": 128,
"bestRating": 5,
"worstRating": 1
}
}
</script>The complete guide to using a review schema generator
A review schema generator turns your average rating and review count into JSON-LD structured data, the machine- readable code Google uses to display star rich snippetsbeneath your search result. Those gold stars are one of the highest-impact SERP enhancements an ecommerce store can earn: they make your listing stand out, signal social proof before the click, and typically lift organic click-through rate. This page explains exactly what the markup is, how to use the generator above, where to paste the output on Shopify, and how to stay inside Google's review-snippet rules so the stars actually show.
What the markup is, and the exact structure
The generator above outputs a schema.org/Product object with a nested AggregateRating. AggregateRating is the summary of many reviews; its required and recommended properties are ratingValue (your average, e.g. 4.6), reviewCount or ratingCount (how many reviews), and the scale via bestRating / worstRating (defaults to 5 and 1). The whole object is wrapped in a <script type="application/ld+json"> tag, the format Google recommends over Microdata or RDFa.
AggregateRating vs Review
These are two different schema types and it matters which you use. AggregateRating represents the overall score rolled up from all your reviews, this is what a Shopify product page with a star summary needs. Reviewrepresents a single review by a named author with its own rating and body text. You can include both (an AggregateRating plus an array of individual Review objects), but for the star snippet, Google reads a valid AggregateRating or a single Review, never an inflated count that doesn't match what shoppers see on the page.
How to use it, step by step
1. Enter your product name, brand, average ratingValue and reviewCount in the tool above, the JSON-LD and a live search preview update instantly. 2. Adjust bestRating if you use a non-5 scale. 3. Click Copyto grab the full script. 4. Paste it into the HTML of the matching product page (see below). 5. Validate the live URL in Google's Rich Results Test, fix any errors, then request indexing in Search Console.
Where to paste the JSON-LD
Place the script in the HTML of the specific product page it describes. The <head> is the cleanest spot, but JSON-LD is position-independent and works anywhere in the document body. On Shopify, add it to your product.liquidtemplate, a theme section, or a theme app block, one product per script block. Never apply the same block site-wide, and never put a product's rating on your homepage or a category page.
How to validate with the Rich Results Test
After deploying, run the page through the Google Rich Results Test. It confirms the page is eligible for the review snippet and flags missing required properties; pair it with the schema.org Validator for pure syntax checks. Eligibility is not the same as guaranteed display, Google still chooses when to render stars, but a clean test is the prerequisite. Recheck the Merchant listings and Review snippet reports in Search Console over the following weeks.
Google's review-snippet rules you must follow
Google's policies are strict and ignoring them is the top reason stars never appear. The rating must come from genuine reviews that are visible to users on the same page. You cannot use self-serving reviews, ratings about an entity (your own LocalBusiness or Organization) on a page controlled by that entity are disqualified. Critic reviews have their own narrow requirements. Mark up a specific item (a product), keep the ratingValue and reviewCountin sync with what's shown on-page, and don't aggregate ratings across the whole site.
Common mistakes to avoid
The errors we see most often: inventing a review count higher than the reviews actually displayed; adding AggregateRating to a page that shows no reviews at all; self-serving Organization ratings on the homepage; using the wrong scale (claiming 9.2 with a default bestRating of 5); duplicating the same hard-coded block across every product so each one reports the same rating; and forgetting to re-run the Rich Results Test after a theme update strips the script. Each of these either fails validation or quietly suppresses the snippet.
Worked example
Say you sell Wireless Earbuds Pro with 128 reviews averaging 4.6 out of 5. Enter those values above and the tool produces a Product object with a brand of your store name and an AggregateRating of ratingValue: 4.6, reviewCount: 128, bestRating: 5. Paste it into that product's page where the 128 reviews are already rendered, validate, and once Google re-crawls you become eligible for the “★★★★★ 4.6 (128)” snippet on your listing.
Built and maintained by the Reviewz team, we help 250+ Shopify stores collect reviews.
Frequently asked questions
What is a review schema generator?
A review schema generator builds the structured-data code (JSON-LD) that tells Google your product's average rating and review count. Google reads this AggregateRating markup and can show a star rich snippet under your search result. Our generator outputs a valid schema.org Product object you copy and paste into the product page, no coding required.
AggregateRating vs Review, which one should I use?
Use AggregateRating when you want to show an overall star rating summarised from many reviews (e.g. 4.6 from 128 reviews), this is what most Shopify product pages need. Use individual Review objects when you want to mark up a single named reviewer's rating and text. You can nest both, but Google only shows the star snippet from a valid AggregateRating (or a single Review) that reflects reviews visible on the same page.
Where do I paste the JSON-LD on my Shopify store?
Paste the generated <script type="application/ld+json"> block into the HTML of the specific product page it describes. The <head> is cleanest, but JSON-LD works anywhere in the document. On Shopify, add it to your product.liquid template, a theme section, or via a theme app block, one product per script block. A review app like Reviewz injects this automatically so the markup always matches the live reviews.
How do I validate my review schema?
Run the live URL (or paste the code) through Google's Rich Results Test at search.google.com/test/rich-results, and use the schema.org Validator for syntax. The Rich Results Test confirms you're eligible for the review snippet and flags missing required fields. After fixing any errors, request indexing in Google Search Console and monitor the Merchant listings / Review snippet report.
Why aren't my star ratings showing in Google?
Valid markup only makes you eligible, Google decides if and when to show stars, and it can take days to weeks after re-crawl. The most common reasons stars don't appear: the reviews aren't visible to users on the same page, the markup is self-serving (rating your own business on a page about that business), the rating is for a non-specific item, or it violates Google's review-snippet policy on critic and self-serving content. Keep ratings honest and on-page.
Keep reading
Reviewz for Shopify
Collect reviews on autopilot with Reviewz
Generating schema is easy, getting the genuine reviews behind it is the hard part. Reviewz automatically requests, collects and displays verified reviews on your storefront and injects compliant AggregateRating markup for you, so your star snippets stay accurate and policy-safe.
Get Reviewz on the Shopify App Store