# Shopify Performance Engineering | Fix Your Store Speed

Still chasing that promised Shopify speed? Fontis diagnoses and fixes the performance issues that apps, themes, and scripts create on your Shopify store.

Shopify Performance Engineering

## Still chasing that promised Shopify speed?
Shopify stores with 10 or more apps average a mobile PageSpeed score of 39 out of 100. The platform is fast out of the box, but the apps you need to run your business are undoing that advantage, forcing you to choose either speed or functionality. You can have both.

The Problem

## Shopify is not as fast as it can be

    ### App Accumulation

Need email marketing? Klaviyo goes in. Need buy-now-pay-later? Afterpay gets added. Custom theme, reviews, loyalty programs, chat widgets, analytics tools, marketing pixels; each one addresses a real business need, and each one adds scripts that load on every page of the store, whether they're needed there or not.

    ### The Hidden Ads Penalty

Merchants investing in Google Ads and Meta campaigns are often unaware that their site speed is directly inflating their cost per click. Google factors page experience into ad Quality Scores, which means a slow store pays more for the same traffic. The ad spend is visible; the speed penalty hidden inside it usually isn't.

    ### The Data

Across 10,000+ active Shopify stores, the average mobile PageSpeed score sits at 54 out of 100. Only about 2% of stores achieve 90 or above. About a third of stores score below 50. The average store loads 188 separate requests and nearly 5MB of data on mobile before the page becomes usable.

    ### The Opportunity

The performance gap between a well-optimised Shopify store and an average one is a significant competitive opportunity. Google and Deloitte research found that a 0.1-second improvement in mobile load time increases retail conversion rates by 8%. A store that loads in under 3 seconds on mobile, while competitors take 10–15 seconds, captures more of the traffic it's already paying for.

    The Evidence
    Where the performance actually goes
    The performance data across thousands of Shopify stores paints a clear picture of where the speed goes and how quickly it compounds.

        76
        scripts per page
        The average Shopify store loads 76 scripts on every page from just 5 apps. Each script competes for the customer's bandwidth and processing power.

        39
        mobile PageSpeed
        Stores with 10 or more apps average a failing mobile score. Google considers 90+ a pass. Most Shopify stores aren't close.

        ~4 pts
        per app installed
        Every app installed costs an average of 4 points off the mobile PageSpeed score. Five apps, twenty points gone.

        56
        point gap
        The gap between the best Shopify setup (Dawn + zero apps: 84) and the worst (heavy theme + 10 apps: 28). Same platform.

        Theme selection sets a baseline that's difficult to overcome. Dawn-based themes average 63-72 on mobile with a minimal app stack. Some popular third-party themes sit between 36 and 42. A Dawn theme with zero apps averages about 84. A heavy third-party theme with 7-10 apps averages about 28. Same platform, same infrastructure and a 56-point gap determined entirely by what's been built on top.
        Analytics tools impose a stepped penalty. Stores with zero analytics tools average around 75 on mobile. One tool drops the average to about 60. Two tools bring it to 54. Three or more lands around 45. Most stores running paid advertising already carry 4-5 analytics scripts before a single Shopify app enters the picture.
        BNPL providers add another layer. Stores with buy-now-pay-later apps installed average about 45 on mobile. Individual BNPL apps correlate with 9-11 point score reductions. The scripts load globally, on every page, not just checkout or product pages where the payment option is relevant.
        Scores above 90 are achievable with a full app stack. Stores can and do score 90+ on mobile with multiple tracking apps, BNPL providers, and third-party integrations in place. It always requires a tailored, per-store approach. This requires engineering work, not an app install.

        Average PageSpeed score reduction per app
        Each of these popular apps correlates with a measurable drop in mobile PageSpeed score across thousands of stores.

          Hotjar

          -11.5

          Afterpay

          -10.6

          Klaviyo

          -9.5

          Shogun

          -9.25

          Klarna

          -9.14

          Facebook Pixel

          -8.8

          Yotpo

          -7.56

          PageFly

          -6.32

          Judge.me

          -5.48

      Book a Free Discovery Call

The Solution

## Performance Engineering Unlocked

    ### We Keep What Works

For most Shopify stores, the answer isn't removing the apps that are critical to driving the business. Klaviyo generates revenue. Afterpay increases average order value. Review apps build trust. The real work is engineering how these tools load; deferring scripts, conditionally loading functionality, and refactoring unnecessary weight.

    ### Engineers, Not Automated Tools

Fontis performance engagements are handled by experienced engineers who understand ecommerce architecture, not by automated tools running a checklist. The analysis covers theme code, app scripts, third-party resource loading, analytics implementation, and the interactions between all of them. Fontis identifies the problems and implements the fixes.

    ### Vendor-Agnostic Advice

Fontis takes no commissions from app providers or platform partners. That means we'll tell you honestly when an app is dragging the store's score down, and whether a lighter alternative exists. Our recommendations are based on what's best for the store, not what earns a referral fee.

    ### Competitive Advantage

When the average competitor in a category scores 45-55 on mobile, a store scoring 85+ loads in a fraction of the time and captures conversions the rest of the field is losing to bounce rates. Brands that have gone through this process are seeing their stores perform the way Shopify's infrastructure was intended: fast, stable, and fully functional, while competitors leave significant performance on the table.

    Analysis, Fixes, and Reporting Included
    Shopify performance packages
    Every engagement starts with a free 30-minute discovery call. We run performance diagnostics beforehand so the conversation is grounded in real data from the start. From that call, we recommend the right package and give a clear picture of what's included before any commitment is made. Each package includes the analysis, the fixes, and a written report documenting everything that was done.

        Performance Fix
        Essentials
        $1000 + GST
        For Shopify stores with a standard theme and a moderate app stack (3-8 apps).
        Best for: standard themes, 3-8 apps, no page builders

          Analysis: Full PageSpeed and Lighthouse analysis across homepage, collection page, and product page on mobile and desktop. App stack review and theme assessment. Core Web Vitals breakdown.
          Fixes: App code and script cleanup and consolidation. CSS and JavaScript optimisation. Core Web Vitals remediation.
          All work in non-production environment (if available). Written report with before-and-after data.

        Book a Free Discovery Call

        Most Popular
        Performance Fix
        Advanced
        $2500 + GST
        For complex setups with custom themes, larger app stack (8-15+ apps), page builders.
        Best for: custom themes, 8-15+ apps, page builders

          Everything in Essentials, plus: Full waterfall analysis and script execution audit across 5 key templates. Third-party script audit with per-script impact measurement. Mobile-specific optimisations. App rationalisation recommendations.
          Issues outside common-fix scope documented in a prioritised roadmap.

        Book a Free Discovery Call

        Custom Engagement
        Enterprise
        Custom quote
        For Shopify Plus merchants with complex integrations, Hydrogen or other headless frontends, multi-storefront setups, or stores needing deeper analysis.
        Best for: Shopify Plus, headless sites, extensive backend integrations, multi-storefront

          Based on the needs of the store, such as theme architecture overhauls, integration performance work (ERP, WMS, OMS, middleware), multi-storefront analysis, competitive benchmarking, and POS analysis.
          Scoped and quoted after the discovery call.

        Book a Free Discovery Call

                    Three Steps to a Faster Store

                How It Works

                    Book a Free Discovery Call

    ### Discovery Call

A free 30-minute conversation with us. The store's performance is diagnosed before the call so the discussion starts with real data. The call covers the store's current situation, what's likely driving the performance issues, and which package is the right fit. No obligation.

    ### Analysis and Fixes

Once a package is selected and collaborator access is granted, Fontis engineers analyse the store and implement the fixes in a non-production environment, if available. Changes are made to the live store only after you review and approve the work.

    ### Deployment and Reporting

Once approved, the optimised theme is deployed to the live store. A written performance report is delivered covering the analysis findings, a detailed summary of every change made, and before-and-after performance data. For Advanced packages, any issues outside common-fix scope are documented in a prioritised roadmap.

    FAQ
    Common questions

          Is store access required for the discovery call?
          +

          No. The discovery call is a conversation only. Fontis runs a test on the public-facing store beforehand, which doesn't require any access. If you decide to proceed with a paid package, collaborator access is requested at that point.

          Are changes made to the live store?
          +

          Not until you approve them. All analysis and fixes are done on a duplicate theme in a non-production environment, if available. The optimised theme is only deployed to the live store after your review and approval. Merchants without a non-production environment will have changes applied directly to the live store, but only after your review and approval.

          Does improving speed mean removing apps the business needs?
          +

          Not necessarily. In most cases, the fix is managing how app scripts load, deferring them, lazy-loading them, or conditionally loading them only on pages where they're relevant, rather than removing the app entirely. Where a removal or replacement is recommended, the rationale and alternatives are provided.

          What about speed optimisation apps?
          +

          Speed apps apply generic fixes (image compression, lazy loading, CSS minification) that work for simple stores but don't address the root causes of most performance issues. Fontis engineers analyse the specific store's script loading, theme architecture, and app interactions, then implement targeted fixes tailored to that store's setup.

          What if the fixes don't cover everything?
          +

          For Advanced packages, any issues identified during the analysis that fall outside the scope of common fixes, such as page builder replacement, theme architecture changes, or integration-related performance work, are documented in a prioritised roadmap. Fontis can optionally then quote a custom engagement to address those items.

          What kind of improvement can merchants expect?
          +

          Results vary depending on the store's starting point, app stack, and theme. Stores with heavier setups and lower starting scores typically see the most significant gains, with improvements of 20-40 points on mobile PageSpeed are common for stores starting below 50. Fontis provides before-and-after data with every engagement so the impact is clearly measurable.

          How is the right package determined?
          +

          That's the purpose of the discovery call. Fontis reviews the store's performance data, asks about the setup and goals, and recommends the right scope. If the store's issues fall within common-fix territory, a standard package is recommended. If the scope is more complex, a custom engagement is quoted. There's no obligation to proceed after the call.

          Will the store slow down again as we add new apps?
          +

          It can, if apps are added without considering their performance impact. Part of what Fontis delivers is a clear baseline: a written report documenting every change made and the before-and-after data. That gives the merchant a starting point to manage future additions against. Advanced packages also include a prioritised roadmap of any remaining work, so the path to sustained performance is documented and actionable, whether Fontis handles the next phase or not.

          How long does the process take?
          +

          Essentials packages typically complete in 1-2 weeks from when collaborator access is granted. Advanced packages generally run 2-4 weeks depending on the app stack and theme complexity. Exact timelines are discussed during the discovery call and confirmed before work begins.

        Get Started
        Shopify was supposed to be the fast platform. It still can be.

          A free 30-minute discovery call is the starting point. The store's speed is checked before the call, and the
          conversation covers what's driving the numbers and what can be done about it. No obligation, no pitch. Just a clear
          picture of where the store sits and what the options are.

  function toggleFaq(el) {
    var wrap = el.parentElement;
    var icon = el.querySelector('.faq-icon');
    var body = wrap.querySelector('.faq-body');
    var isOpen = body.style.maxHeight !== '0px' && body.style.maxHeight !== '';

    // Close all
    document.querySelectorAll('.faq-wrap').forEach(function (w) {
      w.querySelector('.faq-body').style.maxHeight = '0px';
      var ic = w.querySelector('.faq-icon');
      if (ic) ic.textContent = '+';
    });

    // Toggle current
    if (!isOpen) {
      body.style.maxHeight = body.scrollHeight + 'px';
      if (icon) icon.textContent = '−';
    }
  }