Shopify performance

    Fast stores sell more.

    Start a Project

    Every second of load time costs conversion. We measure your store's Core Web Vitals and fix the causes - not the symptoms.

    Thresholds
    2.5 sLCP threshold for “good”
    200 msINP threshold for “good”
    0.1CLS threshold for “good”
    28 daysField data measurement window (CrUX)
    • Since 2019
    • 150+ Migrations and Relaunches
    • Official Shopify Plus Partner
    Scope of work

    What makes a Shopify store slow?

    Theme and app bloat

    Every installed app may inject scripts and styles into every page - including pages where it does nothing. We check what actually loads and what can go entirely.

    Images, fonts and render blockers

    Oversized hero images, missing dimensions and blocking fonts delay the first visible content and make the layout jump after the fact.

    Third-party scripts

    Tracking, chat, reviews and personalisation mostly hurt interactivity. We judge every script by its value against its cost on the main thread.

    Core Web Vitals

    Which values count - and what do they mean?

    LCP - Largest Contentful Paint

    Time until the largest visible element has loaded. On product pages that is almost always the main image. Google rates up to 2.5 seconds as good.

    INP - Interaction to Next Paint

    Time between an input and the next visible response. Up to 200 milliseconds counts as good. The main cause is long JavaScript tasks.

    CLS - Cumulative Layout Shift

    A measure of unexpected layout shifts. Up to 0.1 counts as good. Typical triggers are images without dimensions, late banners and web fonts.

    TTFB as a precursor

    Time to first byte is not a Core Web Vital, but it caps the LCP you can reach. On Shopify it depends heavily on Liquid logic and app blocks.

    Levers for LCP

    Prioritise the hero image, serve modern formats, preload the critical resource and remove unnecessary redirects on the first request.

    Levers for INP

    Break up long tasks, defer or event-load scripts, slim down event handlers and replace apps with expensive hydration behaviour.

    Levers for CLS

    Fixed aspect ratios for images and embeds, reserved space for banners and consent layers, fonts with stable fallback metrics.

    Levers for TTFB

    Reduce expensive loops and metafield lookups in Liquid and limit app blocks to the templates that actually need them.

    Approach

    How does a performance optimization project run?

    01

    Field data first

    We start with real user values from Search Console and CrUX, split by mobile and desktop as well as by template type.

    02

    Causes in the lab

    Using Lighthouse and a performance trace we tie every problematic value to a concrete cause - a file, a script or a template.

    03

    App and script audit

    Every app is reviewed for actual value, load location and weight. Unused apps are removed completely, not just switched off.

    04

    Prioritise by impact

    Measures are ranked by expected effect and effort. Templates with the most traffic and the largest share of revenue come first.

    05

    Implementation in the theme

    Changes are made in a theme copy, tested individually and documented, so the effect of each measure stays traceable.

    06

    Re-measure & monitor

    After deployment we compare lab and field data and keep watching the values, so new apps do not eat up the progress again.

    Measurement

    Why do Lighthouse and Search Console disagree?

    Lab data

    Lighthouse measures once under fixed conditions - useful for finding causes, not as proof of success

    Field data

    CrUX collects values from real users on their devices and networks - that is what the rating is based on

    Time lag

    Field data runs on a 28-day window, so improvements only show up there gradually

    Percentile, not average

    The rating uses the 75th percentile, so a good average says very little about your assessment

    Fit

    Is performance your biggest lever right now?

    Then you are working in the right place

    Field data sits in the red

    Search Console reports "needs improvement" or "poor" for your most important template types - in the field data, not just in the lab.

    Mobile falls apart

    Far more visitors drop off on phones than on desktop, even though the range, the prices and the offer are identical.

    Years of apps in the theme

    Apps, banners and campaign scripts piled up over time, and nobody on the team can still say what loads on which page.

    You pay for your traffic

    Paid clicks land on pages that take noticeably too long. Every second you lose here, you pay for twice.

    Then your problem sits somewhere else

    The theme is being replaced anyway

    If the store is due for a rebuild, every fix on the old theme evaporates the day the new one goes live. Then speed belongs in the build plan.

    To Shopify development

    Your pages are not in the index

    If Google does not properly pick up your category and product pages, faster delivery changes nothing about the visibility you are missing.

    To Shopify SEO

    Visitors arrive and do not buy

    If your values are already in the green, load time is not what decides the sale - the offer, the page layout and the checkout are.

    To CRO & conversion optimization
    Engagement

    How can we work on your performance?

    Whether you need clarity on the causes first, want implementation straight away, or have to hold the values long term - that gives three shapes.

    Performance analysis

    Who it is for

    For stores where the numbers are known but it is unclear which file, app or template logic is actually causing them.

    What is included
    • Field data split by template and device
    • Trace and Lighthouse to pin down causes
    • App and script inventory with load point and weight
    How it ends

    Ends with a list of measures sorted by expected effect that your own developers can implement too.

    Optimization sprint

    Who it is for

    For stores where the causes are already established and the work in the theme should happen quickly and under control.

    What is included
    • Implementation in a theme copy
    • Every measure measured on its own
    • Handover with documented changes
    How it ends

    Ends when the agreed templates measure demonstrably better than before - and it is traceable per measure why.

    Performance monitoring

    Who it is for

    For stores where campaigns, banners and new apps keep arriving and the values would otherwise creep back up.

    What is included
    • Fixed measurement after every theme release
    • Review of every new app before it goes in
    • Regressions reported early instead of hunted late
    How it ends

    Produces values that are verified after every release, instead of hit once and quietly lost again.

    Brands with €950M+ GMV trust NICCOS

    Groundies logo
    MYCR7 logo
    Gusti Leder logo
    Smilodox logo
    Bikemailorder logo
    O'Neal logo
    Freiluftkind logo
    Sirocco logo
    Olakala logo
    CAT logo
    Deputy logo
    Heel logo
    Bloomingloft logo
    FRITZ! logo
    Prepmymeal logo
    Mintkind logo
    FAQ

    Frequently asked questions about Shopify performance

    What are Core Web Vitals?

    Core Web Vitals are three metrics defined by Google for the user experience while a page loads: LCP for how quickly the largest visible content appears, INP for responsiveness to input, and CLS for visual stability. The rating uses the 75th percentile of field data from real users.

    Which values count as good?

    Google rates an LCP of up to 2.5 seconds, an INP of up to 200 milliseconds and a CLS of up to 0.1 as good. What matters is hitting those thresholds at the 75th percentile: three out of four page views must meet the value, not just the average.

    How do you improve the load time of a Shopify store?

    In this order: remove unused apps and their scripts, serve the hero image of every template type with priority and modern compression, load fonts locally with a stable fallback, defer third-party scripts, then reduce expensive Liquid logic. Measure again after each single step.

    Does a new theme automatically improve the numbers?

    Not automatically. A lean theme is a good starting point, but apps, scripts, images and content account for most of the load time. Installing a fast theme and then re-enabling the same apps and scripts usually lands you at very similar numbers as before.

    Why is my Lighthouse score good but Search Console is not?

    Lighthouse measures once in the lab under fixed conditions. Search Console shows field data from real users over a rolling 28-day window, including slow devices and poor connections. The two sources do not contradict each other, they answer different questions: causes versus actual assessment.

    How are performance and conversion connected?

    Load time influences bounce and checkout completion, especially on mobile and with paid traffic. How strong that effect is depends on assortment, price point and traffic mix, and can only be proven in your own store. That is why we measure before and after in the same store instead of arguing with industry averages.

    How often should you check performance?

    After every theme release and every app installation, plus on a regular schedule in day-to-day operations. Performance is not a one-off project: new campaign scripts, banners and apps keep arriving and slowly push the values back up without any single change being to blame.

    How fast is your store for real users?

    We look at your field data and your theme and show you which measures will have the biggest effect on your store.

    Last updated:

    Project start

    Let's grow together.

    Usually a response within 24 hours

    Talk directly to a strategy or tech senior

    No agency slide deck, just clear next steps

    Shopify Plus Partner certification

    When you submit, your request goes directly into the NICCOS process. No newsletter opt-in, no resale of contact data.

    NICCOS

    Die Seite konnte nicht geladen werden.

    Bitte lade die Seite neu. Falls gerade ein Update live gegangen ist, wird damit die aktuelle Version geladen.