
The average Shopify store has 14 to 20 apps installed (Shopify ecosystem data, 2025). Each app adds JavaScript, CSS, and network requests to every page load. At 14 apps, your product page is loading 3 to 5 additional scripts every time a visitor arrives.
For a Moroccan buyer on a 4G mobile connection, this is the difference between a page that loads in 2 seconds and one that loads in 5 seconds. Google's research shows that 53% of mobile users abandon pages that take more than 3 seconds to load (Google/SOASTA, 2020). In Morocco, where mobile is 90%+ of traffic and 4G connections average 20-30 Mbps, a bloated app stack is losing you customers before they ever see your product.
This guide explains how Shopify apps slow your store, which specific app categories cause the most damage, and how to diagnose and fix the problem without losing the features you actually need.
How Shopify Apps Add Load Time
Every Shopify app that touches your storefront does so by injecting code into your theme. This code runs every time a page loads, regardless of whether the visitor uses that feature.
What happens technically:
When a buyer loads your product page, their browser downloads your theme files (HTML, CSS, JavaScript) plus the additional files injected by each installed app. For a standard Shopify store with 15 apps:
- 1 live chat app adds 1 HTTP request + 80-200KB of JavaScript
- 1 pop-up app adds 1-2 HTTP requests + 50-150KB of JavaScript
- 1 review app adds 2-3 HTTP requests + 100-250KB of JavaScript
- 1 currency converter adds 1-2 HTTP requests + external API call
- 1 countdown timer adds 1 HTTP request + animation code
Each HTTP request takes 50-200ms on a mobile connection. 15 apps = potentially 2-3 extra seconds of load time before your product is even visible.
The problem is structural: Shopify apps run by injecting into your theme's theme.liquid file (or via Shopify's App Blocks). They execute on every page regardless of context, because most apps cannot tell which page type is loading.
An app you installed 6 months ago and haven't used since is still adding code to every page your buyers visit.
The Shopify Speed Score: What It Tells You
Shopify provides a built-in speed score in the admin under Online Store > Themes. This score (0-100) is a simplified version of Google's Lighthouse mobile performance test.
| Speed Score | What It Means |
|---|---|
| 0-50 | Significant performance problems, likely losing many visitors to load time |
| 51-69 | Below average, noticeable friction on mobile |
| 70-89 | Good, most visitors get an acceptable experience |
| 90-100 | Excellent, minimal load time friction |
For Moroccan fashion brands driving paid traffic to product pages, a speed score below 60 is a direct cost. You are paying for traffic that is bouncing before it converts.
To get a more detailed diagnosis, use Google PageSpeed Insights (pagespeed.web.dev). Enter your product page URL and run the mobile test. The "Opportunities" and "Diagnostics" sections list exactly which resources are slowing the page and how much time each one costs.
The Most Damaging App Categories
1. Live Chat Widgets (Tidio, Gorgias, Zendesk Chat)
Live chat is the single most impactful app category for load time on Shopify. Chat widgets load a full widget library, connection to an external server, and animation code on every page. Average load impact: 150-400ms, sometimes significantly more.
The irony for Moroccan stores: most Moroccan buyers contact brands via WhatsApp, not live chat. A live chat widget aimed at a European UX pattern adds significant load time for an audience that will click the WhatsApp button instead anyway.
Alternative: Replace live chat with a WhatsApp floating button. WhatsApp Business API integrations (via WATI, Interakt, or a simple wa.me link) add under 10ms to page load and serve Moroccan buyers more effectively.
2. Pop-up and Email Capture Apps (Privy, Justuno, Klaviyo Pop-ups)
Email pop-up apps execute on page load to detect visitor status (new vs returning) and trigger pop-up timing. They add 100-300ms of JavaScript execution time plus the network request for their tracking library.
For Morocco specifically: email capture pop-ups are less effective than in European markets because Moroccan e-commerce is WhatsApp-native. An email captured from a Moroccan buyer sits in a list that generates 5-8% open rates. The same buyer would have responded to a WhatsApp message at 60-80% open rate.
Alternative: If pop-ups are needed for discount code capture, use Shopify's built-in customer account forms or a lightweight inline form (no external library) instead of a full pop-up platform.
3. Review Apps (Judge.me, Loox, Yotpo)
Review apps are necessary for Moroccan stores (reviews with photos are high-trust signals for Moroccan buyers), but they vary significantly in their load impact.
- Yotpo: Heavy. Loads 200-400KB of JavaScript even on pages without reviews. Not recommended for mobile-first Moroccan stores.
- Loox: Medium-heavy. Photo reviews are excellent but the library is substantial.
- Judge.me: Lighter than Yotpo, but still adds HTTP requests. The best balance of review photo functionality and load impact for most Moroccan stores.
Alternative: If your review volume is low, a static review section built directly into your theme (no app required, just Liquid code) loads in near-zero time. This works for stores with under 20 reviews. Above 20 reviews, a dedicated review app is worth the load cost.
Your Shopify store is slow and you're losing Moroccan buyers before they see your product. Glorythm audits store speed for Moroccan fashion brands: identifies which apps are costing you the most load time and gives you the removal list. One call, measurable results. [Book your free audit →]
4. Currency Converters
Third-party currency converter apps work by detecting the visitor's IP, making an API call to an exchange rate service, and then rewriting price elements on the page. This process adds 100-300ms per page load, plus a dependency on an external API that can fail or be slow.
For Moroccan stores that should be displaying prices in MAD: a currency converter is a workaround for not having set up MAD as the primary store currency. Fix the root problem (set MAD as your primary currency) and remove the converter app. See why your Shopify store isn't converting in Morocco for the currency setup instructions.
5. Countdown Timers and Urgency Apps
Countdown timers, "X people viewing this" notifications, and social proof pop-up apps add JavaScript that continuously updates DOM elements, running in a loop while the buyer is on the page. This creates CPU overhead that degrades the browsing experience on lower-end Android phones, which are the most common device for Moroccan buyers.
These apps also signal artificial urgency to experienced Moroccan buyers who have seen the "Only 2 left" notification reset every time they refresh the page. The trust cost is real. Remove them unless your products genuinely have limited inventory that warrants real urgency signals.
6. Upsell and Cross-sell Apps
Apps like ReConvert (post-purchase upsell), Frequently Bought Together, and in-cart upsell widgets add substantial JavaScript to the cart and checkout flow. For Moroccan stores where cart-to-checkout completion is already lower than international benchmarks, adding friction at the cart step for an upsell that most buyers will dismiss is a net negative.
Alternative: Build basic upsell functionality directly into your theme using Shopify's built-in product recommendations feature. It loads with the page (no additional requests) and suggests complementary products without external app overhead.

The App Audit: How to Find What's Hurting You
Step 1: Check Your Current App Count
Shopify admin > Apps. Count how many apps are installed. Anything above 10 deserves scrutiny. Anything above 15 is likely contributing significantly to speed problems.
Step 2: Run PageSpeed Insights
Go to pagespeed.web.dev. Enter your product page URL (not just your homepage, your most important product page). Run the mobile test.
In the "Opportunities" section, look for:
- "Reduce unused JavaScript" — This is almost always app code. Click to expand and see which JavaScript files are loading. You will often see third-party domains (gorgias.com, tidio.com, yotpo.com, etc.) contributing unused JavaScript.
- "Reduce unused CSS" — Same issue, CSS from apps that is loaded but not used.
- "Avoid chaining critical requests" — Multiple network requests loading in sequence, often caused by apps that load one file, which then loads another.
Step 3: Use Chrome DevTools Network Tab
Open your product page in Chrome, right-click > Inspect > Network tab. Reload the page. Filter by "JS" to see all JavaScript files loading. Sort by file size. You will immediately see which domains (apps) are loading the largest files.
Step 4: Test Your Store Without Apps
Shopify does not provide an official "disable all apps" mode, but you can test speed impact by temporarily using a fresh theme preview (no apps injected). Install Shopify's Dawn theme and preview it without customization. If your store score jumps from 45 to 80 in the fresh theme, your apps and customizations are the problem, not your core content.
The Removal Checklist
For each installed app, ask:
- Did anyone use this feature in the last 30 days? (Check app analytics in the app dashboard)
- Is this feature delivering measurable revenue or conversion uplift?
- Is there a native Shopify alternative that doesn't require an app?
- What is the load time cost (check PageSpeed Insights before and after removal)?
Apps that should almost always be removed for Moroccan stores:
- Old campaign apps (seasonal campaigns that have ended)
- Currency converters (replace with native MAD pricing)
- Email pop-up apps (low ROI for Moroccan audience)
- Live chat widgets (replace with WhatsApp)
- Countdown timer apps (remove entirely)
- Any app installed to test a feature more than 3 months ago
Important: In Shopify, simply deactivating an app does not remove its code. You must fully uninstall the app to stop it from loading. After uninstalling, check if residual code was left in your theme (some apps inject into theme.liquid directly) and remove it manually.
The Minimal App Stack for Moroccan Fashion Stores
Based on conversion and speed optimization for Morocco-market Shopify stores, the minimal app stack that retains all conversion-critical functionality:
| Function | Recommended App | Load Impact |
|---|---|---|
| Customer reviews with photos | Judge.me | Medium |
| WhatsApp button | WhatsApp Button (free) or wa.me link | Very low |
| WhatsApp order notifications | WATI or Interakt | Very low |
| COD order management | Manual (Shopify COD built-in) | Zero |
| Upsell | Shopify native product recommendations | Zero |
| Shipping calculator | Shopify native (Carrier Calculated Shipping) | Zero |
This 2-app stack (Judge.me + WhatsApp integration) covers all conversion-critical needs for a Moroccan fashion store without the load time cost of a 15-app setup.
For additional speed improvements beyond app removal, see the product page speed section in Shopify product page not converting in Morocco.
Every app you installed is still loading code for every Moroccan buyer who visits your store. Glorythm speed audits identify which apps are costing you the most conversions and give you a removal list with before/after PageSpeed scores. [Book your free audit →]
Frequently Asked Questions
How do I know which Shopify apps are slowing my store the most?
Run Google PageSpeed Insights on your product page in mobile mode. In the "Opportunities" section, expand "Reduce unused JavaScript" and you will see a list of scripts loading on your page grouped by domain. Third-party domains (not myshopify.com or cdn.shopify.com) are typically app code. The file sizes listed tell you which apps are contributing most to your load time.
Does uninstalling a Shopify app remove its code?
Usually yes, but not always. Most apps remove their code when uninstalled. Some apps inject code directly into theme.liquid (your theme file), and this code remains even after the app is removed. Check your theme.liquid file in Shopify admin > Online Store > Themes > Edit Code after uninstalling an app. Search for the app name or the app's domain to find any leftover code.
What Shopify speed score should I aim for in Morocco?
For a Moroccan mobile audience, target 70 or above in the Shopify speed score. More specifically, target LCP under 2.5 seconds in Google PageSpeed Insights on mobile. At 70+, the load time is not a significant conversion barrier. Below 50, you are likely losing 20-30% of your paid traffic to abandonment before the page renders.
Are free Shopify apps slower than paid apps?
Not necessarily. App performance depends on the quality of the code, not the price. Some paid apps are very well optimized. Some free apps are poorly built and add significant load. Judge each app by its actual load impact in PageSpeed Insights, not by its price tier.
Can I have too few Shopify apps?
Yes, in a narrow sense. A Shopify store without a review app will have no customer reviews, which hurts conversion more than the load time saved. The goal is not zero apps but the minimal set that covers all conversion-critical functions. For Morocco, that minimal set is a review app with photo support and a WhatsApp integration. Everything else is optional and should be justified by measurable revenue impact.