Custom Shopify app or theme: which one do you need?
When a Shopify store should stay in the theme, and when you should build an app. A practical split before you commission the wrong thing.
Most requests for a store are a theme question, not an app question. A different product-page layout, a metafield that should show, a trail that should render as breadcrumbs. That belongs in the theme, or in a theme app extension. You build an app when the logic has to run without someone sitting in the editor: rules, sync, permissions, something that has to happen on every order.
Theme
Liquid, JSON templates, and sections. That is the right place for look, content, and anything a merchant should be able to move without a developer. It is the wrong place for secret business logic, for calls to your ERP, and for anything that must not disappear the day you change theme. We build both when they belong together, under Shopify stores.
Theme app extension
An app block or an app embed that you place in the theme. That is the right shape when the feature has to survive a theme change. Smart Breadcrumbs stores the path as a metafield and draws it with a theme block, so a new theme does not delete the navigation. Smart Product Accessories is the same pattern: the rules live in the app, the display is a block on the product template.
Private app
Build a private app when the workflow is yours. Prices from an ERP, orders that have to be split, a tool for customer service, a PIM or subscription integration that no public app covers cleanly. You pay to own the logic, and to stop paying five apps that each solve a fifth of it. That is how we approach Shopify app development.
Public app
An app in the Shopify App Store makes sense when many stores share the problem and you want to run it as a product. That is a different project from one merchant’s private tool: review, permissions, support, and a price that has to hold. It is not the shortcut to finishing a single store.
A short rule
- If it should be seen and moved in the theme editor, and the logic is simple: theme or app block.
- If it should happen on its own, talk to another system, or stay out of the theme: private app.
- If many other stores have the same need and you want to sell it: public app.
- If checkout has to change beyond what Shopify allows on your plan, say so before you design the solution. Checkout is where most projects underestimate the frame.
Hydrogen and a headless storefront are a frontend choice, not a way to skip apps. You get your own frontend and keep Shopify for catalog, checkout, and orders. Take it when the theme has become the ceiling. Not as the starting point.
Short answers
- Is an app always more expensive than a theme?
- To build, usually yes. To own for two years, not always. Five app subscriptions and a theme that can no longer be updated overtake a small private app.
- Can business logic live in the theme to avoid an app?
- Only logic you can afford to lose at the next theme change, and that does not need secrets. API keys do not belong in Liquid.
- When is a public app enough?
- When it solves the job without you bending operations around it. If you still need a developer to glue three apps together, you are building the app you were trying to avoid.
More guides
Want us to look at your store?
Tell us what you sell and where it stalls. We’ll say whether it is a theme, an app, or a move.
Get in touch