App or Theme Code? How to Decide on Shopify

4 min read

Đọc bằng tiếng Việt →

Almost every Shopify store ends up with a feature request that can be solved two ways: install an app, or change the theme. Both are legitimate. The trouble starts when the app store is the first and only stop. Here are a few questions that help you choose, plus habits that keep either path from becoming expensive later.

Why the choice matters

Shopify’s own help documentation names three main influences on storefront speed: the theme, installed apps, and third-party code such as tags and tag managers. It advises merchants to weigh whether each app adds enough value to offset what it costs in performance, and to remove apps that are not essential to sales. It also points out something many people miss: uninstalling an app does not always remove the code it left in your theme, so leftover snippets can keep loading after the app is gone.

Apps are not the villain, though. A well-built app can save weeks of work, handle edge cases you would never think of, and be maintained by someone else. The question is whether the feature is worth that trade for your store.

Five questions to ask first

  1. Is it already a setting? Modern themes expose a lot through the editor. Check theme settings, section settings and block options before anything else.
  2. Is it content rather than behaviour? Size charts, care guides, badges and specification lists are often better stored in metafields and shown through a section or block. Shopify’s theme guidelines suggest choosing standard metafields that suit your customers and displaying them through dedicated blocks. Merchants can then edit them without a developer.
  3. Does it need data or logic you cannot reproduce? Subscriptions, loyalty points, reviews with moderation, and complex shipping or inventory rules are good app territory. Writing and maintaining those yourself rarely pays off.
  4. Would it change what a customer sees on most pages? Features that load scripts everywhere deserve more scrutiny than ones that appear in one place.
  5. Who will maintain it in a year? An app has a vendor. Custom code has whoever is on call. Be honest about which of those you can count on.

If you choose an app

Look at how it attaches to your theme. Shopify’s developer guidance for app builders recommends theme app extensions, which avoid editing theme code and so reduce the risk of breakage, and app embed blocks, which let an app load its scripts only on the pages that need them. As a buyer’s checklist, that means preferring apps that appear as blocks or embeds in the editor over ones that ask you to paste snippets into theme files.

It also helps to know how Shopify judges apps in its own review process. For apps that affect the storefront, it compares the Lighthouse performance score before and after installation, using a weighted average across three page types: 17 percent for the home page, 40 percent for product pages and 43 percent for collection pages. You can borrow the method. Run the same three pages through PageSpeed Insights on mobile before installing an app, repeat afterwards with the app configured, and average several runs, since Lighthouse scores vary between attempts.

If you choose theme code

Custom code is not automatically faster or better. It has to be written carefully and it has to survive theme updates. A Shopify Growth Services article about customizing the Horizon theme describes a pattern that applies well beyond that one theme:

  • Put as much as possible into theme settings and metafields so merchants can adjust it without deployments.
  • Keep custom styles in their own stylesheet and use the variables the theme exposes, rather than editing vendor stylesheets.
  • When a section needs changes, copy it, give the copy a clear prefix, edit only the copy, and point your templates at it.
  • Keep an untouched copy of each vendor version in version control, with your changes on a separate branch, and record any unavoidable edits to vendor files so they can be reapplied.
  • Test on a duplicate theme, keep a rollback theme ready, and watch key funnels for a day or two after publishing.

The article’s authors sell implementation help and its time estimates are their own, so treat the numbers loosely; the structure is sound.

A simple rule of thumb

For small stores we would suggest this order: settings first, then metafields with a block, then a lightweight custom section, and finally an app when the feature needs real backend logic or ongoing maintenance you do not want to own. Whichever you pick, write down what you added and why, so a future you or a new developer can undo it cleanly.

If you need a hand deciding, or you want a feature built as a clean section rather than an extra script, our services page explains how to get in touch, and our themes are a possible starting point when a store’s current theme is the real obstacle.

Further reading

← All posts