Shopify speed and Core Web Vitals

Shopify performance optimization

OUXP speeds up Shopify and Shopify Plus stores that feel slow on phones or fail Core Web Vitals. Senior engineers remove the causes – app scripts, years of theme patches, heavy images and competing tags – rather than adding another speed app, and aim for green Core Web Vitals on real visits. Work is built in a preview theme, typically in 2–⁠4 weeks.

Why is your Shopify store slow?

Shopify runs the servers and the CDN, so the slowness you can fix lives in what has been added on top. These are the six causes we find most often – what each looks like, and what we do about it.

  • Apps load scripts on every page

    What you see
    A long app list – often 20 or more – with many adding JavaScript and CSS to every page, including pages where the app does nothing.
    What we do
    Measure what each app costs in load time against what it earns, then load it only where it’s needed, rebuild it in the theme or remove it.
  • Removed apps are still loading

    What you see
    Speed tests still list scripts from apps you uninstalled months ago: code that older-style apps wrote straight into theme files isn’t removed with the app.
    What we do
    Find and remove orphaned snippets, script tags and styles – in a preview theme, with your key journeys tested afterwards.
  • Years of theme tweaks

    What you see
    Every past developer left something: duplicate libraries, unused CSS, sliders nobody uses, Liquid loops that slow the server’s response.
    What we do
    Remove dead code and duplicates, split CSS and JavaScript so each page loads only what it uses, and simplify heavy Liquid.
  • Images and video weigh too much

    What you see
    Photos uploaded at full camera resolution, autoplay video above the fold, an icon font loaded for a handful of icons.
    What we do
    Serve each image at the size the screen needs through Shopify’s image CDN, load the main image first and the rest as shoppers scroll, and give video a poster image.
  • Tags compete for the browser

    What you see
    Analytics, ad pixels, chat, heatmaps and testing tools all run before the page can respond to a tap.
    What we do
    Defer what can wait, remove duplicate tags, move tracking pixels to Shopify’s Customer events where possible and agree rules for adding new ones.
  • Mobile comes second

    What you see
    Most shoppers browse on phones, where scores are worst – but the store was designed and checked on a desktop.
    What we do
    Optimize for a mid-range phone first: what loads first on a small screen, menus and filters built for touch, and testing on real devices.

What a slow store costs you

Slow pages cost twice: shoppers leave before the page renders, and Google’s ranking systems use Core Web Vitals. Speed is a revenue lever, not a vanity metric, so we judge it by what real shoppers experience rather than a lab score alone – and treat performance and conversion rate optimization as one discipline.

  • 01

    Paid clicks land on your heaviest pages

    Ads and emails send shoppers to product and collection pages – the templates that carry the most apps and images. On a phone over a mobile network, a page that renders late loses those visitors before they see a price, after you’ve paid for the click.

  • 02

    Search treats speed as a tiebreaker

    Google says Core Web Vitals are used by its ranking systems – and that the most relevant page still wins. Speed helps most where your page competes with others that are just as useful.

  • 03

    Apps that sell shouldn’t slow the store

    Before anything is removed, we weigh each app’s load time against what it earns. In CRO work, winning tests ship as theme code rather than another app – so conversion gains don’t cost speed.

    Conversion rate optimization

What Core Web Vitals measure on your store

Google’s three Core Web Vitals describe how a page feels: how fast it loads, how quickly it reacts and whether it stays still. A page passes when at least 75% of real visits are good, measured separately for mobile and desktop.

Good LCP · loading
2.5 seconds or less
Good INP · response
200 milliseconds or less
Good CLS · stability
0.1 or less

Thresholds set by Google.

Largest Contentful Paint: how fast the main content appears

LCP times how long the largest element in view – usually the hero image or the main product photo – takes to show. Good is 2.5 seconds or less; over 4 seconds is poor. On a phone, it is the moment a shopper decides whether the page is worth the wait.

Common causes on Shopify

  • The hero or main product image is lazy-loaded, so the browser fetches it last
  • Images served to phones at the size they were uploaded
  • Render-blocking CSS and JavaScript from the theme and apps
  • A slow server response from heavy Liquid: loops over large collections, mega menus with hundreds of links
  • Web fonts that hold back text until they download

What we change

  • Load the main image first, sized for each screen through Shopify’s image CDN
  • Inline the CSS the first screen needs and defer the rest
  • Move app and theme scripts out of the critical path
  • Simplify the Liquid so the server sends the page sooner
  • Preload the fonts that matter and show text while they load

Interaction to Next Paint: how quickly the page reacts

INP measures the delay between a tap or click – add to cart, a variant swatch, the menu – and the page visibly responding. Good is 200 milliseconds or less; over 500 is poor. INP replaced First Input Delay in March 2024 and counts every interaction, not just the first, so stores that used to pass can now fail.

Common causes on Shopify

  • Long JavaScript tasks from apps and tags that block the browser’s main thread
  • Chat, review, loyalty and pop-up widgets that start working the moment the page loads
  • Variant pickers and filters that redraw large parts of the page on every tap
  • Very large pages: a mega menu or collection grid with thousands of elements

What we change

  • Delay non-essential scripts until the page is usable, or until the shopper interacts
  • Break long tasks into smaller pieces, so taps are answered between them
  • Rewrite heavy variant and filter logic to update only what changes
  • Trim the page structure the browser has to manage

Cumulative Layout Shift: whether the page stays still

CLS scores the biggest burst of unexpected movement while the shopper is on the page – the button that moves just as the shopper taps it. Good is 0.1 or less; over 0.25 is poor. Shoppers notice it as clumsiness rather than slowness, and it often costs the click.

Common causes on Shopify

  • Images and videos without set dimensions
  • Review stars, badges, announcement bars and cookie banners injected after the page renders
  • Web fonts swapping in at a different size
  • Sliders and carousels that resize as they start

What we change

  • Reserve the space for every image, embed and app block before it loads
  • Give app widgets a fixed-size slot, or move banners into the theme
  • Match fallback font metrics, so the swap doesn’t move text
  • Build sliders that hold their size from the first paint

PageSpeed score vs real-user data: which one counts

A PageSpeed score is one simulated visit. Google’s Core Web Vitals assessment uses real shoppers’ visits from the last 28 days. We use the lab test to find causes and check each fix, and real-user data to prove the result – our reports show the two separately.

Three ways to measure Shopify speed – and what each is good for
SourceWhat it isWhat we use it forKeep in mind
Lab testLighthouse and PageSpeed Insights: one simulated visit on a mid-range phone with a throttled connection, or on a desktopFinding causes, and checking every fix in the preview theme before it goes liveScores vary between runs, and one device on one network stands in for all your shoppers
Field dataChrome UX Report (in PageSpeed Insights and Search Console): real Chrome visits over the last 28 daysThe before-and-after that counts: it is the data behind Google’s Core Web Vitals assessmentA page needs enough traffic to appear, and a change takes about four weeks to show in full
Shopify’s reportThe web performance report in your Shopify admin: Core Web Vitals from real visits, mobile and desktopSpotting which app install, theme update or code change moved the numbers – Shopify marks those events on the report’s chartsShows the 75th percentile of visits; data can lag by up to 36 hours

Platform details as of October 2026.

Honest note

We don’t promise a score. A Lighthouse 100 is easy on an empty page and rarely worth chasing on a store that needs reviews, chat, subscriptions and analytics. We aim for green Core Web Vitals for real shoppers, tell you up front which apps or design choices limit the result, and let you decide what each one is worth.

What each app costs – and what we do about it

Every app is a trade: a feature in exchange for code on your pages. For each app and tag we record what it loads, on which pages and how much time it adds, then set that against what it does for the business. Each one gets one of four verdicts, and nothing changes without your sign-off.

App audit verdicts
VerdictWhen it appliesTypical example
KeepIt earns clearly more than it costs, and already loads only where it is usedSubscriptions, reviews or search that drive orders
Load only where neededUseful on some pages, but loading on all of themA reviews widget only product pages need; a size guide only apparel needs
Rebuild in the themeThe app does something simple the theme can do itselfAnnouncement bars, badges, size charts and FAQ tabs rebuilt as theme sections with metafields
RemoveUnused, duplicated, or already uninstalled with code left behindTwo apps doing the same job; scripts from an app removed last year that still load on every page

Tracking tags get the same review: analytics, ad pixels and heatmaps are deduplicated, deferred, or moved to Shopify’s Customer events, where pixels run in a sandbox apart from the theme.

How a performance project runs

Typically 2–⁠4 weeks from the first measurement to publishing the fixes, in the same order every time: measure, find the cause, fix in a preview theme, then prove the result on real visits. Your part: approve our collaborator request, sign off on app decisions and approve the publish.

  1. 1

    Baseline

    Lab and real-user Core Web Vitals for your key templates – home, collection, product, cart and search – on mobile and desktop.

    Output: a baseline per template

  2. 2

    Diagnose

    Each slow metric traced to its cause: an app, a tag, an image or a piece of theme code. Access goes through a Shopify collaborator request – no shared passwords.

    Output: a cause for each slow metric

  3. 3

    Prioritize

    A fix list ranked by impact and effort, with the cost of each app. You decide what stays.

    Output: a ranked fix list

  4. 4

    Fix in a preview theme

    Changes are built in a copy of your theme, never the live one, and lab-tested template by template against the baseline.

    Output: a tested preview theme

  5. 5

    QA and publish

    Cart, checkout handoff, subscriptions, reviews and tracking checked on real devices, then published once you approve. The previous theme stays in your library.

    Output: the faster theme, live

  6. 6

    Verify on real visits

    Real-user data compared with the baseline. Field data covers a rolling 28 days, so the full result shows about four weeks after launch.

    Output: a before-and-after report

What you receive

  • The fix list, ranked by impact and effort
  • An app and tag breakdown, with a verdict for each
  • A record of every change, in your theme’s code and in writing
  • A before-and-after report on lab and real-user data
  • Rules for adding apps and tags without losing the gains

What moves the timeline

  • The theme: a current Online Store 2.0 theme with light edits goes faster than years of custom code from several developers
  • The apps: a short list, or apps that load through app blocks, takes less time than 20+ apps and tags on every page
  • The scope: one or two slow templates take less time than the whole store
  • Replacements: an app that needs a custom section or feature in its place adds build time
  • Vintage themes: a pre-Online Store 2.0 theme is often rebuilt first, as a theme customization project

What merchants say about faster stores

Quoted word for word from the Shopify Partner Directory.

  • Rated 5 out of 5

    “The work was professional, project delivered on time, communication was smooth, and our shop now loads blazing fast, scoring 90+ on mobile and 100 on desktop!”

    About this project

    Speed optimization on a live Shopify store. The scores are the client’s own figures, quoted as written.

    Pet Wellness Direct via Shopify Partner Directory (external site) Performance
  • Rated 5 out of 5

    “We brought in OUXP for some CRO fixes and theme/app compatibility issues, and they absolutely overdelivered. They didn't just patch things - they tracked down the real root causes, cleaned up our theme and got all the key apps working together smoothly. The store works faster, more solid, and we're seeing a clear bump in conversions.”

    About this project

    CRO fixes plus theme and app conflicts on a live store. Related service: conversion rate optimization.

    Up to Everyone via Shopify Partner Directory (external site) CRO

Know which pages feel slow? Send the store URL – an engineer replies within 30–⁠60 minutes during business hours and quotes the work once they’ve reviewed your speed data and theme code.

Emergency support

Store down? Checkout broken?

  • Store down or showing errors
  • Checkout or payment failures
  • A theme or app update broke something
  • ERP, inventory or fulfillment sync stopped

Commerce engineers, not a help desk. Every request gets a first response within 30–⁠60 minutes during business hours. Retainer clients with the 24/7 emergency add-on are covered around the clock. Not a client yet? Call anyway.

+1 (818) 651-3226 Emergency line 24/7 · Business hours Mon–⁠Fri, 9 AM–⁠9 PM ET

Performance optimization questions

Something else? Ask an engineer – first response within 30–⁠60 minutes during business hours (Mon–⁠Fri, 9 AM–⁠9 PM ET).

How fast can my Shopify store get?

Green Core Web Vitals is the target: the main content in 2.5 seconds or less, a response to every tap within 200 milliseconds and a layout shift score of 0.1 or less, for at least 75% of real visits. How far past that a store can go depends on the apps and design choices you keep. The ranked fix list from our diagnosis shows what each change is worth before it is built, and you decide what stays – we don’t promise a Lighthouse score.

How long does Shopify speed optimization take?

Typically 2–⁠4 weeks from the first measurement to publishing the changes, depending on how complex the theme is, how many apps load on each page and how many templates are in scope. Real-user data then needs about four more weeks to show the full result, because Google’s field data covers a rolling 28 days. The quote sets the timeline before work starts.

How much does Shopify performance optimization cost?

Performance projects are quoted individually, because the work depends on your theme, how many apps load on each page and how many templates are in scope. Send the store URL and the pages that feel slow: an engineer reviews your speed data and theme code, and the quote sets price and timeline before any work starts. Not sure speed is the main problem? A store audit ($2,500 flat, report in 5 business days) covers performance alongside code, SEO, conversion, apps and security.

Will you break my apps or theme?

Not on your live store. All work happens in a preview theme – a copy of your live theme – and goes through QA before anything is published: cart, checkout handoff, subscriptions, reviews and tracking, on desktop and mobile. Every change is documented, apps are removed or replaced only with your sign-off, and the previous theme stays in your theme library, so it can be republished straight away if anything needs undoing.

Is speed optimization a one-time fix?

The optimization is a project; staying fast is ongoing. Every new app, tracking tag, campaign banner or theme update can undo part of the gain. Core Web Vitals monitoring is included in every retainer and maintenance plan, from $2,500/month, and doesn’t use your engineering hours. The app and tag rules we hand over help your team keep the gains between reviews.

Why does my PageSpeed score change every time I test?

Because the PageSpeed Insights score is a lab test: one simulated visit on an emulated mid-range phone over a throttled connection, and small differences in network and server timing move it between runs. The field data at the top of the same report – real Chrome visits over 28 days – is steadier, and it is what Google’s Core Web Vitals assessment uses. We use lab tests to find causes and field data to judge results.

Will a speed app fix my slow Shopify store?

Rarely on its own. A speed app usually adds another script, and while it can compress images or delay other scripts, the code that slows the store stays in place. Some mostly change a lab score rather than what shoppers feel. We remove the causes instead – unused app code, heavy media, render-blocking tags and slow Liquid – and check the result on real-user Core Web Vitals.

Should we redesign the store or optimize the current theme?

Usually optimize first. If the theme fits the business, fixing apps, media and code costs less than a redesign and keeps what already converts. A rebuild makes sense when the theme is a vintage (pre-Online Store 2.0) theme, when problems repeat across most templates, or when a redesign is planned anyway – then speed becomes a requirement of the build. Our guide to a redesign versus targeted fixes walks through the decision.

Find out what is slowing your store down

Talk it through on a strategy call, or send the store URL and the pages that feel slow. An engineer replies within 30–⁠60 minutes during business hours, reviews your speed data and theme code, and quotes the work – projects typically take 2–⁠4 weeks.