Platforms
How to add Google reviews to Shopify (measured on 20 live stores)
Adding Google reviews to a Shopify store takes two pastes and no app. The library tag goes into
theme.liquid once, just before the closing </body>, and the widget block goes into a Custom
Liquid section, called Custom HTML in some themes, on the template where the reviews should show.
What the tutorials skip is the
decision that actually matters on Shopify: reviews about your shop and reviews about one product are
two different jobs, they belong on different templates, and a section only exists on the template
you edited. Below is where each piece goes, plus what nineteen Shopify accounts running our widget
right now actually do with it.
Where each piece of code goes
| Piece | Where it belongs | Where it then appears | What happens if it is somewhere else |
|---|---|---|---|
| Stylesheet and library tag | theme.liquid, before </body> | every page of the store | pasted into each section, the library loads several times on one page |
| The init call with your settings | same place, theme.liquid | every page | fine anywhere, as long as it runs after the container exists |
| The container div | Custom Liquid section on the chosen template | only that template | the init runs, fetches your reviews and fills nothing, silently |
| Floating badge | needs no container at all | wherever the init runs | nothing to get wrong, it is positioned by its own settings |
That third row is the one that costs people an afternoon, and we have it on tape. On two of the storefronts below the library loaded on the home page and fired its API call for the reviews, the container was not part of the home template, and the page ended up with no reviews and no console error at all. Nothing is broken in that state, which is exactly why it is hard to debug.
How we got the numbers
Everything below was measured on 4 August 2026. We took every domain that called our public widget API in the previous fourteen days, which is 632 distinct hosts belonging to 314 accounts, then fetched each home page and identified the platform from its markup and response headers. 449 answered, 182 did not respond at all, one answered with another status. This is the population of sites where our widget is genuinely embedded, not a survey and not a customer list.
| Platform | Hosts with a live widget |
|---|---|
| WooCommerce | 120 |
| WordPress without WooCommerce | 82 |
| Shopify | 43 |
| PrestaShop | 16 |
| Squarespace | 16 |
| Magento | 11 |
| BigCommerce | 10 |
| Duda | 7 |
| Webflow | 5 |
| Shoper | 3 |
| Joomla, Wix, GoDaddy, Drupal, IdoSell, Weebly | 9 together |
| No recognisable signature | 127 |
The 43 Shopify hosts belong to 19 accounts, and they split in a way worth knowing about: 20 are
storefronts on a custom domain, 6 are myshopify.com addresses, and 17 are shopifypreview.com
theme-preview links generated by 6 accounts while they were setting the widget up.
Shopify merchants connect different sources than everyone else
This is the part we did not expect. For each of those accounts we listed the review sources they have actually connected, then grouped the accounts by platform. The table is sorted by how often the group connects a marketplace, because that turned out to be the dividing line.
| Platform | Accounts | eBay | Amazon | Any marketplace | ||
|---|---|---|---|---|---|---|
| Shopify | 19 | 47% | 47% | 42% | 32% | 63% |
| PrestaShop | 19 | 68% | 63% | 16% | 11% | 42% |
| WooCommerce | 83 | 78% | 36% | 6% | 7% | 17% |
| No signature | 84 | 73% | 39% | 5% | 5% | 14% |
| WordPress | 58 | 79% | 48% | 0% | 3% | 7% |
| Magento | 10 | 80% | 50% | 0% | 0% | 0% |
Shopify is the only group where Google is a minority sport. Everywhere else roughly four accounts in five connect Google first and marketplace feedback is a rounding error. On Shopify, Google and Facebook sit at nine accounts each out of nineteen, eBay at eight, and some marketplace source is connected by twelve of nineteen. Nineteen accounts is a small sample, so read those percentages as a signal rather than a census, but the direction is hard to miss and it fits how these shops are built: the store is new, the seller is not, and the trading record is parked on a marketplace.
The volume says the same thing louder. Those 19 Shopify accounts hold 136,905 visible reviews between them, a median of 1,758 per account. The median WooCommerce account in the same population has 190, PrestaShop 188, WordPress 227, Magento 124. A Shopify merchant arriving with several thousand pieces of feedback already earned somewhere else is the normal case, not the outlier.
Reviews about the shop, reviews about one product
Of those 136,905 reviews, 69,833 are attached to a specific product rather than to the shop. Being honest about that number: it comes from Amazon feeds on four accounts, one of which holds 65,251 of them on its own, and the newest product-level review in the whole set is dated 26 October 2024, because Amazon closed its product review pages behind a login in November 2024. Seller feedback from the same marketplaces still flows normally. So the practical situation for most Shopify shops is a large pile of shop-level proof, and product-level proof that has to be collected from now on rather than imported.
That maps cleanly onto templates. Shop-level reviews answer “can I trust this store”, so they belong where that doubt appears: the home page, the footer, the cart, the about page. Product-level reviews answer “is this the right one”, so they belong on the product template, under the buy button. Trying to serve both from one block on one template is what makes a review section feel like decoration.
What the 20 live storefronts actually do
We loaded every one of those 20 custom-domain storefronts in a headless browser at 1280 px, waited seven seconds and measured what rendered.
| What we looked for | Result |
|---|---|
| Home pages where a reviews block rendered | 17 of 20 |
| Library present in the home page source | 19 of 20 |
| Product pages carrying the library | 10 of the 12 we could open |
Stores with a /pages/reviews page | 8, and 5 of those carry the widget |
| Slider block width when it rendered | 1,180 to 1,280 px |
| Slider block height | 428 to 2,127 px |
| Floating badge size | 152 to 164 px wide, 73 to 106 px tall |
| API calls per page load | 1 on most stores, 2 or 3 where several widgets run |
The widget mix, counted across all 26 real Shopify addresses: the testimonials slider on 20, the floating badge on 7, a full reviews page on 4, the compact stars line on 1, and 7 addresses run more than one type at the same time. The most common source list written into those snippets is Google plus Facebook, followed by Amazon plus eBay, then eBay alone, then Etsy plus Facebook. Six accounts have turned off our logo, which is a paid setting, and three have switched on aggregate ratings, which adds structured data through a container that measures 0 by 0 pixels and shows nothing to visitors.
Three home pages rendered nothing, and each failure is a different lesson. On one, the library never loaded, because the merchant deliberately put the whole snippet on the product template only. On the other two the library loaded and fetched the reviews, but the container div was not on the home template, so the reviews arrived and had nowhere to go. One store also runs two containers carrying the same id, where the first one fills and the second stays at zero height, the same duplicate-id trap we measured inside hidden Elementor tabs.
Living next to a product review app
Six of the 19 Shopify accounts run a product review app on the same storefront as our widget: Judge.me, Yotpo, Okendo, Opinew, Ryviu, Fera and the legacy Shopify Product Reviews all showed up in the markup. That is not a contradiction, it is the split above in practice. The app collects reviews of individual products from your own buyers and prints them on the product template. The review widget shows the trust you already earned as a shop, on Google, on Facebook and on the marketplaces, on the pages where a first-time visitor decides whether to hand over a card number. If your product pages are already covered, put the shop-level block on the home page and near the cart and leave the product template alone.
The Shopify traps worth knowing before you paste
Sections are per-template. Adding the section to the home page does not add it to product pages, collection pages or the cart. If reviews should appear in several places, add the section in each one, or drop the container into the layout instead.
The theme editor is not a test. 17 of the 43 Shopify addresses we recorded were preview links, generated by 6 of the 19 accounts, each with a handful of requests. Preview hosts do not count as an installation in our own statistics, and a preview does not behave like the published storefront. Save, then look at the live shop.
The container decides everything. Whatever else you get wrong, a missing container div means the data is fetched and thrown away with no warning. If reviews are not showing, search the rendered page for the container id before you touch anything else. The step-by-step version of all of this, with screenshots of the theme editor, is in the Shopify install guide.
Where the reviews come from
The reason to connect an account rather than paste static quotes into a Custom Liquid section is exactly the pattern in the table above: one account merges Google, Facebook, eBay, Amazon, Etsy, Allegro, Booksy and thirty more sources into the same reviews widget, and on Shopify that matters more than anywhere else, because two thirds of these merchants own proof on a marketplace. A shop that sold on eBay for eight years before opening a Shopify store can show all of it on day one, in one block, instead of waiting for its first ten Google reviews. If your proof is spread across marketplaces, the marketplace reviews guide covers what each platform still publishes.
The reservations, since every tool has them. The widget renders in the browser, so the review text is not in the HTML Shopify serves, and a crawler that does not run JavaScript will not read it. Use the aggregate ratings option when a page needs the rating in its structured data. Free accounts carry our logo under the reviews and removing it is a paid setting, visible per plan on the pricing page. Marketplace sources need a paid plan, and Amazon product reviews are historical only, for the reason above.
If your Shopify store is waiting on this, the short path is to
create an account,
connect Google and whichever marketplace holds your feedback, paste the library into theme.liquid
and the container into a Custom Liquid section on the templates that need it. Ten minutes, most of
it spent on the authorisation screens, and then check the published storefront rather than the
preview.
FAQ
Do I need an app from the Shopify App Store to show Google reviews?
No. Two pastes into the theme are enough: the library tag in theme.liquid and a container div in a Custom Liquid section, called Custom HTML in some themes, on the template where the reviews should appear. On 4 August 2026 we loaded the home page of all 20 Shopify storefronts running our widget on a custom domain, and 17 rendered the reviews block from theme code alone.
Why do my reviews show on the home page but not on the product page?
Because Shopify sections are per-template. The library and the settings usually sit in theme.liquid, which puts them on every page, but the container div lives in a section you added to one template. We measured two storefronts where exactly this happens in reverse: the library loaded on the home page and fetched the reviews, the container was not on that template, so nothing appeared and nothing was logged to the console. Add the section to each template that should show reviews.
Should Google reviews go on the product page or somewhere else?
Split them by what they prove. Reviews about the shop (Google, Facebook, marketplace seller feedback) answer 'can I trust this store', so they belong near the cart, the footer and the home page. Reviews about one product belong on that product's template. On the 20 storefronts we checked, 19 had the library site-wide and 10 of the 12 product pages we could open carried it too, which is the pattern we would recommend.
Does the widget work on a myshopify.com address?
Yes, that is a live storefront and we count it as a real installation. Theme preview links are a different animal: 17 of the 43 Shopify addresses we saw in the last 14 days were shopifypreview.com URLs from 6 accounts, and our own statistics classify preview hosts as 'not an installation'. Always confirm on the published storefront rather than in the theme editor.