Back to Blog
Shopify e-commerce performance speed optimization web development

How to Speed Up Your Shopify Store (and Why It's Costing You Sales)

Gustavo Vasquez
How to Speed Up Your Shopify Store (and Why It's Costing You Sales)

Your Shopify store might be losing customers before they even see your products. The reason? It’s too slow.

Every extra second of load time drops your conversion rate. Studies consistently show that a one-second delay in page load can mean a 7% decrease in conversions. For a store doing $5,000 a month in sales, that’s $350 gone — every month — because your pages took too long.

Let’s fix that.

First: Test Your Current Speed

Before changing anything, measure where you stand. Use these free tools:

  • Google PageSpeed Insights — gives scores for both mobile and desktop, plus specific recommendations
  • GTmetrix — shows waterfall charts so you can see exactly what’s slowing things down
  • Shopify’s own speed report — go to Online Store > Themes and click “View speed report” at the top

Write down your scores. You’ll want to compare after making changes.

Good targets:

  • Mobile PageSpeed score above 50
  • Desktop score above 70
  • Largest Contentful Paint (LCP) under 2.5 seconds
  • Total Blocking Time (TBT) under 200ms

Most Shopify stores I audit score between 25-40 on mobile. There’s almost always room to improve.

Images Are Usually the Biggest Problem

This is the low-hanging fruit. I’ve seen stores where a single product image is 4MB. That’s insane.

What to Do

Use WebP format. WebP images are 25-35% smaller than JPEGs with similar quality. Shopify’s CDN automatically serves WebP to browsers that support it, but you still need reasonable source images.

Resize before uploading. Your product images don’t need to be 5000x5000 pixels. Shopify recommends 2048x2048 for product images with zoom. Anything larger is wasted bandwidth.

Compress everything. Before uploading to Shopify, run images through a tool like:

  • TinyPNG (free, web-based)
  • Squoosh (Google’s free tool, excellent quality controls)
  • ShortPixel (bulk compression)

Target file sizes under 200KB for product images and under 500KB for hero banners.

Watch your slideshow. Homepage slideshows with full-width images are speed killers. Each slide is a large image that loads upfront. If you must use a slideshow, limit it to 2-3 slides and compress aggressively.

Audit Your Apps (This One Hurts)

Every app you install adds JavaScript and CSS to your store. Some apps add code to every single page, even pages where the app isn’t used.

How to Find Problem Apps

  1. Go to your store and open Chrome DevTools (right-click > Inspect > Network tab)
  2. Reload the page and sort by file size
  3. Look for scripts from domains that aren’t cdn.shopify.com or your own domain

Those external scripts are usually from apps.

The App Audit

Go to Apps in your Shopify admin and ask:

  • Am I actually using this? If not, uninstall it. Not “disable” — uninstall. Many apps leave code behind even when disabled.
  • Does it need to load on every page? Some apps (like review widgets) only need to load on product pages but inject code site-wide.
  • Is there a lighter alternative? Some apps are bloated. A review app that adds 500KB of JavaScript might have a competitor that adds 50KB.

I’ve seen stores with 15+ apps installed where removing 8 of them improved page speed by 40%. Be ruthless.

After Uninstalling

Some apps leave leftover code in your theme. After removing an app, check:

  • Theme settings for any references to the removed app
  • Theme code (Edit code > search for the app name in theme.liquid and snippets/)
  • Run PageSpeed again to confirm the code is actually gone

Optimize Your Theme

Not all Shopify themes are built equally. Free themes from Shopify (Dawn, Refresh, Craft) are generally well-optimized. Many third-party paid themes are not.

Quick Theme Wins

Use a system font stack. Custom fonts require extra downloads. If your brand can work with system fonts, you’ll save 100-300KB of font files. If you need custom fonts, limit yourself to one family with two weights (regular and bold).

Remove unused sections. If your theme came with 40 sections but you only use 12, the unused ones might still load CSS. Check with your developer if this is the case.

Minimize custom CSS. If you’ve added custom CSS in the theme editor, make sure it’s actually being used. Remove old styles from experiments or sections you no longer display.

Check for render-blocking scripts. In the theme code, look for <script> tags without async or defer attributes. Non-deferred scripts block the page from rendering until they finish loading. Most third-party scripts should use defer.

Lazy Load Everything Below the Fold

Lazy loading means images and content below the visible area don’t load until the user scrolls to them. This makes the initial page load much faster.

Shopify’s newer themes support this by default. If you’re on Dawn or a recent theme, images below the fold should already lazy load. Check by looking at your image tags — they should have loading="lazy" on them.

For older themes, you can add lazy loading with a small code change or a lightweight app like Hyperspeed or LazySizes.

Don’t lazy load above-the-fold content. Your hero image, logo, and navigation should load immediately. Lazy loading these creates a flash of empty space.

Reduce Third-Party Scripts

These are the silent speed killers. Each one requires a separate connection to an external server:

  • Facebook Pixel — necessary for ads, but heavy
  • Google Analytics — necessary, but use GA4 which is lighter
  • Chat widgets — Tidio, LiveChat, etc. can add 200-500KB
  • Social proof popups — “Someone in Dallas just bought…” adds unnecessary weight
  • Multiple tracking pixels — TikTok, Pinterest, Snapchat — each one costs speed

What to Do

Prioritize. Keep what drives revenue (analytics, your main ad pixel). Cut what’s nice-to-have.

Use Google Tag Manager. Instead of adding each script directly to your theme, load them through GTM. This gives you one script that manages all others, with better control over when they load.

Delay non-essential scripts. Chat widgets don’t need to load instantly. Set them to load after 5 seconds or on user interaction (scroll, click). Most chat apps have this option in their settings.

Video Done Right

Product videos can increase conversions, but hosting them wrong kills your speed.

Never upload video directly to Shopify.

Instead:

  • Host on YouTube or Vimeo and embed
  • Use lazy-loaded embeds — show a thumbnail that loads the video player only when clicked
  • If you use background video on your homepage, keep it under 5 seconds and compress it heavily (target under 2MB)

A lazy-loaded YouTube embed saves about 500KB-1MB compared to loading the full YouTube player on page load.

Mobile Speed Deserves Extra Attention

Mobile users are usually on slower connections. They’re also your largest audience — typically 60-70% of e-commerce traffic.

Mobile-Specific Tips

Test on a real phone. Chrome’s mobile emulation doesn’t capture real-world network conditions. Open your store on your actual phone on cellular data.

Check your mobile hero. Desktop hero images that are 1920px wide are overkill on a 400px mobile screen. Shopify’s newer themes serve different image sizes for different screens. If yours doesn’t, you’re wasting bandwidth.

Simplify mobile navigation. Mega menus with dozens of links add DOM weight. On mobile, a clean dropdown with your main categories is faster and easier to use.

Reduce homepage sections. Every section on your homepage adds weight. On mobile, users scroll through a long page. If you have 15 homepage sections, consider whether you need all of them on mobile.

Quick Wins Checklist

Here’s the fastest path to better speed scores:

  1. Compress all images — biggest impact, easiest fix
  2. Remove unused apps — second biggest impact
  3. Add defer to third-party scripts — stops render blocking
  4. Enable lazy loading — faster initial paint
  5. Switch chat widget to delayed load — saves 200-500KB upfront
  6. Remove unused fonts — saves 100-300KB
  7. Check theme for leftover app code — hidden bloat

Each of these takes 15-60 minutes. Combined, they can cut your page load time in half.

When Speed Problems Need a Developer

Some speed issues require digging into theme code:

  • Removing deeply embedded app code
  • Converting render-blocking scripts to async
  • Implementing proper image srcset for responsive images
  • Building custom lazy-loading for specific sections
  • Migrating from a bloated theme to a lighter one

If you’ve done everything on this list and your scores are still below 40 on mobile, your theme itself might be the problem. Some themes are just slow, no matter how much you optimize. In that case, switching to a performance-focused theme like Dawn or a well-coded paid theme is the right move.


A faster store means more sales. Not in some abstract way — faster pages directly convert better, rank higher in Google, and cost less in ad spend (because more visitors become customers). It’s one of the highest-ROI improvements you can make.


Gustavo has helped businesses optimize their Shopify stores for over 15 years. If your store is slow and you’re not sure where to start, get in touch for a free speed audit.

Gustavo Vasquez

Written by Gustavo Vasquez

Web developer and digital marketing consultant helping small businesses get online. 15+ years of tech experience, bilingual (English/Spanish).

Book a free consultation

Related Articles

Need help with your project?

Whether it's SEO, a new website, or fixing bugs - I can help.

Get in Touch
Call Email Book