Why does placement matter for product page reviews?
A shopper lands on your product from a search, on a phone, with one question: is this any good? If the answer is three swipes and a tap away, many will not go looking. They will judge the product by the photo and the price and leave, or buy and be surprised.
So the question worth asking is where each part of the reviews goes. A product page needs two different things: a quick signal near the price, and the reviews themselves for people who want to read.
Where should reviews go on a product page?
Put a one-line rating right under the product name: the stars, the average as a number and the count, such as “4.8 · 12 reviews”. Make the whole line a link that jumps to the reviews. This is the part almost everyone sees, because it sits next to the price, where the decision happens.
Put the reviews in their own open section below the description, with a heading. Below the description works because by then the shopper knows what the product is and wants to know what owners think of it. Keep that section open rather than tucked into a tab, especially on phones, where tabs look like one more menu and are easy to scroll past.
If you only have one or two reviews, both still belong there. If you have none, do not show five empty stars or “0 reviews”, which reads like a warning; show a “Write a review” link instead. The home page and the collection pages have their own rules, which we covered in how to show reviews on your homepage.
What did we see on a live product page?
We opened the Salad Bowl page on Glyna, our public demo shop built on WooCommerce, on 6 November 2026 and measured where each part landed on a laptop screen and on a phone.
| Part of the page | Laptop (1024 × 768) | Phone (375 × 812) |
|---|---|---|
| Product name | 156 | 572 |
| Price | 222 | 638 |
| Add to cart | 361 | 777 |
| Reviews tab | 720 | 942 |
| Reviews, after tapping the tab | 787 | 1,007 |
Two things stood out. First, there was no rating near the product name at all, on either screen. The page had one approved 5-star review, but a shopper looking at the name and price could not know that. Second, the reviews lived in a “Reviews (1)” tab next to the description, and that panel stays hidden until someone taps the tab. On the phone, the add to cart button already ended just below the bottom of the first screen; the reviews, once opened, started 1.2 screens down.
This is WooCommerce's standard product layout, and it is not broken; the reviews are there and the tab label shows the count. But it asks the shopper to go looking. The fix is the two-part layout above: a star line under the name that links to the reviews, and on phones an open reviews section instead of a tab.
How many reviews should a product page show?
Show about six at first, then a “Show more” button that loads the next six. Six is a comfortable scroll on a phone, and it keeps the page short for the many shoppers who read two or three and decide. Loading fifty at once makes the page long and slow and buries the footer, the shipping details and the related products under text few people read.
Show the newest first. A recent review about the current version of a product is worth more than a glowing one from two years and two suppliers ago, and newest-first is an order nobody can accuse you of arranging.
Once you have five or more reviews, add the summary that lets shoppers do their own sorting: a bar for each star value that filters the list when tapped, and a sort menu with lowest first. People who want to see the worst reviews will look for them anyway. Making them easy to find shows you are not hiding anything, and it is the honest version of “pinning” a favourite review, which can slide into showing only the flattering ones. The FTC's rule on reviews forbids presenting the reviews you show as most or all of them while you hold some back for their low ratings, as our article on the FTC fake reviews rule explains.
Ordering is where this gets subtle. The FTC's questions-and-answers page on the rule, read on 7 November 2026, says "organizing reviews is not suppressing reviews", but that organising them "in a way that makes it difficult for consumers to know about or find negative reviews" could break the FTC Act. UK law is blunter: the Digital Markets, Competition and Consumers Act 2024 lists "giving greater prominence to positive consumer reviews over negative ones" as publishing reviews in a misleading way. A pinned 5-star review above a list sorted newest first, with a lowest-first option one tap away, is easy to defend. A page that opens on a hand-picked set of five-star reviews and hides the rest behind "Show more" is not.
Quoting one review next to a claim in the description, such as a line about fit under the size guide, is fine on the same terms: it is a real review, and the full list with the bad ones is still on the page.
For what the average itself means, and why “4.8 from 5 reviews” is a fragile number, see average star rating. If you would rather show reviews in a sideways row, our guide to review carousels covers how many cards to show at once.
Product reviews or shop reviews on the product page?
Product reviews, about that product. A review that says "fast delivery, nice people" belongs to your shop as a whole; a review that says the salad bowl chipped in the dishwasher belongs on the salad bowl. Shoppers on a product page want the second kind, and Google wants it too if you hope for stars in search.
Google's guidelines for review snippets, read on 7 November 2026, say to "provide review information about a specific item, not about a category or a list of items", that the reviews you mark up must be "readily available to users from the marked-up page", and that ratings "must be sourced directly from users", without aggregating reviews from other websites. So a product page that shows store-wide reviews, or ratings copied from a marketplace, is not one where Google will show your stars. If you also want your shop reviews somewhere, the home page or a reviews page is the place.
What else helps shoppers read the reviews?
Once the basics are in place, a few extras answer questions the stars cannot.
- Customer photos and videos show colour, size and wear in real light. Keep them inside each review and let shoppers filter to the reviews that have one, rather than moving them to a separate gallery that loses the text.
- A "Verified buyer" label on reviews you can tie to an order lets shoppers tell them from reviews you cannot match to a purchase.
- For clothes or shoes, a short fit question such as "runs small, true to size, runs large", asked with each review and averaged above the list, says more than the stars.
- A "Helpful" button with a most-helpful sort lets the detailed reviews rise when a shopper asks for that, without you doing the choosing.
- A summary of what reviewers say can save a long scroll, as long as it is labelled as a summary, has no stars of its own and never looks like a review.
Each one adds height to the page, so add them for products where shoppers actually have the question. A summary on a product with three reviews summarises nothing.
Will a reviews widget slow down the product page?
It should not delay anything the shopper needs first. A review widget that loads with defer runs after the page itself is ready, and the review data is small. On Glyna, Formgong's widget script was about 28 KB compressed and the reviews for the Salad Bowl came back as 234 bytes of data. On five phone-sized loads in a row, the reviews arrived between 29 and 293 milliseconds after the script had loaded; on four of those five the data came straight from the browser's cache.
Keep the reviews section below the add to cart button and nothing important moves while it loads. If you put a big review block above the button, reserve its height so the button does not jump as reviews appear.
How do you place reviews with Formgong?
On Shopify, Formgong's theme blocks give you both parts: a Star rating block you can drop under the product title in the theme editor, and a Product reviews block for the full list further down. Our guide on how to show reviews on Shopify walks through adding them.
On any other site, paste a div where the list should go and a span with the product's key under the title for the star line; one script fills both. The list shows 6 reviews by default (you can set up to 50), newest first, with Show more below. From five approved reviews it adds the star bars, the filters and the sort menu. With no reviews yet it shows only the Write a review link, if you turned that on.
The extras above are options you turn on, not defaults: customer photos and videos with a "With photos" filter, the "Verified buyer" label on reviews tied to an order, questions such as fit with their averages above the list, a "Helpful" button with a "Most helpful" sort, and an AI summary shown in its own box, labelled "AI summary of N approved reviews", with no stars and no author. Reviews imported from a marketplace such as Etsy appear in their own labelled list and stay out of the count, the average and the product's markup, which keeps to Google's rule against aggregating ratings from other sites.
On WooCommerce, the Formgong plugin puts the reviews in the product's Reviews tab, as on Glyna, and adds stars under product names in shop lists. It does not add a star line next to the title on the product page itself, so if you want one there, place the star span in your theme or with a custom HTML block. The review widget docs list every option.
Where do your reviews sit?
If you have moved reviews on your product pages and seen a change, or your theme makes the layout above hard, tell us at support@formgong.com. We would like to know what got in the way.
Frequently asked questions
Where should reviews go on a product page?
A star line with the average and count right under the product name, linked to the reviews, and the reviews themselves in an open section below the description.
How many reviews should I show on a product page?
About six at first, newest first, with a Show more button. Add star filters and a sort menu once a product has five or more reviews.
Should reviews be in a tab?
Better not, especially on phones. On our demo shop the reviews tab hid them until tapped, 1.2 screens down. An open section with a star link near the title is easier to find.
Should I show only my best reviews?
No. Show them in a neutral order such as newest first and let shoppers filter. Showing a hand-picked set as if it were all your reviews misleads shoppers.
Sources and documentation
Official references for this guide: Glyna demo shop, Salad Bowl. Review widget, where data is stored.
Related guides
- Lovable form submissions to email and Telegram
- HTML contact form without a backend: a working example
- How to send website form submissions to Telegram
- Contact form not sending email? Check where it stops
- Managing website leads in Telegram without a CRM
- Form backend for Lovable, Bolt, v0, Cursor
- Telegram bot for a contact form: build or skip?
- GDPR form backend: 7 checks before you choose
- Lovable form not sending email? 6 fixes
- Netlify Forms not working? React and Bolt fixes
- Stop contact form spam without a CAPTCHA
- GitHub Pages contact form: a working setup
- Mailto Form in HTML: Why It Fails and What to Use
- HTML form to Google Sheets: 2 free methods
- Webflow form submission limit: what to do at 50
- Turnstile vs reCAPTCHA vs hCaptcha for forms
- Contact Form 7 and Elementor forms to Telegram
- Squarespace contact form not sending email?
- Shopify contact form: where do messages go?
- Google Form to Telegram: free Apps Script way
- Wix contact form not sending email? Fixes
- EU / GDPR Formspree alternatives compared
- HTML form action attribute explained
- How do HTML forms work? The HTTP request
- Types of Injection Attacks on Web Forms (2026)
- Indirect Prompt Injection in MCP
- MCP Rug Pull Attack: Detect Tool Changes
- Form without a backend: 7 ways that work
- Thank-you page after form submission (HTML)
- Indirect Prompt Injection Examples (2023–2026)
- Indirect Prompt Injection via Email
- What Is Tool Poisoning in MCP?
- WordPress contact form without a plugin
- Send email from frontend JavaScript
- How to Prevent Indirect Prompt Injection
- Honeypot Form Field: How to Add One That Works
- Contact Form with File Upload (HTML, No PHP)
- Angular contact form without a backend
- Send form submissions to Slack or Discord without Zapier
- Verify a form webhook signature (HMAC-SHA256)
- Contact forms that send nothing: 793 AI-built sites tested
- v0 contact form that actually sends: 3 ways
- How we tested AI-built contact forms, and 12 bugs we hit
- Cloudflare vs Netlify free plan: hosting that never pauses
- EmailJS 412 “Gmail_API: Invalid grant”: reconnect Gmail
- Resend “You can only send testing emails”: verify a domain
- Supabase Edge Function blocked by CORS policy: 3 causes
- Formspree “Form not found” and other errors: fixes
- Web3Forms errors: “Invalid access key” and 403 explained
- How to add customer reviews to your website for free
- Getform not working? “This form has been deleted” and more
- Next.js contact form not working? 6 errors, reproduced
- Webflow form not sending email? What to check, tested
- FormSubmit not working? “This form needs Activation” fix
- Contact form “TypeError: Failed to fetch”: causes and fixes
- WooCommerce product enquiry form
- Contact Form 7 vs WPForms
- Gravity Forms alternative free
- WordPress contact form block
- 535-5.7.8 Username and Password not accepted (Gmail)
- 535 5.7.3 Authentication unsuccessful: Office 365 SMTP
- Nodemailer “Missing credentials for "PLAIN"”: the fix
- Nodemailer “Greeting never received”: port 465 fix
- Nodemailer SSL “wrong version number”: the port fix
- Nodemailer “self-signed certificate in certificate chain”
- Nodemailer ECONNREFUSED 127.0.0.1:587: missing SMTP host
- SendGrid “authorization grant is invalid”: 401 fix
- Mailgun 401 Forbidden: why the API rejects your key
- “Edge Function returned a non-2xx status code”: the fix
- Next.js “Body exceeded 1 MB limit”: Server Action fix
- Unexpected token '<', "<!DOCTYPE "... is not valid JSON
- “TypeError: Body is unusable”: body has already been read
- Turnstile “timeout-or-duplicate” and other siteverify errors
- Turnstile vs hCaptcha vs reCAPTCHA: speed and size tested
- Judge.me reviews not showing on Shopify: how to fix it
- Judge.me review carousel not showing: how to fix it
- Yotpo reviews not showing on Shopify? Check the app embed
- Loox reviews not showing on product page: how to fix
- Shopify reviews not showing: what to check first
- How to show reviews on Shopify
- GDPR for website forms: what each type of form needs
- WooCommerce reviews not showing: how to fix it
- Stamped.io reviews not showing on Shopify: how to fix it
- Etsy reviews not showing: why and what to do
- Trustpilot widget not loading: how to fix TrustBox
- Yotpo problems in 2026: what merchants report
- Contact Form 7 “error trying to send your message” fix
- Elementor form “Your submission failed because of an error”
- Framer form not sending email or not working: what to check
- Carrd contact form not working: plans, spam and errors
- Google review link not working: what customers see and why
- tawk.to widget not showing on your website: causes and fixes
- How to add questions and answers to your product page
- “Failed to send a request to the Edge Function”: fixes
- Next.js “Failed to find Server Action”: what it means
- Brevo “unauthorized: Key not found” 401: the fix
- Amazon SES “Email address is not verified”: the fix
- Shopify contact form not working: how to fix it
- Judge.me alternative for WooCommerce after the 2025 shutdown
- Free WooCommerce review plugins compared on the free version
- WooCommerce review reminder emails without a paid plugin
- Add Voice Recording to a Website Form
- Contact Form 7 spam: how to stop it
- WPForms not sending email: how to fix it
- Contact form emails going to spam: how to fix it
- HTML form not submitting: how to fix it
- Contact form not working: how to find the fault
- Webflow form spam: how to stop it
- Website form to Notion: how to set it up
- Website form to WhatsApp: what works and what does not
- What 1-star reviews say about AI support chatbots
- Which free form backend gives you the most submissions?
- Elfsight reviews widget not showing? Check the view limit
- Next.js contact form backend vs Server Actions
- Review stars not showing in Google search results
- How to stop duplicate form submissions
- How to see which form leads came from ChatGPT
- What happens when a form webhook fails
- When to send a review request email after an order
- How to collect video testimonials for free
- Add contact form sign-ups to Mailchimp or Klaviyo
- How to migrate from Formspree without losing submissions
- How to get a Google review link for your business
- What is a headless form backend?
- Is it safe to put a form access key in your HTML?
- AI chatbot that answers only from your website
- Minified React error #441 in Next.js
- Squarespace product reviews after Judge.me
- Accessible contact form checklist for WCAG 2.2
- How to ask a client for a testimonial by email
- How to respond to negative reviews, with examples
- 429 Too Many Requests on a contact form
- MCP server for forms in Cursor and Claude
- Can you offer a discount for a review?
- Do EU stores have to say if reviews are verified?
- Webflow form backend options compared
- How to add review schema JSON-LD to a product page
- How to turn a customer review into an Instagram post
- How to make a QR code for Google reviews
- Live chat or chatbot for a small business website
- Why people abandon your contact form halfway
- Which form backend do AI assistants pick? 54 answers
- PHP mail() not sending email, even when it returns true
- What “Failed to fetch” means, tested in three browsers
- 405 Method Not Allowed when you submit a form
- Send a contact form to more than one email address
- What is review syndication, and who needs it?
- How to save HTML form data to a database
- NetworkError when attempting to fetch resource
- Send product reviews to Google Merchant Center
- PHPMailer not working on a live server
- AI review reply generator: does it help?
- React 19 contact form with useActionState
- Astro Actions or a form backend?
- Is no-reply@wixsiteautomations.com legit?
- Where to find the Judge.me review widget code
- AI review summaries: what shoppers actually see
- Photo reviews for WooCommerce, and the GPS inside them
- Review request email templates you can copy
- Reviews in AI search: what ChatGPT and Perplexity cite
- Lead capture form with UTM tracking, built and tested
- Form design best practices, with our own form data
- Client intake form template with file upload
- What is social proof? Meaning and examples
- What is user-generated content (UGC)?
- Benefits of negative reviews for your store
- How to get your first reviews as a new store
- How to use customer reviews in your marketing
- How to get more customer reviews
- React form validation without a library, tested
- jQuery submit form with validation
- reCAPTCHA v3 setup with the server score check
- Shopify social proof that shoppers can check
- HTML file input: accept, multiple, capture and size checks
- How to add hCaptcha to a form, with the server check
- How to add invisible reCAPTCHA to a form
- Bug report form template with browser details
- What the FTC fake reviews rule bans for online stores
- How to show reviews on your homepage
- Do reviews increase sales? What the studies show
- HTML input types and what each one sends
- HTML textarea, tested in a real form
- HTML dropdown menu in a form, tested
- Do reviews help SEO? What Google says and shows
- How to add a review carousel people can read
- Product review examples that help shoppers decide
- Which trust badges actually mean something
- Customer satisfaction survey with CSAT and NPS
- JavaScript FormData and what fetch actually sends
- JavaScript form validation without a library
- Server-side form validation and what it catches
- Email validation in JavaScript, tested on 33 addresses
- Zod form validation with FormData, tested
- Store reviews vs product reviews
- How to send review requests through Klaviyo
- How to tag customer reviews by topic and mood
- Custom review form questions worth asking
- Online reputation management for small businesses
- HTML radio button groups and what they send
- HTML label tag and what screen readers hear
- HTML autocomplete attribute, tested with Chrome autofill
- HTML fieldset and legend, and what disabled leaves out
- HTML button tag and what a form button sends
- Vite contact form that still works after the build
- How to test a contact form, end to end
- How to embed a Google Form, and what it loads
- Customer feedback questions that get real answers
- How to convert a file to base64 in JavaScript
- FilePond with a form backend, and when to skip it
- Bootstrap form validation and server errors
- Tailwind form validation, tested in three browsers
- Donation form in HTML, and where the payment goes
- How to ask for a review in person or by text
- Which review sites matter for your business
- What are customer reviews, and which kinds count
- Online review statistics, checked at the source
- Best review app for Shopify and WooCommerce
- Why Gmail sends your self-hosted mail to spam
- htmx contact form that sends to another domain
- AI form builders tested, from prompt to sent form
- Headless WordPress forms with Contact Form 7, tested
- React Hook Form watch vs useWatch, and what gets sent
- Elfsight widget not working? It vanishes when views run out
- Jotform not sending emails? Check Jotform's bounce list
- Typeform not working? A white box means a blocked script
- Positive review response examples that don't sound copied
- How to remove a Google review when you can't delete it
- Google reviews not showing up? 8 causes to check in order
- Is buying Google reviews illegal? Even a review swap counts
- Which reviews can you hide? A review moderation checklist
- Average star rating: what 4.8 from 5 reviews means
- SaaS testimonials: 3 of 27 had a number in them
- Do reviews reduce returns? Not when they're too good
- Testimonial examples for business: what makes one believable
- Testimonial questions to ask clients, by type of business
- Testimonial page design: a page or a section?
- Testimonial advertising rules: what the FTC requires
- Form submission canceled because the form is not connected
- Input type date format dd/mm/yyyy: what you can change
- How to disable textarea resize, or allow only vertical
- How to prevent Enter from submitting a form
- form.submit() vs requestSubmit(): what submit() skips
- Custom HTML checkbox CSS that doesn't break required
- How to reset a form after submit, and what reset() keeps
- Input type number maxlength not working? What to use
- How to create an HTML form, step by step
- Best form builder: free plans and branding, checked
- Best WordPress contact form plugin: 10 free ones compared
- How to increase form conversion rate: start with the count
- Form backend vs form builder: which one do you need?
- WordPress contact form not sending email? 3 plugins tested
- Contact Form 7 webhook? Turning it on switched our email off
- Gravity Forms webhook: what it sends and the URLs it rejects