A store your size runs fifteen to thirty apps and the owner names about eight. Here is which categories earn their place, and how to audit the rest.
- Most stores your size run more apps than the owner can name. The gap is usually apps installed for a test, a sale, or a theme feature that nobody removed.
- Email and SMS, reviews, subscriptions, returns, and operations apps usually earn their place because they do jobs Shopify does not do natively.
- The monthly fee is the smallest cost. Page speed, leftover theme code, overlapping apps, and data access cost more, and none of them appear on the invoice.
- Audit on a duplicate theme. List every app, give each one a job and an owner, measure speed, test removals, then uninstall and clean the theme code.
- After any removal, place a test order and confirm that one purchase event fires per order.
On this page
Ask a founder how many apps their store runs and the answer is usually eight or nine. On a store doing $1M to $5M a year, the list under Settings > Apps commonly runs between fifteen and thirty. The difference is apps someone installed for a test, a sale, or a theme feature, and never removed.
Each of those apps has a monthly fee you can see. This article covers the costs you cannot see, which categories are worth paying for anyway, and how to audit the whole list in a few hours.
Five app categories that earn their place
An app earns its place when it does a job Shopify does not do natively, and you would have to do that job by hand if the app disappeared. For most stores your size, five categories pass that test.
- Email and SMS. Klaviyo or a similar platform runs your flows and campaigns, which is the revenue you do not pay per click for. It needs the deepest integration of anything on the list, so it stays.
- Reviews. Reviews answer the question a shopper has right before they buy. A review app feeds them into your product pages, your emails, and your Google Shopping listings, so pick one and run everything through it.
- Subscriptions. If your product gets used up and reordered on a schedule, subscription billing needs an app, whether that is Shopify's own Subscriptions app or a third-party one.
- Returns and exchanges. A returns app turns refund requests into exchanges and store credit. It also gives you a record of why products come back, which is useful product feedback.
- Operations. Shipping, fulfillment, inventory, and accounting sync apps rarely touch the storefront. They cost you little in speed and replace hours of manual work each week.
Search and filtering earns a place once your catalog is large enough that shoppers use the search bar to find things. Below a few hundred SKUs, Shopify's free Search & Discovery app usually covers it.
Most of what sits outside these categories does a single job: a countdown timer, a sticky add-to-cart button, a row of trust badges, or a second popup alongside your Klaviyo form. Some of those are worth keeping. Each one should have to prove it.
The four costs that never show on the invoice
The monthly fee is the smallest cost of most apps. Four others show up somewhere else, usually in your conversion rate or your team's time.
Page speed
Any app that changes the storefront loads its own JavaScript, and much of it loads on every page whether that page uses the feature or not. A review widget that matters on product pages often loads on your homepage and cart too. One script makes little difference, but twenty of them add up, and the effect is largest on mobile.
Code that stays after you uninstall
Many older apps write into your theme files when you install them, adding snippets, script tags, and lines in theme.liquid. Uninstalling the app stops the billing, but that code often stays behind and keeps calling files that no longer exist.
Shopify's app embeds and app blocks reduce this, because they live outside your theme code and leave with the app. Older apps, and older installs of current apps, still leave residue.
Overlap and conflict
Two apps doing the same job is more common than it sounds. Two popups compete for the same visitor, or two apps both send a purchase event to Meta, so one order counts twice. A bundle app and a discount app stack in a way nobody approved. The symptom usually shows up in a report weeks later, and nobody connects it to the install.
Access to your data
Every app you approve gets the permissions it asked for at install, which often include customer names, emails, and order history. An installed app you stopped using two years ago still has that access. Fewer apps means fewer places your customer list lives.
How to audit your app stack
Set aside two to three hours. Duplicate your live theme first, from Online Store > Themes, so nothing you test touches the store your customers see.
- List every app. Go to Settings > Apps and write down every installed app in a sheet. Add each app's monthly charge from Settings > Billing, where View all subscriptions lists every paid app.
- Give each app one job and one owner. Next to each app, write the job it does in one sentence and the person who would notice if it stopped. An app with no job or no owner goes on the removal list.
- Mark which apps touch the storefront. Open the duplicate theme in the theme editor and click the App embeds icon in the left sidebar. Anything switched on there loads for shoppers.
- Measure a baseline. Run your homepage, a collection page, and your top product page through PageSpeed Insights, and record the mobile results. The web performance summary on Online Store > Themes shows how real visitors experienced speed, and its reports chart how app installs and theme changes moved those numbers.
- Test removals on the duplicate. Switch off the embeds for your removal candidates on the duplicate theme, preview it, and rerun the same three pages. The difference is what those apps cost you in speed.
- Uninstall, then clean up. Uninstall the apps that failed step 2 or step 5. Open Edit code on the theme and search for each app's name in the snippets folder and in theme.liquid, then remove what is left, one app at a time.
- Check tracking last. Place a test order and confirm in Meta Events Manager and Google Analytics that one purchase event fired for that order.
Repeat the audit twice a year. Going forward, add one rule: no app gets installed without a named job, an owner, and a date to review it.
When to keep an app that slows the store
Some apps cost speed and still earn their keep. Reviews and email signup forms usually fall here, because what they add to conversion outweighs what they cost in load time. The audit is about knowing the trade, not chasing a perfect speed score.
When an app is worth keeping but heavy, look for a lighter setup. Many apps let you load their script only on the templates where the feature appears, or offer an app block instead of a site-wide embed. Ask the app's support team which options they offer before you decide.
What to do this week
Open Settings > Apps and count. Before you change anything, write down every app with its job, its owner, and its monthly charge.
Pick the three apps you are least sure about and switch off their embeds on a duplicate theme. Run PageSpeed Insights before and after, and keep the results in the same sheet. Our guide to Shopify page speed covers what to fix once the app list is clean.
Then place one test order and confirm your purchase event fires once.
If you want a second set of eyes on the store, our free growth plan is a six-month plan we build from the outside, with no logins, and walk you through on a call. App audits are part of our web and CRO work. If your list includes a popup app running beside your Klaviyo form, How to Build a Klaviyo Welcome Flow is a good place to start consolidating.