Yotpo

Yotpo is a commerce marketing platform covering product reviews, ratings, loyalty and subscriptions. On Shopify it ships widgets that mount into a theme by container element and script, and it writes review aggregates back into product metafields, so a theme can read a rating and a review count without waiting for a widget to load.

Documented at https://www.yotpo.com/.

How We've Used It

Two patterns, chosen by where the number has to appear. Where a rating belongs inside our own markup — a star row in a buy box, a badge on a grid card — we read the aggregate from the product metafields the vendor publishes and render it ourselves, so the value is in the HTML the server sent. Where the full review surface belongs on the page, we place the vendor's mount and let the widget own everything inside it, usually deferred until it scrolls into view. Keeping those two jobs separate is the point: the fast, always-present number is ours to render, and the review experience stays the vendor's to run.

Builds Using It

10 further gated builds use it; their pages follow.

Related Entities

Our Role

Integration and coexistence. We place the vendor's mounts and read the aggregates it publishes; the review surface itself stays the vendor's.

Builds

'Bundle and save' PDP block driven by a product-list metafield

One product-list metafield, one card per product, and on every card a working add-to-cart form of its own — a merchandiser-curated set sold on the product page where the shopper already is, with a carousel that only appears when there is more than one thing to scroll.

LUS Brands

Tabbed collection product slider and the shared merchandising card

One section renders every configured collection at once and switches between them with a class, so moving from Serums to Cleansers waits on nothing — and one card snippet backs the shelf, the blog and the rewards page.

Three Ships

Merchandisable homepage product carousel with a tag-driven badge engine and inline add-to-bag

A two-column row — optional linked lifestyle image, Swiper rail — where every label, color, badge and product is a theme-editor setting, and each card can add to bag without leaving the page.

LUS Brands

Featured-collection product card with metafield hero/hover media and a tag-driven badge stack

The card that renders inside the homepage's main merchandising rail: hero and hover art chosen in the Shopify admin, a responsive image ladder built by hand, and a badge stack resolved from tags, price and block settings at render time.

LUS Brands

Rebuilt 2026 PDP section with merchandiser-composable blocks and per-product ATC color

A custom product section for LUS Brands that declares 26 block types beyond Dawn's set, resolves title and subtitle copy per variant, and paints the add-to-cart button from a product metafield.

LUS Brands

Configurable PDP block system on the Palo Alto theme (Recharge widget placement, size charts, siblings, quick view)

Merchandiser-orderable buy-box blocks on Three Ships' licensed theme, with the subscription app block captured and re-emitted inside the buy box, plus metafield-driven size charts, a product-family switcher and a sticky add-to-cart bar.

Three Ships

Subscription bundle grid with tiered unlock progress

Two custom elements on the subscription landing page: a card whose two-step button reveals a frequency choice and then posts the variant with that `selling_plan` to the cart, and a wrapper that fetches the live cart after every add and drives a merchandiser-defined tier bar from what it finds there.

Three Ships

DOM and shadow-DOM remediation layer for Yotpo, Rebuy and Recharge widgets

Corrections applied to markup the theme didn't write: `MutationObserver` routines that re-level a review widget's headings, demote headings inside a cart drawer, re-anchor a subscription add-to-cart control, and append a stylesheet inside a subscription widget's shadow root — every one re-entrant, so the fix converges instead of looping.

Three Ships