Innovatrix Infotech
Shopify Theme Customization: When to Use Apps vs Custom Code cover
Shopify

Shopify Theme Customization: When to Use Apps vs Custom Code

You're paying ₹6,000/month in Shopify app subscriptions when half those features could be built once for a fraction of the cost. Here's a practical framework for deciding when to use apps and when custom Liquid code is the smarter move.

Rishabh Sethia23 February 202612 min read
#shopify#customization#theme#apps#custom-code#liquid#development#cost#performance

You need a size chart on your product pages. Do you install an app (₹500/month forever) or pay a developer ₹5,000 once for custom Liquid code? This decision, multiplied across 15–20 features, is the difference between a ₹6,000/month app bill and a lean, fast store.

Most Shopify store owners don't think about this until their monthly app bill crosses ₹10,000. By then, they're locked into a dozen apps, their store loads in 6+ seconds, and they're bleeding money on features that could have been built natively.

Let's fix that.

The App Bloat Problem

Every Shopify app you install adds JavaScript to your storefront. Some add a lot. Here's what happens when you stack 10–15 apps on a single store:

  • Load time increases by 2–5 seconds. Each app injects its own scripts, stylesheets, and sometimes iframes. Your theme might load in 1.8 seconds on its own, but with 12 apps, you're looking at 4–6 seconds.
  • Monthly costs compound. That "just ₹300/month" app doesn't feel like much until you have 15 of them. Suddenly you're spending ₹4,500–₹8,000/month on apps alone — more than your Shopify plan.
  • Conflicts and bugs. Apps modify your theme's DOM. Two apps targeting the same page element will break each other. Debugging this is a nightmare.
  • You lose control. App developers can change pricing, discontinue features, or shut down entirely. Your store's functionality depends on third parties you don't control.

This isn't hypothetical. We've audited stores spending ₹12,000/month on apps where 60% of the functionality could have been replaced with one-time custom code costing ₹30,000 total.

When Apps Make Sense

Apps aren't the enemy. For certain use cases, they're the right choice.

Install an app when:

  • The functionality is complex and evolving. Email marketing (Klaviyo), reviews with photo/video UGC (Judge.me), subscription management (Recharge) — these are entire products. Building equivalent functionality from scratch would cost lakhs and require ongoing maintenance.
  • You need it yesterday. Launching a flash sale tomorrow and need a countdown timer with inventory urgency? Install an app. Speed matters more than optimization when revenue is on the line.
  • The app handles compliance or security. Cookie consent, GDPR compliance, tax calculation — these involve legal requirements that change. Let specialists handle them.
  • It integrates with external services. Shipping calculators that pull real-time rates from carriers, accounting sync with Tally or Zoho — these need maintained API connections.
  • The app is free or nearly free. If a well-maintained free app solves your problem without performance impact, use it.

When Custom Code Wins

Custom Liquid code (or theme modifications) should be your default for anything that's:

  • Simple and static. Size charts, trust badges, custom announcement bars, FAQ accordions, additional product tabs — these are HTML/CSS with minimal logic. An app is overkill.
  • Performance-critical. Anything that loads on every page (header modifications, custom navigation, footer content) should be native code, not app-injected scripts.
  • A one-time implementation. If the feature won't change often, build it once. No monthly fees, no external dependencies.
  • Core to your brand. Custom product page layouts, unique collection filters, branded checkout messaging — these define your store. They should live in your theme, not in an app that 10,000 other stores also use.

The Hybrid Approach

The smartest Shopify stores use both — strategically. The framework is simple:

  1. List every feature your store needs beyond the base theme.
  2. Categorize each as "complex/evolving" or "simple/static."
  3. Use apps for complex, evolving features that would cost more to build and maintain than the subscription.
  4. Use custom code for simple, static features where a one-time build saves money within 3–6 months.
  5. Review quarterly. Some apps you installed early on may now have native theme equivalents. Some custom code may need upgrading to an app as your needs grow.

Performance Impact: Apps vs Custom Code

We tested a store with 14 apps installed, then replaced 8 of them with custom Liquid code. Here's what changed:

Metric With 14 Apps After Replacing 8 with Code Improvement
Page load time (mobile) 5.8s 2.4s 59% faster
Total page weight 4.2 MB 1.8 MB 57% lighter
JavaScript requests 38 14 63% fewer
Lighthouse Performance 34 78 +44 points
Time to Interactive 8.1s 3.2s 60% faster
First Contentful Paint 3.4s 1.6s 53% faster

That's not a marginal improvement. That's the difference between a store that converts and one that loses visitors before the page finishes loading. Google's data says 53% of mobile visitors leave if a page takes longer than 3 seconds to load. A 5.8-second load time means you're losing more than half your traffic before they see a single product.

Cost Comparison: 12-Month View

Here's what the numbers look like for common customizations over a year:

Feature App Cost (₹/month) App Cost (12 months) Custom Code (One-Time) Break-Even
Size chart ₹400 ₹4,800 ₹3,000 Month 8
Trust badges ₹300 ₹3,600 ₹2,000 Month 7
Announcement bar (advanced) ₹500 ₹6,000 ₹4,000 Month 8
FAQ accordion ₹350 ₹4,200 ₹2,500 Month 8
Product tabs ₹400 ₹4,800 ₹3,500 Month 9
Custom popup ₹600 ₹7,200 ₹5,000 Month 9
Wishlist (basic) ₹500 ₹6,000 ₹8,000 Month 16
Reviews (basic) ₹400 ₹4,800 ₹12,000 Month 30
Total (all 8) ₹3,450 ₹41,400 ₹40,000

For the first six features — size chart through custom popup — custom code pays for itself within 9 months. For wishlists and reviews, the app is cheaper unless you're planning to run the store for 2+ years without changing providers.

The sweet spot: replace simple apps with custom code, keep complex apps as subscriptions. In this example, replacing just the first 6 saves ₹19,400 in the first year and ₹28,600 every year after.

Common Shopify Customizations: App vs Code

Here's a practical decision for the 12 most common store customizations:

Customization Recommendation Why
Size chart Custom code Static content, simple implementation
Trust badges Custom code HTML/CSS only, no logic needed
Announcement bar Custom code Unless you need A/B testing or scheduling
FAQ page/accordion Custom code Basic HTML/JS, no ongoing changes
Product tabs Custom code Theme modification, one-time setup
Exit-intent popup Depends Simple popup = code. Smart triggers/A/B testing = app
Wishlist App Needs user accounts, persistence, email triggers
Product reviews App UGC management, photo moderation, email requests
Upsell/cross-sell App Needs AI recommendations, A/B testing, analytics
Email marketing App Entire platform, not a theme feature
Subscription/recurring App Payment processing, customer portal, dunning
Live chat App Real-time infrastructure, agent dashboard

How to Evaluate a Shopify App Before Installing

Before you click "Add app," run through this checklist:

  1. Check the JavaScript payload. Use Chrome DevTools (Network tab) on a demo store or the app's own website. If the app adds more than 100KB of JavaScript, think twice.
  2. Read the 1-star reviews. Not to find problems — every app has some — but to see how the developer responds. Slow or dismissive responses = avoid.
  3. Look at the update history. An app last updated 6+ months ago on a platform that changes quarterly is a risk.
  4. Test on PageSpeed Insights before and after. Install the app on a dev store, run Lighthouse, compare scores. If it drops more than 5 points, that's a red flag.
  5. Calculate the 2-year cost. ₹500/month feels small. ₹12,000 over two years feels different. Compare against a one-time custom build.
  6. Check for theme conflicts. Does the app modify your theme files directly? If yes, updating your theme later could break the app.
  7. Verify the uninstall process. Some apps leave code snippets in your theme even after uninstall. Check their docs for cleanup instructions.

Finding a Good Shopify Developer

If you're going the custom code route, the developer matters more than the code.

What to look for:

  • Liquid expertise specifically. A great React developer who's never touched Shopify will struggle. Liquid is its own templating language with specific patterns.
  • Theme architecture knowledge. They should understand sections, blocks, schema settings, and the Online Store 2.0 structure.
  • Performance awareness. Ask how they'd minimize render-blocking resources. If they can't answer clearly, keep looking.
  • A portfolio of Shopify work. Not just "web development" — actual Shopify stores they've built or customized.

Red flags:

  • They want to install an app instead of writing code (for simple features).
  • They can't explain the difference between theme.liquid and a section file.
  • They quote a timeline before understanding the requirement.
  • They don't mention testing on mobile.
  • They can't provide a staging/dev store for review before pushing live.

Liquid Basics: What Non-Developers Should Know

You don't need to become a developer, but understanding Liquid at a conceptual level helps you make better decisions and evaluate proposals.

Liquid is Shopify's templating language. It lets you insert dynamic data (product names, prices, variant options) into HTML templates.

Three things it does:

  • Objects pull data: {{ product.title }} displays the product name.
  • Tags add logic: {% if product.available %} shows content only if in stock.
  • Filters transform data: {{ product.price | money }} formats the price with currency.

Every Shopify theme is built with Liquid files (.liquid extension). When a developer says they'll "add custom Liquid," they mean they'll edit or create these template files to add your feature directly into the theme — no external app, no extra JavaScript, no monthly fee.

The key insight: most simple customizations are just Liquid + CSS. A size chart is a Liquid snippet that renders an HTML table with CSS styling. A trust badge section is an image and text in a Liquid section with theme editor settings. These aren't complex engineering tasks.

Migration: Replacing Apps with Custom Code

If you're already running a store with too many apps, here's how to clean house without breaking anything:

Step 1: Audit your current apps. Go to Settings > Apps and sales channels. List every app, its monthly cost, and what it does. Be specific — "adds size chart to product pages" not just "size chart."

Step 2: Categorize each app. Mark each as "keep" (complex, evolving, worth the subscription) or "replace" (simple, static, could be custom code).

Step 3: Prioritize by cost and simplicity. Start with the easiest, most expensive apps to replace. A ₹500/month trust badge app that's just displaying images is a quick win.

Step 4: Build replacements on a development theme. Never modify your live theme directly. Duplicate it, build the custom replacements, and test thoroughly.

Step 5: Test everything. Check on mobile, tablet, and desktop. Test across browsers. Verify that the custom code works with your other apps (the ones you're keeping).

Step 6: Deploy and uninstall. Publish the updated theme, verify everything works on production, then uninstall the replaced apps one at a time. Wait 24 hours between each uninstall to catch issues.

Step 7: Clean up leftover code. Many apps inject code into your theme files during installation. After uninstalling, check theme.liquid, product.liquid, and other templates for orphaned app snippets. Remove them.

Step 8: Run a final performance test. Compare your Lighthouse scores before and after the migration. Document the improvement — it's satisfying, and it justifies the investment.

FAQ

Will custom code break when Shopify updates my theme? It depends on how it's built. Code written as standalone sections and snippets (the correct approach) survives theme updates. Code that modifies core theme files may need adjustment. A good developer builds for durability.

Can I edit custom Liquid code myself? Simple changes like updating text, swapping images, or adjusting colors — yes, if the developer builds it with theme editor settings. Complex logic changes will need a developer.

How do I know if an app is slowing down my store? Install the app on a test/dev store and run Google PageSpeed Insights before and after. Or use Chrome DevTools' Network tab to see exactly what scripts the app loads and how long they take.

Is it worth replacing a ₹200/month app? Do the math. If custom code costs ₹3,000, you'll break even in 15 months. If you plan to run the store for 2+ years, yes. If you might close or pivot in 6 months, keep the app.

What about Shopify's built-in features? Shopify keeps adding native functionality (metafields, sections everywhere, built-in markets). Before installing an app or commissioning custom code, check if Shopify already does it. Many store owners are paying for apps that duplicate features Shopify added in recent updates.

Can apps and custom code coexist? Absolutely. The hybrid approach is ideal. Use apps for complex features and custom code for simple ones. Just ensure your developer tests compatibility with your installed apps.

How long does it take to replace an app with custom code? Simple features (size chart, trust badges, FAQ): 1–2 days. Medium complexity (custom product page layout, advanced filtering): 3–5 days. The timeline depends on the feature, not the developer's speed.

Should I replace all my apps at once? No. Migrate one at a time, test thoroughly between each replacement, and keep your old app active until you've verified the custom code works perfectly. Rushing this process causes preventable downtime.


Want to audit your Shopify apps and identify what can be replaced with custom code? We'll analyze your store's performance and create an optimization plan. Get your free store audit

Get started

Ready to talk about your project?

Whether you have a clear brief or an idea on a napkin, we'd love to hear from you. Most projects start with a 30-minute call — no pressure, no sales pitch.

No upfront commitmentResponse within 24 hoursFixed-price quotes