Updated September 2026
One of the questions we hear most from merchants is some version of this: "Should I install an app for this, or have someone build it custom?" The follow-up is usually "and which one is better?"
Our answer is usually "both, and sometimes something in the middle." Apps and custom code solve different problems, and there's a third option most merchants don't know about. Well-run stores use all three, in different places. The useful question isn't which to pick, but how to tell which one fits which job.
We publish more than twenty apps on the Shopify App Store, and we also build custom features for stores that need something specific, so we see this trade-off from both sides.
Start with what Shopify already does
Before either option, check whether Shopify handles it natively. This comes up constantly: merchants ask for custom work to solve something Shopify does out of the box, but they haven't set it up yet. A few examples:
- Workflows like tagging orders, flagging risky ones or alerting staff when stock runs low are usually a job for Shopify Flow, Shopify's free automation app on the Basic, Grow, Advanced and Plus plans.
- Small bits of custom markup can often go into a Custom Liquid section or block in the theme editor, if your theme has one, without editing the theme's files.
- Wholesale pricing and quantity rules are built in: since April 2026, B2B features are available on every plan, not just Plus.
Free and native beats both an app and custom code, because Shopify maintains it for you.
When an app is the right call
Apps make sense when the feature needs ongoing maintenance: anything that connects to outside services, depends on Shopify APIs that change regularly, or needs updates as the platform moves.
The obvious category is anything touching checkout or the buy flow. Shopify changes checkout often, and it has steadily closed off the old ways of customizing it; script tags on the Thank you and Order status pages, for example, have stopped running. Apps built on Shopify's current extension points are updated by their developer. Theme hacks aren't. The same goes for integrations with email marketing, reviews, shipping carriers and analytics: the app developer keeps up with the other service so you don't have to.
Apps also make sense when the feature needs a settings screen, permissions or its own data. If that's what you're building, you're building an app anyway.
And apps win for things that are genuinely hard to build: subscriptions, bundles, multi-location inventory. An established app has already met the edge cases you haven't run into yet, and it keeps getting fixes. Custom code works on day 500 exactly as it did on day one, which sounds fine until you notice the platform has moved on without it.
When custom code is the right call
Custom code wins for things that are visual, specific to your store, or short-lived.
Visual and layout changes are the clearest case. Changing how prices display, moving a button or adding a section to the homepage is theme work. A few lines of CSS or Liquid are lighter than an app that loads its own scripts for a design tweak. We don't deliberate much here: design changes go in the theme.
Workflows unique to your business are the second case, once you've checked Flow can't do it. When the requirement only makes sense for your store, custom code is usually cleaner than bending an app into something it wasn't designed for.
Replacing an app with custom code is the third. If an app runs on every page to do one small thing on one page, a few lines of Liquid that do that one thing can let you uninstall it, which saves money and speeds up the store at the same time.
The cost of custom code is maintenance. It doesn't update itself. Edits to theme files have to be carried over when you update or change your theme, and nobody is watching for the day Shopify changes something underneath it. That cost shows up gradually, not on day one. What maintenance actually costs is worth reading before you commission anything.
How we decide
When a merchant asks us to build something, we check in this order:
- Does Shopify do it natively? If yes, we set it up.
- Is it a visual change? Then it's theme code.
- Does a good app already exist? If yes, that's almost always the answer, even when it isn't one of ours.
- Does an app get most of the way? Many apps have settings, APIs or hooks you can build on. Extending one is often cheaper than replacing it.
- Only then, custom. And we plan who will maintain it before we write a line.
The middle option most people don't know about
The third option: a custom app built for your store, but maintained the way a public app is.
The situation comes up all the time. An app covers most of what you need, but there's one behavior that only makes sense for your store: how discounts work for wholesale customers, say, or a fulfillment rule that depends on data the standard app doesn't read. The usual advice is to live with it or have a developer drop code into your theme.
We go a different way. We build a dedicated app for the store and host it ourselves. Shopify API changes, security updates, theme compatibility and performance work are handled the same way we handle them for our public apps. That's our custom apps service. You get exactly the feature you need, without inheriting the maintenance problem that comes with custom theme code.
Most development shops build custom code and hand it over, which means the next time Shopify changes something fundamental, you're calling someone to find out what broke. If we build it, we maintain it.
The most common mistake
It isn't installing too many apps or writing too much code. It's losing track of what's already in the store.
Merchants install an app to try it, decide against it, and uninstall it or forget it's there. Shopify's own help centre warns that some apps add code to your theme that isn't removed automatically when you uninstall them. Apps built with Shopify's theme app extensions are the exception, because they don't edit your theme's code in the first place. Over time the leftovers add up to real overhead, and the store feels slow even though "we don't have that many apps."
So before adding anything new, audit what you have:
- Check Online Store → Themes → Customize → App embeds for embeds from apps you no longer use.
- Before uninstalling an app, read its listing or ask its developer whether there's a clean-up step.
- If you've uninstalled apps over the years, have someone search the theme code for their leftover snippets.
Removing the forgotten stuff usually does more for speed than whatever optimization you were planning. We explain the mechanics in why a Shopify app slows down your store, and it's near the top of what we find in most store audits.
What a healthy setup looks like
There's no magic number of apps. A healthy store has the apps it actually uses, each doing a job nothing native covers, plus a small layer of theme changes that make it feel like yours. The trouble starts at either extreme: dozens of overlapping apps and slow pages, or everything custom-coded and a maintenance bill that arrives the day Shopify changes something.
The middle isn't a formula. It's the result of someone reviewing the stack every so often instead of only adding to it. If you'd like that done for you, our store audit includes an app and code review, and if you need something built, from a small tweak to a custom app we maintain for you, talk to us.