Shopify Store Speed Optimizatio

Shopify Store Speed Optimization: What Actually Moves the Needle (Case Study)

PageSpeed score 23 on mobile. Cart abandonment rate of 81%. Revenue flatlined for three consecutive months despite growing ad spend.

These were the numbers when a Warsaw-based apparel brand came to Step-Media in late 2025. Their Shopify store had been built two years earlier by a freelancer who prioritized visual effects over performance. By the time they contacted us, every extra dollar in ad spend was being lost to a store that was too slow to convert.

This case study documents exactly what we found, what we fixed, and what the results looked like 60 days after relaunch.

Why Shopify Store Speed Matters More Than You Think

Let me give you the numbers first.

According to Google research, as page load time increases from 1 second to 3 seconds, the probability of a mobile visitor bouncing increases by 32%. From 1 to 5 seconds, it's 90%. From 1 to 10 seconds, 123%.

Deloitte's study on mobile performance found that a 0.1-second improvement in site speed results in a 8.4% increase in conversions for retail sites and a 9.2% increase in average order value.

For a store doing €20,000/month in revenue, a 10% conversion improvement means €2,000 more per month — every month, without increasing a single euro of ad spend.

Speed is not a technical vanity metric. It is direct, measurable revenue.

The Audit: What We Found

When we ran a full technical audit on the store, here's what the diagnosis showed:

Problem 1: 14 Apps Running JavaScript on Every Page

The store had 23 apps installed total. Of those, 14 were injecting scripts into every page — including apps that were only used on specific pages (a size chart app running on the homepage, a wholesale pricing app running on every product page whether the customer was a wholesaler or not).

Impact: Each app script adds 50–400ms to page load time. Cumulative effect: over 3 seconds of unnecessary JavaScript before a single pixel was displayed.

Problem 2: Unoptimized Images (Average Size: 2.8MB)

The product photos were uploaded at their original camera resolution — averaging 2.8MB per image. On a product page with 6 photos, that's nearly 17MB of image data loading before a customer could evaluate the product.

Shopify automatically serves WebP images through its CDN, but only if the original files are properly sized. Files larger than 4096px on any dimension bypass Shopify's optimization.

Impact: Images were the single largest contributor to slow load times, accounting for approximately 60% of total page weight.

Problem 3: Custom Font Files Loaded Without Preloading

The store used three custom font families, each loaded as separate woff2 files from the Shopify CDN. None of them were preloaded in the <head>, causing layout shifts and delayed text rendering.

Impact: Google's CLS (Cumulative Layout Shift) score was 0.31 — well above the 0.1 threshold for "good." This directly hurt SEO rankings and created a jarring visual experience as text jumped around during load.

Problem 4: Render-Blocking Third-Party Scripts

The Google Analytics 4 script, Meta Pixel, and TikTok Pixel were all loaded synchronously in the <head>. These scripts must execute before the browser can render any visible content.

Impact: Each tracking script added approximately 200–400ms to the Time to First Byte (TTFB). Combined, they were responsible for over 1 second of render-blocking before any content appeared.

Problem 5: Unused Shopify Apps With Active Code

Three apps had been uninstalled by the store owner months earlier — but their JavaScript and CSS files were still loading because the app code had been injected into the theme templates and never removed.

Impact: Ghost app code from three uninstalled apps was adding approximately 800KB of unnecessary data to every page load.

The Fix: What We Did

Step 1: App Audit and Consolidation

We reviewed all 23 apps and categorized them:

  • Keep as-is: 6 apps with genuine functionality (reviews, email marketing, subscriptions)
  • Replace with custom code: 5 apps where the functionality was simple enough to build natively (sticky add-to-cart button, recently viewed products, announcement bar countdown)
  • Remove entirely: 8 apps that were either duplicating functionality or no longer needed
  • Remove ghost code: Manually removed leftover code from 3 uninstalled apps

Result: 23 apps reduced to 6. Third-party JavaScript reduced by 71%.

Step 2: Image Optimization

We processed all 847 product images through a batch optimization pipeline:

  • Resized to maximum 2048px on the longest dimension
  • Compressed using lossy compression at 80% quality (visually indistinguishable from original)
  • Average file size reduced from 2.8MB to 180KB — a 94% reduction

For new images going forward, we set up a simple upload guideline: maximum 2000px width, exported at 80% quality from Lightroom or Photoshop.

Step 3: Font Loading Optimization

We added preload tags for all three font families in the theme's <head> and implemented font-display: swap in the CSS to prevent invisible text during font loading.

We also reduced the number of font weights loaded from 5 variants to 3 (removed rarely-used thin and extra-bold variants that appeared in fewer than 5% of visible text).

Step 4: Deferred Analytics Loading

We moved all tracking scripts (GA4, Meta Pixel, TikTok Pixel) from synchronous loading in the <head> to deferred loading after the page's primary content had rendered.

This is standard practice and does not affect data collection — analytics events fire correctly when triggered, regardless of when the script loads.

Step 5: Critical CSS Inlining

For the above-the-fold content (hero section, navigation, first product row), we extracted the critical CSS and inlined it directly in the <head>. This allows the browser to render the visible portion of the page immediately without waiting for external stylesheets to load.

The Results: 60 Days After Relaunch

Metric Before After Change
Mobile PageSpeed Score 23 87 +278%
Desktop PageSpeed Score 41 94 +129%
LCP (mobile) 6.8s 1.9s -72%
CLS 0.31 0.04 -87%
Total Page Weight (homepage) 8.4MB 1.1MB -87%
Mobile Conversion Rate 0.8% 1.6% +100%
Cart Abandonment Rate 81% 67% -14pp
Monthly Revenue €18,200 €31,400 +73%

The revenue increase of 73% is not purely attributable to speed optimization — the relaunch also included improvements to the product page layout and the addition of customer reviews. However, the speed improvements alone account for a measurable portion of the conversion rate increase, as verified through Google Analytics 4 segment analysis comparing behavior before and after the technical changes.

What You Can Do Right Now

Not every improvement requires a developer. Here are three things you can check and fix yourself today:

1. Check your current speed score. Go to pagespeed.web.dev, enter your store URL, and run the test. Focus on the mobile score — that's what Google uses for ranking.

2. Audit your installed apps. In Shopify Admin → Apps, look at every installed app and ask: "Am I actively using this?" Remove anything you're not using. Then check your theme code for leftover scripts from previously uninstalled apps.

3. Check your image sizes. In Shopify Admin → Content → Files, sort by file size. If you see product images larger than 500KB, re-export and re-upload them at a smaller size.

When to Call a Developer

If your mobile PageSpeed score is below 50 and you're spending money on ads, the speed problem is likely costing you more in lost conversions than a professional optimization would cost to fix.

A full speed optimization project at Step-Media typically takes 1–2 weeks and costs €800–€2,000 depending on the size of the store and number of apps involved.

Request a free speed audit — we'll run a full diagnostic and tell you exactly what's slowing your store down before you commit to anything.

Frequently Asked Questions

Will speed optimization affect my store's visual design?

No. Speed optimization works on the technical layer — image compression, script loading order, CSS delivery. The visual design remains identical.

How long do speed improvements last?

Speed improvements are stable as long as you don't add new heavy apps or upload unoptimized images. We provide guidelines after every optimization project to help you maintain performance.

Does Shopify automatically optimize my store for speed?

Shopify provides a solid infrastructure (global CDN, automatic WebP conversion) but it doesn't optimize your theme code or manage your app scripts. Those require developer attention.

What PageSpeed score should I aim for?

Above 70 on mobile is the practical threshold for acceptable performance. Above 85 puts you ahead of most competitors. Above 90 is excellent and is associated with the best conversion rates.

How does page speed affect my Google rankings?

Google uses Core Web Vitals (LCP, CLS, INP) as a ranking factor. Stores with poor Core Web Vitals scores may rank lower than competitors with equivalent content quality but faster load times.

Leanid Liabetski is a Shopify developer and founder of Step-Media, based in Warsaw, Poland. He has built and optimized Shopify stores for brands in apparel, food, vitamins, automotive, medical, and home goods.