Your Shopify Store Is Slow. LCP Tells You Exactly Where.
A Shopify store that loads in 2.5 seconds converts roughly 30 percent worse than one that loads in 1.5 seconds. That is Shopify's own 2026 finding, and it is why Largest Contentful Paint, LCP, is the first metric to look at when a store feels slow. LCP tells you exactly which element is late, and usually it is the hero image.
What LCP measures, and what good looks like
Largest Contentful Paint measures how long it takes for the largest content element on the page to become visible. On a product page that is usually the hero image or the main product photo. On a homepage it is the banner. Google's threshold is 2.5 seconds or less for a good experience, measured at the 75th percentile of real visits, which means three quarters of your visitors have to clear it, not just your fastest ones.
Shopify's 2026 analysis, built on nearly 200,000 publicly available data points, grouped actively selling stores by Core Web Vitals performance over 28 days, excluded the slowest 5 percent, and controlled for the other vitals when assessing each metric. The result was blunt: for every 100 milliseconds slower a store loads, conversion tends to be about 3.5 percent lower. Stores with a 2.5-second LCP reported roughly 30 percent lower conversion than stores with a 1.5-second LCP. Load speed had the clearest relationship with conversion of any metric they tested.
The other two vitals matter, but they are not the first problem. Interaction to Next Paint, INP, measures how fast the page responds to a tap, with a good threshold of 200 milliseconds. Cumulative Layout Shift, CLS, measures how much the layout jumps while loading, with a good threshold of 0.1. Most Shopify stores pass CLS and stumble on LCP and INP, and LCP is usually the bigger of the two.
Where the time actually goes
The usual suspect is the hero image, and it is usually guilty. Three habits cause it. A source file uploaded at full resolution weighs far more than a phone needs. A lazy-load rule applied to the hero delays the very image the metric is waiting for. And a missing preload hint leaves the browser to discover the image late. The fix is to preload the main image, drop lazy loading from it, and serve it at the size the layout actually uses. Related reading: The Chatbot Told Her Shipping Was Free. It Was Not..
Apps are the second suspect, and on most stores they are the bigger one. Every app can inject JavaScript and CSS into every page, and many leave code behind after uninstall. A store with 25 apps can easily carry 60 or more script requests, several from apps abandoned months ago. Open the network tab on a product page, sort by size, and you will usually find two or three apps responsible for the bulk of the third-party weight, plus at least one app you forgot you installed.
Third-party scripts are the third: analytics, chat widgets, pixels, A/B testing tools. None of them should block the page from rendering. Load them with defer or async, push anything non-essential to load after first interaction, and move checkout tracking into Shopify's Web Pixels sandbox rather than injecting it inline. Since the move to checkout extensibility, the old habit of pasting tracking snippets into Additional Scripts is gone, and the sandboxed pixel is both the supported path and the faster one. More on this: The AI Size Chart Measured a Different Garment.
Measure field data, not lab scores
PageSpeed Insights runs Lighthouse on a throttled mobile profile and shows one simulated load. It is useful for catching regressions, but it is not how your customers experience the store. Field data, real loads from real phones on real networks, comes from the Chrome User Experience Report and from Shopify's own web performance dashboard, which reports LCP, INP, and CLS from real users over the past 30 days. The Shopify speed score is Lighthouse-based, recalculated daily, and it is a hint, not the target.
Record the current mobile field values for each template before you change anything. Then fix the LCP element first, because it is the metric with the clearest conversion relationship, and re-measure after 28 days, which is the window the field data needs to reflect the change. A store that fixes its hero image and removes two dead apps usually moves LCP by more than a second, and the conversion change follows the same direction as Shopify's data says it should.
Frequently asked questions
What is LCP, exactly?
Largest Contentful Paint: the time until the largest content element on the page becomes visible. On a product page that is usually the hero or main product image.
Is the Shopify speed score the target?
No. It is Lighthouse lab data, recalculated daily. Field data from real users, in Shopify's web performance dashboard or the Chrome User Experience Report, is what decides the experience.
Which page do I fix first?
Product pages and the homepage, where paid traffic lands. Cold traffic has the least patience and the highest bounce risk, and LCP lands hardest on them.
How much does 100 milliseconds actually cost?
Shopify's 2026 analysis found conversion tends to be about 3.5 percent lower for every 100 milliseconds slower a store loads, and a 2.5-second LCP store converts roughly 30 percent worse than a 1.5-second one.