At a glance
Area | Detail |
|---|---|
Client | KIVY, a German online brand on Shopify selling kitchen storage, drinkware and tableware in Germany and Austria |
Pain point | On mobile product pages, the main content took 3.1 s to appear, slower than Google’s 2.5 s target |
What we did | Measured first, found the causes with real visitor data and lab tests, then fixed them on a copy of the theme |
Result | In lab tests, LCP dropped from about 7.5 s to about 2 s, roughly 73% faster |
The pain point
KIVY’s shoppers are on their phones. About 90% of visits are mobile, and mobile product pages make up 71% of all page loads.
On those pages, the main content took 3.1 seconds to appear for a typical visit (RUM). This measure is called LCP (Largest Contentful Paint): the time until the biggest piece of content on screen is visible.
What we did
Three steps:
Measure first. A baseline report showed what needed fixing.
Find the cause. Real visitor data and lab tests showed where the time was lost.
Fix it. Targeted changes, tested on a copy of the theme.
Step 1: Measure first
We ran a baseline audit on October 2, 2026, before changing any code. Without a baseline, you can’t tell which change helped, and you can’t prove the improvement afterwards.
Shopify report: Real visitor data (RUM)

PageSpeed Insights: Real visitor data (CrUX)

What the data shows
Page type | Device | Share of page loads | Main content appears in | Status |
|---|---|---|---|---|
Product pages | Mobile | 71% | 3.1 s - 3.8s | Needs improvement |
Collection pages | Mobile | 15.2% | 1.3 s | Good |
Homepage | Mobile | 3.7% | 1.8 s | Good |
Search page | Mobile | 0.4% | 1.7 s | Good |
Product pages | Desktop | 6.3% | 2.4 s | Good, close to the limit |
Collection pages | Desktop | 2.7% | 1.2 s | Good |
Homepage | Desktop | 1.1% | 1.4 s | Good |
Mobile is about 90% of the traffic, so improving mobile helps most of the visitors. That’s why it says moderate (all pages - mobile & desktop)

Lab test report
Lab test (Chrome Performance panel), KIVY mobile product page, before the fixes. LCP: about 8 seconds.

Step 2: Find the cause
Both data sets pointed to the same problem: LCP on mobile product pages. The next step was to break LCP down and see where the time goes.
Where the LCP time goes
LCP part | What it means | Time |
|---|---|---|
TTFB | The server starts sending the page | 0.01 s |
Load delay | The page has arrived, but the LCP resource has not started downloading | 3.2 s |
Load duration | The LCP resource is downloading | about 3.8 s |
Render delay | The LCP resource is downloaded but not shown yet | 2 to 5 s |
LCP (total) | about 7.5 s |

Here is what we found:
Every gallery slide was marked high priority, so they competed with the main content.
The first slide stayed hidden until the slider script (Swiper) loaded, even after it had downloaded.
Thumbnails below the fold loaded at full size with high priority.
A 3 MB video downloaded twice as soon as the page opened.
The product gallery was loaded by an embedded app. Embedded apps inject their content at the end of the page body, so the browser found the main content late.
Step 3: Fix the causes
We built the changes on a copy of the theme and re-ran the same tests. Each fix targets one part of the delay.
Change | Fixes | Problem | What we did |
|---|---|---|---|
Only the LCP image is high priority | Load duration | Every slider image was marked top priority, so they all competed with the LCP image | Only the LCP image has top priority; the other slider images are normal priority |
LCP image shows straight away | Render delay | The main (first) image stayed invisible until the slider (Swiper) loaded, so it was downloaded but could not appear | The main (first) image now shows immediately, without waiting for the slider (Swiper) to load |
Thumbnails load lazily, at the right size | Load duration | Thumbnails were loading big images with high priority, even though they are below the fold and should load lazily | Thumbnails now load lazily and download images sized for how big they appear, saving about 1.4 MB (1.5 MB to 0.07 MB) |
Video loads only when the visitor gets near it | Load duration | A 3 MB video lower on the page downloaded twice as soon as the page opened | The video loads and plays only when the visitor scrolls near it |
Gallery no longer uses the app gallery, it uses your theme gallery | Load delay | The app's gallery was added at the very end of the page, so the LCP image was found late | The gallery now comes from the theme and app just filter based on selected variant. |
Results
Overall LCP:
In lab tests, dropped from about 7.5 s to about 2 s on average, roughly 73% faster. The changes were pushed on October 6, 2026, four days after the baseline audit.

What we measured (lab) | Before | After |
|---|---|---|
LCP (average) | about 7.5 s | about 2 s |
Wait before the main content starts downloading | 3.2 s | 0.66 s |
Download time | about 3.8 s | 0.44 s |
Wait before it shows on screen | 2 to 5 s | 0.12 s |
What's next: The lab results show the fixes work under test conditions. To confirm the effect for real customers, we will generate a new RUM report from Shopify to see how real visitors experience the store's performance after the changes.