Replace Shopify App With Custom Code: 5 to Cut
⏱ 12 min read
5 Shopify Apps You’re Probably Paying For but Don’t Need
You can replace a Shopify app with custom code far more often than you’d think, and each time you do, you drop a monthly fee, a bit of load time, and a small risk. The average store runs around six apps, and advanced operations thirty or more, so those small line items add up fast. The good news: Shopify now does some of these jobs natively, and others come down to a clean snippet you build once and forget. This is a cost-and-tech decision, not a sales pitch: five apps you can replace with custom code, and the honest line around which to keep.
What Your App Stack Really Costs
The visible numbers already matter: the median entry price is $9.99, the average app runs about $58 to $67 per month, and higher tiers closer to $100. A full DTC stack, per 2026 pricing benchmarks, runs $300 to $800 a month near $1M in revenue and $2,500 to $6,000 near $10M.
The invisible numbers are the real problem. Usage tiers, revenue-share cuts on subscription and review apps, paid connectors and the quiet overlap of several tools all add up. An analysis by App Store Research found that a stack showing $4,500 in visible subscriptions absorbs closer to $20,000 once everything is counted. “Zombie apps” hide in the dues-and-subscriptions line of the P&L.
Why Every App Also Costs Speed and Risk
Cost is only half of it. Almost every app loads its own JavaScript and CSS, often render-blocking and over third-party domains. Five small apps for badges, bars and tabs can together eat more load time than a large image, and load time is a direct conversion lever, as we cover in Shopify Core Web Vitals. Then there’s the uninstall risk: removing an app only revokes its access; it often leaves “ghost code” in the theme, old snippets and script tags that keep loading. How to find and clear that leftover is covered in our guide to cleaning up slow app code.
Replace the apps that only display something first, FAQ, bars, badges, tabs. They’re pure front-end elements that cost you monthly and can be built once as code. Back-end apps like reviews or subscriptions stay.
Audit First: Which Apps Does Your Store Actually Load?
Before you replace anything, check four sources:
- The Apps list in your admin: every installed app and the visible job it does.
- Your Shopify invoices: match every app charge, including usage fees, to a line on that list.
- The theme editor, App embeds: shows which apps inject code globally, even on pages that don’t need them.
- Browser developer tools: on a product page, filter the Network tab by scripts and sort by domain. A domain that belongs to no active app points to ghost code.
A “Shopify app detector” browser extension only sees what visibly loads on the storefront, not back-end apps without a script, so for your own store the admin list and the Network tab are more reliable. Heavy scripts often delay Largest Contentful Paint; how to get a Shopify LCP fix without a theme rebuild is covered separately.
1. FAQ and Accordion Apps
An FAQ app is the classic case: you pay monthly for collapsible text blocks. HTML does that natively, with no JavaScript at all, using the <details> element. Keep the content clean in a metafield so your team can edit it in the admin.
<details class="faq">
<summary>How long does shipping take?</summary>
<p>Standard shipping is 2 to 4 working days across the EU.</p>
</details>
A few lines of CSS give it the look you want. The result: no monthly fee, no extra script, full control over the markup.
2. Announcement Bars, Countdowns and Free-Shipping Bars
Announcement bars are already a section in many themes; you switch them on in the customiser. If there isn’t one, it’s a small section with a few lines of Liquid and CSS. A free-shipping progress bar simply compares the cart total against your threshold and can be built as a snippet too. With countdown timers, be honest: fake urgency that resets on every reload hurts trust more than it helps, and paying monthly for it rarely makes sense.
Liquid Code Example: A Free-Shipping Message Without an App
The core of a free-shipping message as a snippet (cart amounts are in the currency’s smallest unit, so 5000 means 50.00):
{%- assign threshold = 5000 -%}
{%- assign remaining = threshold | minus: cart.total_price -%}
<p class="free-shipping">
{%- if remaining > 0 -%}
You're {{ remaining | money }} away from free shipping.
{%- else -%}
You've unlocked free shipping.
{%- endif -%}
</p>
Three caveats. The snippet only shows the message: free shipping itself comes from the price-based rate in your shipping settings, so keep both thresholds in sync. Liquid renders on page load, so with an AJAX cart drawer the message only updates if the drawer re-renders that section; test it on the theme copy. And with several currencies through Shopify Markets, cart.total_price is in the customer’s local currency, so one fixed threshold won’t fit them all.
3. Product Tabs, Size Charts and Spec Tables
Tabs for “description”, “size” and “shipping”, plus specification tables, are another expensive classic for something metafields plus Liquid handle completely. You define structured fields per product, such as material, dimensions or care notes, and render them in the product section. The team edits values in the admin, the markup stays clean and fast, and you’re no longer tied to an app’s roadmap.
4. Trust Badges and Payment Icons
Paying a monthly app for a row of payment and “secure checkout” icons is hard to justify. It’s static markup: a few optimised SVGs or a small icon set in a snippet, placed near the buy button. Keep it honest, real payment logos and a clear returns policy build trust, generic “100%” seals barely do. No script, no subscription, instantly faster.
5. “Related Products” and Simple Recommendations
You rarely need to pay for a dedicated recommendations app. Shopify ships the free, native Search & Discovery app for filters, synonyms and recommendations, and the product-recommendations API surfaces “related products” straight in the theme. For most stores that fully replaces a paid recommendation app. Only high-volume, behaviour-based personalisation makes a specialist app worth it again.
Not sure which apps your theme can cleanly replace? A theme and app development review shows what code or native features can take over, and what’s better left as an app.
Bonus: What Shopify Now Does Natively (Free)
Some older app purchases are simply obsolete, because Shopify now includes the feature itself:
- Currencies and languages: Shopify Markets handles multilingual, multi-currency stores, replacing many currency-converter apps.
- Cookie banner: the Customer Privacy API and native consent banner cover consent management.
- Filters and search: Search & Discovery gives you faceted filters and better search with no extra app.
- Recommendations: native product recommendations instead of a paid recommendation engine.
- Product bundles: the free Shopify Bundles app, built by Shopify and available on all plans.
- Newsletter forms: Shopify Forms, also free and built by Shopify, for pop-up and inline sign-up forms.
Shopify Bundles: When the Free App Replaces a Paid Bundle App
According to the Shopify Help Center (as of October 2026), Shopify Bundles supports fixed bundles of up to 30 components, plus multipacks created from an existing product. A bundle can have up to 3 options and 100 variants in total.
Check its limits before you cancel your bundle app:
- The bundle price doesn’t follow component price changes.
- Inventory is tracked against overall stock, not per location.
- Orders show component SKUs, not a bundle SKU, so check your warehouse or ERP handles that.
Mix-and-match rules or your own checkout logic need Shopify Functions, not theme code; what changed after legacy Scripts is summed up in our checklist on Shopify Checkout Extensibility after Scripts.
When You Should Keep an App
Custom code isn’t an end in itself. Anything with a real back end, ongoing data handling or legal complexity is almost always better as an app. The honest dividing line is whether a feature only displays something or actually processes and stores data.
| Feature | Why it stays an app | Recommendation |
|---|---|---|
| Product reviews | Collection, moderation, email flows, photo uploads | Keep |
| Subscriptions | Recurring billing, tokens, compliance | Keep |
| Loyalty / points | Customer data, rules, redemption | Keep |
| Back-in-stock | Inventory triggers, notifications | Usually keep |
| Display-only (FAQ, badges, tabs) | Front-end only, no data processing | Replace |
How to Add Custom Code in Shopify: Which Route Fits Which Job
“Custom code” isn’t one tool, it’s four. The limits below come from Shopify’s documentation (as of October 2026):
| Route | What it does | Limit | Typically replaces |
|---|---|---|---|
| Custom CSS in the theme editor | Restyles a single section or the whole theme | 500 characters per section, 1,500 for the theme; no @import, not in checkout | Styling apps, small layout fixes |
| “Custom Liquid” section or block | Drops HTML plus limited Liquid into one spot | Max. 50 KB; no stylesheet, javascript or schema tags | One-off notices, badge rows, embeds |
| Your own section or snippet in the theme code | Full Liquid with a schema, editable in the customiser, data from metafields | Needs careful work on a theme copy | FAQ, tabs, size charts, free-shipping bar |
| Custom app | Back-end logic through the Admin API: process and store data | Hosting, maintenance, API versions; Functions in custom apps need Plus | Internal processes, integrations, special logic |
For the five display apps in this article, the third row is almost always the right one. You reach the Shopify code editor in the admin under Online Store → Themes, then the “⋯” menu of the theme copy → Edit code; new sections go in the sections folder, snippets in snippets. Once the work grows beyond a few snippets, Shopify theme development support keeps it in clean, named files. When we review an app stack as a Shopify agency, we pick the lightest route in this table that solves the job.
Can You Build Your Own Shopify App?
Yes, but it’s a different project from a snippet. Custom apps are created and managed in the Dev Dashboard (ones created in the admin before 1 January 2026 can still be managed in the admin). On top come hosting and the API versions Shopify releases every quarter. If you want to use Shopify Functions in a custom app, for example for discounts or checkout validation, you need Shopify Plus.
We’ve written up the trade-off of a custom Shopify app vs off-the-shelf in detail. Build one only for real back-end logic that no existing app covers cleanly.
How to Replace a Shopify App With Custom Code, Safely
Never experiment on the live theme. The safe order:
- Duplicate the theme and work only on the copy.
- Rebuild the feature as a section or snippet, with content in metafields.
- Test on mobile and desktop, including load time before and after.
- Publish the copy, then uninstall the app.
- Remove the ghost code: find and delete the app’s old snippets, asset files and script tags.
Step five is the one people forget, and it’s exactly where load time gets left behind. How to reliably find app leftovers is in our guide to cleaning up slow app code.
Does Custom Code Survive a Shopify Theme Update?
Usually, yes. According to the Shopify Help Center (as of October 2026), code edits are carried over into the updated theme as long as they don’t conflict with the update, and the theme card shows whether they were included. If not, you move them over yourself. To keep that risk small:
- Your own files, not core files: separately named sections and snippets conflict far less often than edits inside the theme’s standard files.
- Test the update as a draft: the updated theme lands in your draft themes; check your replaced features there and save a copy of your code first.
The Five Apps at a Glance
As a quick decision aid, what you replace with what, and the effort involved:
| App type | Replace with | Effort |
|---|---|---|
| FAQ / accordion | <details> + metafields | Low |
| Announcement / countdown / free-shipping bar | Theme section + Liquid | Low |
| Product tabs / size charts | Metafields + Liquid | Medium |
| Trust badges / payment icons | Static snippet (SVG) | Low |
| Related products / recommendations | Search & Discovery (native) | Low |
Conclusion
App or code is a business decision now, not just a technical one. Display-only apps are a standing rent for something a one-time snippet handles, plus the load time and ghost-code risk on top. Replace these five types, take what Shopify now gives you free, and deliberately keep everything with a real back end. Replace a Shopify app with custom code where it only displays something, and keep it where real data lives. The result is a leaner, faster store with an app bill you can explain again, while the apps that actually earn revenue stay in place.
Which apps in your store could code or a native feature take over?
Theme & App Development
We replace expensive display apps with clean, fast theme code.
Replace my apps →Understand Core Web Vitals
See how app scripts cap your load time and conversion.
Read the basics →Replacing Shopify Apps: Frequently Asked Questions
Display-only apps often cost $10 to $60 each per month, so replacing four or five can save a few hundred to a few thousand a year, plus the hidden usage and revenue-share costs. Custom code is a one-time build instead of a standing rent. The bigger the stack, the larger the recurring saving.
The safe ones are display-only: FAQ and accordions, announcement and free-shipping bars, product tabs and size charts, trust-badge rows, and basic related-products. They only render front-end elements, no data processing. Anything with a real back end, reviews, subscriptions, loyalty, back-in-stock, should stay an app.
Usually, yes. Most apps inject their own JavaScript and CSS, often render-blocking and from third-party domains. A few small display apps can together add more weight than a large image. Fewer scripts mean faster rendering, better Core Web Vitals, and typically better conversion on mobile, where most traffic is.
Uninstalling only revokes the app’s access. It frequently leaves ghost code behind, old snippets, asset files and script tags that keep loading and slowing the store. App embeds usually remove themselves, but manually pasted code does not. Always check the theme for leftovers after removing an app.
In most cases, yes. Shopify Markets handles multi-currency and multilingual storefronts natively, which replaces many paid currency-converter apps. Check that Markets covers your target countries and rounding rules first. For standard multi-currency selling, the native feature is usually enough and removes a monthly cost.
Yes. Search and Discovery is a free, Shopify-built app that adds faceted filters, search synonyms and product recommendations. For most stores it replaces a paid filtering or recommendations app entirely. Only high-volume, behaviour-based personalisation makes a specialist paid app worth keeping.
For simple snippets like a badge row or a details-based FAQ, a comfortable theme editor can manage it. For metafields, sections and safe migration, a developer avoids breaking things. The key is to work on a duplicated theme and test before publishing, whoever does the work.
Usually not. According to the Shopify Help Center (as of October 2026), code edits are carried over into the updated theme as long as they don’t conflict with the update, and the theme card shows whether they were included. If they conflict, you move them over yourself. The risk drops if you build features as your own sections, snippets and metafields instead of editing core files, and save a copy of your code first.
Usually no. Reviews need collection, moderation, email requests and photo uploads, which is real back-end work an app does well. You can restyle how reviews display with code, but keep the app that gathers and stores them. Reviews are a keep, not a replace.
Look at the dues-and-subscriptions line and match each charge to a feature you can point to on the live store. Anything you can’t find, or that only shows a bar, badge or tab, is a candidate. Also check for apps installed for a one-off task and never removed.
Yes. Shopify Bundles is a free app built by Shopify and available on all plans (as of October 2026). It covers fixed bundles of up to 30 components and multipacks. For mix-and-match rules or your own discount logic in checkout, you need a specialist app or Shopify Functions.
For your own store, the Apps list in the admin, your Shopify invoices and the App embeds area of the theme editor are the most reliable sources. The Network tab of your browser’s developer tools adds which third-party scripts load on a page. Browser extensions such as an app detector only spot apps that visibly load code on the storefront.
For small changes, use Custom CSS or a Custom Liquid section in the theme editor; both have size limits and suit one-off tweaks. For features you want to keep, duplicate the theme, open Online Store → Themes → ⋯ → Edit code, and add your own section or snippet there. Test on the copy before you publish it.