Skip to content
Glossary

Shopify speed glossary: page speed terms in plain words

Google judges page speed with three Core Web Vitals: LCP (how fast the main content appears, good at 2.5 s or less), INP (how fast the page responds to a tap, good at 200 ms or less) and CLS (how much the layout jumps, good at 0.1 or less), each at the 75th percentile of real Chrome visits. Here are those and the other terms you will meet, with what each means for a Shopify store.

  • 7-day free trial
  • No code required
  • Cancel anytime

Core Web Vitals and speed metrics

The numbers Google, PageSpeed Insights and the Shopify admin report, and what counts as good.

Core Web Vitals

Google's three metrics for how a page feels to real visitors: LCP (loading), INP (responsiveness) and CLS (visual stability). A page passes when all three are good at the 75th percentile of visits, using field data from the Chrome User Experience Report. They are part of the page experience signals Google Search uses.

On Shopify: The Shopify admin has a web performance report with the same three metrics, from your own visitors.

LCP (Largest Contentful Paint)

The time from when a visitor starts loading the page until the largest image or block of text in view is painted. Good is 2.5 s or less; over 4 s is poor.

On Shopify: On a product page the LCP element is usually the main product photo; on the homepage, the hero banner. Anything that loads before it slows it down.

INP (Interaction to Next Paint)

How long the page takes to show a response after a visitor taps, clicks or types, based on one of the slowest interactions of the visit. Good is 200 ms or less; over 500 ms is poor. INP replaced First Input Delay (FID) as a Core Web Vital in March 2024.

On Shopify: App scripts that keep the browser busy are a common cause of slow INP, for example when a shopper taps Add to cart.

CLS (Cumulative Layout Shift)

How much visible content moves unexpectedly while the page is open, scored by the size of the moving content and how far it moves. Good is 0.1 or less; over 0.25 is poor.

On Shopify: Announcement bars, popups and review stars that appear after the page has drawn, and images without a set width and height, are common causes.

TTFB (Time to First Byte)

The time from the request until the first byte of the page's HTML arrives, including redirects, connection setup and server time. Google's guidance calls 0.8 s or less good.

On Shopify: Shopify runs the servers, so a store has little direct control over TTFB, though redirect chains and heavy theme code can add to it.

FCP (First Contentful Paint)

The moment the browser paints the first text or image of the page. Good is 1.8 s or less.

On Shopify: A fast FCP with a slow LCP usually means the main image is being held up by something else on the page.

Speed Index

A Lighthouse lab metric for how quickly the visible part of the page fills in during a test load, worked out from a video of the load. Lower is better.

Total Blocking Time (TBT)

In a Lighthouse lab test, the total time after FCP during which long tasks (over 50 ms) block the browser's main thread, counting only the part of each task beyond 50 ms. It is the lab stand-in for INP and one of the heaviest weights in the Lighthouse performance score.

On Shopify: App scripts that run as the page loads are a common cause of a high TBT.

How speed is measured

Why two tools can give the same store two different answers, and which one Google uses.

Field data (real-user data)

Measurements taken from real visits on real devices and networks, also called real-user monitoring (RUM). It is what Google uses to judge Core Web Vitals.

On Shopify: Field data reflects your shoppers' own phones and connections, so it can differ a lot from a test on a fast laptop.

CrUX (Chrome User Experience Report)

Google's public dataset of field data from Chrome users who have opted in, kept as a rolling 28-day window. PageSpeed Insights and Search Console read their Core Web Vitals from it.

On Shopify: A page with little traffic may have no CrUX data of its own; Google then falls back to the data for the whole store, if there is enough.

Lab data

Measurements from one test load in a controlled setting, such as Lighthouse on a simulated mid-range phone over a throttled connection. Repeatable and good for finding causes, but not what real shoppers experience.

Lighthouse

Google's open-source tool that loads a page in a controlled test and gives a performance score from 0 to 100, built from lab metrics (FCP, LCP, TBT, CLS and Speed Index). It runs in Chrome DevTools and powers the lab section of PageSpeed Insights.

On Shopify: The score moves from run to run, so compare several runs rather than one.

PageSpeed Insights

Google's free tool at pagespeed.web.dev that shows two things for a URL: field data from CrUX (the Core Web Vitals assessment) and a Lighthouse lab test with a performance score and suggestions.

On Shopify: The 0 to 100 score is lab data. The pass or fail that matters for Google Search is the field data above it.

75th percentile (p75)

Google judges each Core Web Vital at the 75th percentile of page visits: at least three visits in four must meet the threshold. A few very slow visits do not fail a page, but most shoppers are covered.

How a page loads

The browser techniques behind a fast or slow first view, and the next page.

Render-blocking resource

A file the browser must download and process before it can paint anything, usually a stylesheet or a script in the page's head without async or defer. Each one pushes back FCP and LCP.

On Shopify: App scripts added to a theme's head are a common source on Shopify. PageSpeed Insights lists them in its suggestions.

Critical CSS

The small part of a page's CSS needed to draw what is visible first, placed inline in the HTML so the page can paint before the full stylesheet arrives. The rest loads afterwards.

On Shopify: Some speed apps generate critical CSS for a theme. Whoosh does not; it changes when apps load.

Lazy loading

Waiting to load images, videos or iframes until they are about to scroll into view, usually with loading="lazy". It saves data and leaves the network free for what is on screen.

On Shopify: Never lazy load the first product photo or the hero banner: it is usually the LCP element, and lazy loading it makes LCP slower.

Preloading and prefetching

Preloading (rel="preload") tells the browser to fetch a file the current page will need soon, such as the hero image or a font. Prefetching fetches files or pages for a likely next navigation, at low priority, so the next page opens sooner.

On Shopify: Whoosh's AI Page Preloading loads the next page before the shopper taps.

Speculation rules

A browser feature, in Chrome and Edge, where a page lists in JSON which links the browser may prefetch or prerender ahead of a click. A prerendered page can appear almost at once when the visitor taps. Browsers without support ignore the rules.

CDN (content delivery network)

Servers around the world that keep copies of a site's files, so each visitor downloads them from somewhere close. It cuts the time each file takes to arrive.

On Shopify: Every Shopify store is served through Shopify's own global CDN, so there is nothing to set up. Files from app vendors come from their own servers.

Shopify apps, scripts and testing

Where most of a store's extra load time comes from, and how to tell whether a change worked.

Third-party script

JavaScript served from another company's servers, such as a reviews widget, live chat, an analytics pixel or a popup. The browser has to download, read and run each one, often on the same main thread that draws the page.

On Shopify: Most Shopify stores run 7 to 13 apps, and many of them add a script to every page.

App embed

A Shopify theme app extension that an app switches on in the theme editor, under App embeds. It adds the app's script or element to the storefront without anyone editing theme code.

On Shopify: An app embed can be switched off in one click, but while it is on it loads on every page it is set to.

Script deferral

Holding a script back until the page has been drawn, with the defer or async attribute, or until an event such as the first scroll or tap. The browser can paint the content shoppers came for first.

On Shopify: Doing it by hand means editing theme code for each app. Smart App Loading decides when each supported app loads, with no code.

Conversion rate

The share of sessions (visits) that end in an order: orders divided by sessions. Shopify's analytics reports it for your store.

On Shopify: Speed is one of many things that move it, which is why a speed change is best measured against a control group, not a before and after.

A/B test and control group (holdout)

An A/B test splits visitors at random between two versions and compares the results. The control group, or holdout, is the share that does not get the change, so a difference can be put down to the change and not to the season, ads or a sale.

On Shopify: Whoosh runs a 50/50 test for a store's first few weeks, then a 90/10 split that keeps 10% of shoppers as a control.

Where Whoosh fits

Whoosh is a Shopify app that works on two of the terms above: the order third-party scripts load in, and preloading the next page. It needs no code and no theme edits, leaves checkout and account pages alone, and measures its result against a control group of your own shoppers.

Smart App Loading

Loads the apps shoppers see first and makes chat, trackers, review tools and popups wait, so third-party scripts stop holding up the product photo. No code, no theme edits.

About Smart App Loading

AI Page Preloading

Loads the next page before the shopper taps, so the page they open is already on its way.

About AI Page Preloading

Free speed audit

Run your store through the free audit to see where it stands before you change anything.

Open the free audit

Compare speed apps

See how Whoosh compares with other Shopify speed apps, and what each one changes.

Compare the apps

FAQs Supportive

Shopify speed questions

What are the three Core Web Vitals?

LCP (Largest Contentful Paint) measures loading and is good at 2.5 s or less. INP (Interaction to Next Paint) measures how fast the page responds to a tap or click and is good at 200 ms or less. CLS (Cumulative Layout Shift) measures how much the layout jumps and is good at 0.1 or less. Google judges each at the 75th percentile of real Chrome visits over 28 days.

Why is my PageSpeed Insights score different from my Core Web Vitals?

The 0 to 100 score comes from one Lighthouse lab test on a simulated phone and connection. The Core Web Vitals assessment comes from field data: real visits to your store over the last 28 days. They measure different things, so a page can score low and still pass, or the other way round. Google Search uses the field data.

Do Shopify apps slow down a store?

Apps that add a script to the storefront add work the browser has to do, and most Shopify stores run 7 to 13 apps. The order matters as much as the number: when chat, trackers, review tools and popups load before the product photo, shoppers wait for things they did not come for. Smart App Loading from Whoosh loads the apps shoppers see first and makes the rest wait, with no code.

What is a good LCP for a Shopify store?

Google calls an LCP of 2.5 s or less good, 2.5 to 4 s needs improvement, and over 4 s poor, measured at the 75th percentile of real visits. On a product page the LCP element is usually the main product photo, so anything that loads before it, such as app scripts, pushes LCP back.

Still have questions?

Our help centre has the answer.

Explore Help Centre

See these numbers for your own store

The free speed audit checks your store and shows where it stands, before you install anything.

Free audit

Two free audits, one address.

Enter your store once. Both run while you keep browsing.

  • Whoosh Value Audit What faster pages are worth
  • Speed Audit Score, slow apps, Core Web Vitals

Free. Nothing to install.

Free audit

Starting the value audit

Starting the speed audit

Auditing

  • Value Audit Running
  • Speed Audit Running, up to 3 min

Keep browsing. We'll show you here when both are ready.

Your free audit is ready Your free audit is ready