Case study / Tisso
Keep Trustpilot. Display reviews in Tisso’s design.
Tisso wanted to use its existing Trustpilot reviews in the new Shopify store without compromising on the Figma designs. The work covered data integration and custom review components, from the announcement bar to the product page. The Trustpilot badge and public profile remain in place, and the store continues to link to the profile.
- Data source
- Trustpilot: service and product reviews
- Integration
- API import, mapping & webhooks
- Display
- Metaobjects, Metafields & Liquid
My contribution: Social proof integration as part of a relaunch with Eshop Guide: data integration, configuration, design customisation, placement and theme development.

01
Match the Figma design, down to the review details
The design was implemented directly in the theme: stars, reviews, spacing and layout follow the supplied specifications. Service reviews provide general feedback on the homepage, while product reviews provide relevant feedback on the PDP. Tisso can then reuse the components on other templates through the theme editor.
- Announcement bar and footer
- A compact display of the average rating and review count, integrated into the theme's existing sections.
- Homepage review slider
- Service reviews with custom stars, summary and review layouts, matched to the design specifications.
- Ratings on product cards
- Average ratings and counts on collection pages, in featured product sections and on other product cards.
- Customisable in the theme
- Sections and app blocks with configurable markup and CSS. Tisso can place them in the theme editor and reuse them on other templates. Headings, stars, spacing and layout remain customisable.
From Trustpilot to the theme
- 01
Trustpilot
Remains the system for review requests and managing the reviews collected there.
- 02
Sync to Shopify
Import and ongoing review sync, with links to products, customers and orders.
- 03
Render in the theme
Liquid renders the stored data in the store's design. The initial display does not need an external review request from the browser.
02
Bring existing Trustpilot reviews into the new store
For Tisso, existing reviews were mapped to Shopify products, customers and orders, and ongoing synchronisation was configured. The reusable Trustpilot connector provides the technical foundation. The project-specific work involved matching different identifiers and connecting the reviews to the new store’s data.
- Matching products across different IDs
- Trustpilot product identifiers did not consistently match Shopify SKUs. The MPN field was also missing for some products. An explicit mapping list fills those gaps.
- Linking customers and orders
- Customers are matched by email address, orders by their references. These links depend on the progress of the customer and order migration.
- Keeping reviews up to date
- The initial import uses the Trustpilot API. Webhooks were configured for new, updated and deleted service and product reviews.
03
Deliver reviews with the product page
The delayed PDP rating had caused layout shifts and hurt the Lighthouse score. The theme implementation therefore delivers the rating and initial review text with the page. Customers do not have to wait for an external widget request for this content, and Google and AI crawlers can read the text directly in the HTML.
- Liquid replaces the external PDP widget
- Shopify renders the stored review data server-side. The browser does not have to fetch the rating from Trustpilot and insert it into the product information afterwards.
- An interactive review list
- Star distribution, sorting and loading more reviews extend the initial server-rendered content. JavaScript handles those interactions.
- Available to crawlers
- Review text can be retrieved in the original HTML without executing JavaScript. This provides the technical foundation for Google and AI crawlers to read it.
- Verified in the preview
- The product detail page includes review text in its server response. The text can be read without running the page's JavaScript.
04
Performance & Lighthouse
Custom review design. Average performance maintained.
Trustpilot reviews follow Tisso’s design and render directly in the Shopify theme. The initial review text is already included in the delivered HTML. With the integration, the average Lighthouse score was 68.8, compared with 67.2 without it. Custom review displays with comparable overall performance in the test.
Without integration
With integration
Mean performance score across all pages and devices
Google PageSpeed Insights, 11 September 2026. Homepage, collection page and product detail page: ten runs per device and variant, 60 in total. Values are means. Tests ran on Shopify Preview (*.shopifypreview.com, pb=0), not the live store, using CPU throttling for comparable measurements.
Lighthouse scores compared side by side
Performance score from 0 to 100 · Mean values
Full measurement comparison
For each metric, the value without the review integration is on the left and the value with it is on the right. The change is shown underneath: green means better, red means worse. Higher performance scores are better; lower values are better for the other metrics. Lighthouse results vary between runs. That is why we use 10 measurements per test group, resulting in 60 before-and-after measurements in total.
| Page / device | Performance | FCP | LCP | TBT | CLS | Speed Index | Transfer size |
|---|---|---|---|---|---|---|---|
| Mean · All test groups | 67.2 → 68.8(+1.6) | 2.6 s → 2.4 s(-0.2 s) | 7.2 s → 6.6 s(-0.6 s) | 220 ms → 166 ms(-54 ms) | 0.016 → 0.015(-0.001) | 4.8 s → 4.5 s(-0.3 s) | 2,869 KiB → 2,922 KiB(+53 KiB) |
| Mean · Mobile | 58.3 → 60.0(+1.7) | 4.4 s → 4.0 s(-0.4 s) | 12.1 s → 10.9 s(-1.2 s) | 165 ms → 134 ms(-31 ms) | 0.002 → 0.002(0.000) | 7.0 s → 6.5 s(-0.5 s) | 2,526 KiB → 2,563 KiB(+37 KiB) |
| Mean · Desktop | 76.1 → 77.6(+1.5) | 0.8 s → 0.8 s(0.0 s) | 2.3 s → 2.3 s(0.0 s) | 276 ms → 198 ms(-78 ms) | 0.029 → 0.028(-0.001) | 2.7 s → 2.5 s(-0.2 s) | 3,212 KiB → 3,281 KiB(+69 KiB) |
| Homepage · Mobile | 61.6 → 59.6(-2.0) | 3.7 s → 4.2 s(+0.5 s) | 9.2 s → 10.6 s(+1.4 s) | 109 ms → 101 ms(-8 ms) | 0.007 → 0.005(-0.002) | 6.4 s → 7.5 s(+1.1 s) | 2,414 KiB → 2,467 KiB(+53 KiB) |
| Collection · Mobile | 58.8 → 61.7(+2.9) | 4.8 s → 3.8 s(-1.0 s) | 13.5 s → 10.6 s(-2.9 s) | 110 ms → 126 ms(+16 ms) | 0.000 → 0.000(0.000) | 7.0 s → 5.6 s(-1.4 s) | 2,412 KiB → 2,378 KiB(-34 KiB) |
| Product page · Mobile | 54.5 → 58.8(+4.3) | 4.7 s → 4.0 s(-0.7 s) | 13.5 s → 11.4 s(-2.1 s) | 276 ms → 176 ms(-100 ms) | 0.000 → 0.002(+0.002) | 7.5 s → 6.5 s(-1.0 s) | 2,751 KiB → 2,845 KiB(+94 KiB) |
| Homepage · Desktop | 72.7 → 78.9(+6.2) | 0.8 s → 0.8 s(0.0 s) | 2.3 s → 2.1 s(-0.2 s) | 238 ms → 132 ms(-106 ms) | 0.034 → 0.030(-0.004) | 3.9 s → 3.3 s(-0.6 s) | 2,947 KiB → 3,036 KiB(+89 KiB) |
| Collection · Desktop | 80.0 → 75.5(-4.5) | 0.8 s → 0.8 s(0.0 s) | 2.3 s → 2.6 s(+0.3 s) | 321 ms → 299 ms(-22 ms) | 0.028 → 0.029(+0.001) | 2.2 s → 2.3 s(+0.1 s) | 3,365 KiB → 3,393 KiB(+28 KiB) |
| Product page · Desktop | 75.6 → 78.4(+2.8) | 0.8 s → 0.8 s(0.0 s) | 2.2 s → 2.3 s(+0.1 s) | 268 ms → 162 ms(-106 ms) | 0.024 → 0.025(+0.001) | 1.9 s → 2.0 s(+0.1 s) | 3,325 KiB → 3,415 KiB(+90 KiB) |
FCP: First Contentful Paint · LCP: Largest Contentful Paint · TBT: Total Blocking Time · CLS: Cumulative Layout Shift · Speed Index: how quickly page content becomes visible
More information about Google PageSpeed InsightsMore case studies
Landig: From review requests to the cart drawer
