A reviews widget that renders exactly where you paste it
Date
28 Jul 2026
Category
Build
Platform
Shopify
Client
One Stop Print Shop
One Stop Print Shop wanted their Google reviews on the homepage, so we had built a reviews section into the theme ahead of time, ready to take whichever platform they picked. This week the embed code arrived, and wiring it in surfaced the kind of detail that separates a widget that works from a widget that mysteriously does not.
What we did
The platform’s dashboard hands out snippets for every kind of website at once, so the message contained two pieces of code. One was a WordPress shortcode, which means nothing on Shopify and is safely ignored. The other was the real one, a script tag, and this particular vendor’s script has a strong opinion about placement: it replaces its own script tag, in place, with the widget. Wherever the tag sits in the page is where the reviews appear. Other vendors work the opposite way, with a loader you can put anywhere that goes looking for a container to fill.
Our section had been built for the second kind, so it loaded the script at the end of the page. With this vendor, that would have rendered the reviews at the very foot of the homepage rather than inside the section. We reworked the section to place the script inside its own mount, and the widget landed exactly where the design says it should.
Verifying it turned up a second quirk worth keeping. The widget declines to render until it sees real user activity, actual scrolling or key presses, so an automated check that just loads the page sees an empty box about half the time, looking exactly like a broken embed. Driving genuine input made it render ten out of ten times, and it was checked at desktop and phone widths showing the store’s live Google rating and review cards.
What to take from it
Third-party embeds all present as paste this one line, but where and how they render is vendor-specific, and the vendors do not warn you which kind you are holding. If a widget is not showing up, or is showing up somewhere strange, the embed is usually not broken, it is following placement rules nobody read. It is a small thing to get right, and it is the difference between an embed and an integration.