Case study / Tisso
Keep Trustpilot. Display reviews in Tisso’s design.
Starting point
Around 6,000 Trustpilot reviews are available. The standard widget cannot match the new Figma design, and the delayed PDP rating causes layout shifts.
Optimisation
Use existing reviews in the store’s design, from the homepage to product cards. Trustpilot remains the review platform; its badge, public profile and links from the store stay in place.
Implementation
Configure Trustpilot syncing and product mapping, develop custom sections and blocks, and make them reusable in the theme editor.
Technical results
Reviews and Product JSON-LD are included directly in the server-rendered HTML. In the preview test, the average Lighthouse score is 67.2 without and 68.8 with the integration. The product page remains largely stable while loading.
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
Service reviews appear in the homepage slider, product reviews on the PDP. The announcement bar, footer and product cards show average ratings and counts, including collection pages and featured product sections.
Sections and app blocks can be placed freely in the theme editor and reused on other templates. Configurable markup and CSS keep headings, stars, spacing and layout customisable. JavaScript adds sorting and loading further reviews.
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
During import through the reusable Trustpilot connector, reviews are mapped to products, customers and orders in the new Shopify store.
- Matching products across different IDs
- Trustpilot product identifiers do not consistently match Shopify SKUs. The MPN field is 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 handle new, updated and deleted service and product reviews.
03
Make reviews readable for Google and AI
Product JSON-LD associates the average rating and count (AggregateRating), review text (reviewBody) and star rating (reviewRating) with the product. The structured data and initial visible review list are already in the server response, without JavaScript or an external widget request.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Pro EM san",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"reviewCount": 715
},
"review": [
{
"@type": "Review",
"reviewBody": "Alles gut und unkompliziert. Produkte sind hochwertig.",
"reviewRating": {
"@type": "Rating",
"ratingValue": 5
}
},
...
]
}
</script>04
Performance & Lighthouse
Reviews available immediately. Higher overall score in the test.
The rating arrives with the product information; customers do not wait on Trustpilot for the initial reviews. It replaces the delayed PDP rating that shifted content and hurt the Lighthouse score. CLS measures these unexpected layout shifts: with the integration, the PDP scores a low 0.002 on mobile and 0.025 on desktop. The product page remains largely stable during the loading test. Across all tested pages and devices, the average Lighthouse score is 68.8 with the integration compared with 67.2 without it.
Without integration
With integration
Mean performance score across all pages and devices
Google PageSpeed Insights, 11 September 2026. Means from 120 individual measurements: three page types × two devices × two variants × ten runs. Shopify Preview (*.shopifypreview.com, pb=0), not the live store; with 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.
| 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 Insights
