Most Shopify stores ask them this question sooner rather than later. Do we install an app for this or build something custom? Apps get you moving fast, custom code gives you control. The right choice depends on what you are trying to achieve, how often it will change, and how critical it is to your revenue.
For deeper context on stack choices and budgeting, see our finished posts “Migrating to Shopify: a practical guide,” “How much does a website cost in Toronto? (2026),” and “5 trends we think will matter on the web in 2026.”
The quick answer matrix
Pick the row that sounds most like your situation.
Standard feature you can live with as-is → App
Prototype or short-term test → App
Core to your brand or conversion path → Custom
Requires tight UX or unique business logic → Custom
Needs to integrate across multiple systems → Custom or hybrid
You need it live this week and can adapt to the app → App
If two rows conflict, weigh revenue impact first, then timeline, then long-term maintenance.
When Shopify apps are the right call (performance-first)
Ships as a Theme App Extension or Shopify Function (not a global script dropped into theme.liquid).
Can be scoped per template so it loads only where needed.
Keeps JS lean (aim for ≤50–100 KB compressed and no blocking CSS).
Uninstalls cleanly with no leftover snippets or assets.
Solves a commodity problem you do not need to win on: subscriptions engine, returns portal, tax/VAT, fraud.
If the app misses, we would try to build it custom.
Good “app” fits
Ops-heavy features with evolving APIs (tax, shipping, fraud).
Back-office tools you won’t design around (RMA portals, label generation).
Short experiments where speed to learn beats perfect fit. I.e; product add-ons, upsells, bundles etc.
Cost and timeline reality check
Apps look cheap at the start but can get expensive as revenue and order volume grow, due to stacked licenses and usage-based fees (per order/email/SMS). Custom looks costly upfront but gets cheaper when you reuse it and keep control. Pick the time horizon that matters: if the feature will live 12 to 24 months and touches conversion, custom often wins. If you’re testing for about 90 days, an app usually wins.
Performance, UX, and future-proofing
Our 2026 web trends piece talks about speed and clarity. Each extra script adds weight. Many widgets load their own libraries, which hurts first paint and interaction. If the feature sits in your hero, PDP gallery, add-to-cart, or cart drawer, lean to custom so you can keep it fast and on-brand.
A simple scoring model
Give each item a score from 0 to 2, then add them up.
Revenue impact:
0 low, 1 medium, 2 high
UX uniqueness or perf sensitivity:
0 standard, 1 some tweaks, 2 highly custom or above-the-fold
Time pressure:
JS weight if using an app: 0 ≤50 KB, 1 50–100 KB, 2 >100 KB or multiple libraries
If the total is 6 or more with high revenue or high UX, lean custom.
If the total is 4 or less with tight deadlines and light JS, lean app.
If you land in the middle, go hybrid.
Sanity-check an app in 10 minutes
Set this up in a staging store or unpublished theme so production stays clean. Measure before-and-after numbers for LCP, INP, total JS, and requests on your key templates. Enable the app only on the templates that need it using App Blocks or Functions.
After testing, review the waterfall for extra domains and blocking assets, then uninstall and check for leftovers in theme files and assets. If the app requires editing theme.liquid or pulls in heavy libraries on every page, walk away. If it scopes cleanly, uninstalls clean, and publishes clear performance notes, it is a safe add.
A hybrid pattern that works
If possible, use Shopify Functions for the rules and calculations, build a custom front end for UX and speed, and keep an app only for admin UX or reporting.
Real examples we see
Gift-with-purchase for a seasonal promo
→ App for the short term, then remove
Custom bundle builder with live pricing and inventory rules
→ Custom or hybrid
Simple metafield badges on PDP
→ Custom, small and fast, no ongoing fee
SMS and email automation
→ App, proven tools integrate well and improve over time
Before you choose
Map the user flow from entry to checkout and mark where the feature sits. List the exact data you need to read and write. Estimate total cost of ownership at 12 and 24 months. If you are in a migration window, cross-check with “Migrating to Shopify: a practical guide” to avoid redirect and content surprises.
The takeaway
Use apps only when they are built the modern way and meet a hard performance budget. Use custom for the pieces that make you money and set you apart. If you are split, combine both and plan a clean path to swap components later.
If you want a second opinion on your setup, book a quick consult and we will give you an app-vs-build recommendation tied to your goals, timeline, and budget. We will reference the same approach you saw in our posts on Shopify migration, website costs, and 2026 trends, then give you the simplest plan that moves the needle.