Why Is My Shopify Store Slow After Installing Apps?
Most apps keep running code on every page long after you uninstall them. Here's how to find what's slowing your store down and clean it out for good.

You added a booking widget, then a review app, then something for upsells. Each one took two minutes to install and seemed harmless. Now pages hang for a beat before they draw, and customers on a phone in a parking lot give up before the form loads.
If your Shopify store turned slow after installing apps, the short answer is that most of them drop their own scripts and stylesheets into every page you serve. That code runs whether a customer needs it or not. Worse, a lot of it stays put after you uninstall the app, so you keep paying the speed cost for tools you stopped paying for months ago.
By the end of this you'll know which apps to pull, what to check before you do, and what to look for in the theme afterward.
Every app you install adds JavaScript to every page
An app doesn't sit quietly in the corner until a customer needs it. When you install one, it usually adds a line to your theme that tells every page to go fetch that app's JavaScript and CSS before the page finishes drawing. A review widget that only shows on product pages still gets loaded on your contact page. A currency converter still loads for a customer who never leaves your state.
So the weight stacks up on every single page. Each page carries all of it.
Each of those files has to travel from somebody else's server to your customer's phone. That's what third-party scripts are: code you don't host, don't control, and can't speed up. If the app maker's server is having a slow morning, your store is having a slow morning. Ten apps means ten of these round trips, and the browser often has to wait on one before it starts the next.
The other cost is work the phone has to do. JavaScript doesn't just download, it runs. Every popup builder, tracking pixel and upsell tool is asking an old Android in a truck cab to execute more instructions before the page becomes usable. CSS from three different apps means the browser is sorting out which styles win before it paints anything.
None of this shows up on install day. You add one app, load time moves by a fraction you'd never notice. Add twelve over two years and your Shopify store feels slow after installing apps you barely remember, with no single change to blame it on.
Uninstalling an app doesn't always remove its third-party scripts
Deleting an app from your admin removes the app's access and stops the billing. It doesn't always remove what the app wrote into your store.
When you install an app, a lot of them edit your theme to work. They add a snippet file, drop a line of JavaScript into theme.liquid, or register a script tag that loads on every page. Some use Shopify's app blocks, which do clean themselves up. Plenty of older apps, and anything that needed a custom install or a "paste this code before </head>" step, don't.
So you uninstall. The app is gone from the admin. The snippet is still sitting in your theme, still being requested by every visitor, still trying to reach a server that no longer answers for your store. Sometimes it fails quietly. Sometimes it throws an error and the browser waits on it anyway.
Do this a few times over a couple of years and you're carrying code from apps you stopped paying for a long time ago. The review widget you tried for a month. The upsell tool from before you switched. The Google Tag Manager container from an ad agency you don't work with anymore still loads its tags on every page.
None of it shows in your app list, because the app list only shows what's installed now. The only way to know what's in there is to look at the theme files. That's a different job, and it's the one most owners skip.
A theme that's been rebuilt three times carries three sets of leftovers
Apps aren't the only thing leaving junk behind. The theme itself collects it.
Every custom tweak someone makes lives somewhere in the theme files. A banner. A custom section for a seasonal promo. A font swap. A bit of JavaScript to make a button do something the theme didn't do out of the box. Most of that work gets added. Very little of it gets removed when it stops being needed.
Then you change agencies. The new one doesn't want to untangle what the last one wrote, and untangling it isn't what you hired them for. So they build their own version on top, and the old code stays where it is. Do that twice and you've got three sets of leftovers stacked on each other, some of it contradicting the rest.
You can usually feel this before you can see it. Small changes take longer than they should. Something breaks on mobile that worked last month. Nobody can say for sure what a given file does, so nobody deletes anything.
A clean rebuild on the current theme is sometimes cheaper than another round of patching. Ask whoever maintains your store one question: if we started this theme fresh today, how much of what's in there would we put back?
How to audit every app in your Shopify Admin
You don't need a developer for the first pass. Everything you need is in Shopify Admin, under Apps, and the person who runs your office can do it in half an hour with a spreadsheet open.
Treat it as three passes, not one afternoon of guessing. Write down what's installed. Mark what somebody actually touches. Remove the rest carefully, with a backup in place.
Then put it on the calendar twice a year. Apps get added the week you need something and never get looked at again. The list keeps growing on its own unless somebody checks it on purpose.
The office manager is usually the right person for this. They know which tools get opened in a normal week and which ones nobody has logged into since the day they were installed.
List every app and tracking pixel, and mark who uses each one
Open Shopify Admin, go to Apps, and copy the whole list into a spreadsheet. Every one. Include the ones you forgot about and the ones that came with a theme install.
Next to each app, put three columns: what it does, who uses it, and the monthly cost. Then fill in the third column honestly — did a real person open that app, or see its output, in the last seven days?
Most owners can't answer that from memory, which is the point. Ask the office. Ask whoever does the invoicing. If nobody can name a person who touched it, mark it "no."
Some apps run in the background and never get opened by anyone — a review request tool, a tracking pixel, a popup. Those need a different question: is it still doing the job you installed it for? Check whether the reviews are coming in, whether the popup is collecting anything.
You'll end up with three groups: used, background, and dead weight.
Turn off the apps nobody uses, one at a time
Pull one app. Wait a day. Check the store again.
It's slower than removing five at once, and it's the only way to learn anything. If you uninstall a batch and the store gets faster, you know the group was a problem. You don't know which one, so you can't tell whether the two you actually wanted to keep were innocent. And if something breaks on the storefront, you're now hunting through five changes to find the cause.
Start with the dead weight column. Take a load time reading before you touch anything — Shopify's own speed report or a free tool like PageSpeed Insights, which gives you LCP, INP and CLS for that page, run on the same page each time so the numbers mean something. Remove one app. Give it a day so the reading isn't measuring a fluke. Run the same test on the same page.
Write the result next to that app on your list. Keep going down the column.
Somewhere in there you'll find one or two apps that account for most of the drag. That's worth knowing, because those are the ones you check for leftover code first.
Back up your theme before you uninstall anything
Some apps hold things you can't get back. A review app owns the reviews your customers wrote. A subscription app owns the billing schedules your repeat customers are on. Uninstalling it can take that data with it, or leave it stranded somewhere you can't reach without support tickets and a week of waiting.
Others leave a hole in the page. If an app added a storefront block — a review widget on a product page, a booking form, a trust badge row — removing the app can break the section it sat in. Sometimes the page just loses a piece. Sometimes the whole section stops rendering.
So duplicate the theme first. In Shopify, go to Online Store, then Themes, hit the three dots next to your live theme and choose Duplicate. Name it with the date and what you're about to do. That copy sits there unpublished, unchanged, and if the storefront breaks you can publish it back in a few seconds.
Then check the app's own documentation before you remove it. Most will tell you whether data is exported, retained for a window, or deleted on uninstall. Export anything you'd miss.
Never uninstall blind on a live store.
Check the theme files for what the uninstall left behind
Shopify tells you the app is gone. The code it wrote into your theme is a separate question, and nobody checks it for you.
Open Online Store, then Themes, then Edit code on your live theme. Start with theme.liquid. That file loads on every page, and it's where most apps drop their script tags. Look near the closing </head> and `</body>" tags for blocks of JavaScript pointing at a domain you don't recognize, or at the app you just removed. Many apps leave a comment naming themselves right above their code, which makes this easier than it sounds.
Then look at the snippets folder. Apps often install a snippet and call it from a template. If the snippet is still there and still being rendered, your store is still loading it. Same for any leftover CSS file in assets that nothing uses anymore.
A few things to search for by name: the app's name, the vendor's name, and any custom class names the app used in your product or cart templates.
If you're not comfortable editing theme code, don't. Hand this to whoever built the site, or to a developer, with a list of the apps you removed and the date you removed them. It's an hour of work for someone who reads this code daily.
Some apps are easier to clean up than others
Newer apps use what Shopify calls app embeds and app blocks. These show up in the theme editor under App embeds, with a toggle next to each one. Turn the toggle off and the code stops loading. Uninstall the app and the block goes with it. Clean.
Older apps did it a different way. They wrote their code straight into your theme files, or they used a script tag that Shopify injects into every page on the storefront. Those third-party scripts don't always disappear when the app does. Sometimes the vendor removes them on uninstall. Sometimes nobody does.
You can tell which kind you're dealing with by opening the theme editor and looking at the App embeds panel. Anything listed there is the easy kind. Anything you can't find there, but that's clearly still running on your live store, is the other kind, and it needs someone in the code.
Apps built in the last few years usually behave. Apps you installed years ago and forgot about are the ones that leave a mess. Start your cleanup with the oldest ones.
Unused subscriptions cost you twice: billing and load time
Somebody signs up for a tool because there's a problem that week. The problem gets solved, or it goes away on its own, and the tool keeps billing. Nobody's job is to go back and take it out.
We see the same thing in trade offices. A scheduling tool from two years ago still charging a card. A phone system nobody moved off. Two apps that both send review requests, so customers get asked twice. Software gets added one decision at a time and removed almost never, because removing things is nobody's task and it feels risky.
Shopify apps just make the cost visible. You pay for the subscription and you pay again in page weight, because the leftover code keeps loading for every visitor.
Put a recurring reminder on the calendar — once a quarter is enough. Pull the list of what you're paying for, in the store and in the office, and ask who touched it this month. Cancel what nobody names.
Common questions about apps, images and a slow Shopify store
Why did my store get slow in the first place?
Four things, usually stacked. Apps loading their own scripts on every page. A theme that's been edited by more than one person. Product images uploaded straight off a phone at full size. And code from apps you already cancelled that nobody ever pulled out. Any one of them adds to load time. Together they're the reason a store that felt quick a year ago doesn't now.
What actually makes it faster?
The same order as above. List your apps, mark who uses each one in a normal week, back up the theme, uninstall the rest, then have someone read the theme files for what the uninstall left behind. Resize the images while you're in there, and turn on lazy loading for the ones below the fold so they wait until the customer scrolls. Then check your Core Web Vitals again, LCP, INP and CLS, so you know whether the work did anything.
Is Shopify still worth staying on?
Yes. The platform isn't what slowed you down. Apps nobody manages and a theme nobody cleans will slow down a store on any platform, and the fix is maintenance, not a migration.
If you'd rather have someone go through it with you, book a New Project Consultation.
Keep Reading
