← Blog/E-commerce··9 min read

Stop Adding Shopify Apps: The $4M Brand Tipping Point

Real Shopify Plus app bills hit $3,800 AUD/month at $4M revenue. The 4 apps you should have built into code months ago, and how to decide which.

G
Written by
Graham Sissons · Founder, Pryce Digital

There is a quiet failure mode that catches up with Australian Shopify brands somewhere between $3M and $6M AUD in annual revenue. It does not look like a failure mode. It looks like the brand is growing — adding capabilities, adding integrations, adding the third reviews app because the second one was almost what they needed. By the time anyone notices, the app stack has 22 paid subscriptions, the monthly subscription line is $3,200 AUD, three of the apps duplicate each other's features, and the brand's storefront feels like it was built by a committee that never met.

This post is about that moment. Specifically about the decision a founder faces when their team comes to them and says "we need an app for X." The answer is sometimes yes. It is also, by the time you are looking at app number 11, sometimes "we need to think about this differently."

My opinion: the median Shopify brand at $4M AUD is paying for at least four apps they should have built into a custom feature six months ago. The decision is not "Shopify vs custom" — it is which features deserve to be code you own.

What the app stack actually costs

Let me ground this in numbers because the actual bill is usually a surprise.

The average paid Shopify app on a higher-tier plan is around $102 USD/month. A median Plus store runs 15 to 25 paid apps. That gives you a baseline of $1,500 to $2,500 USD/month — $2,300 to $3,800 AUD — in app subscriptions, before processing fees, before platform fees, before agency retainer.

Annualised, the median Plus brand pays $28,000 to $46,000 AUD just for apps.

Let me make that more concrete with a realistic stack for a $4M AUD DTC brand:

  • Klaviyo email/SMS: $200 to $720/month depending on list size
  • Recharge subscriptions: $499/month + 1.34% + $0.19 per transaction for the Pro plan
  • Yotpo reviews: $79 to $399/month
  • Loop returns: $29 to $599/month
  • Gorgias support: $50 to $400/month
  • Klevu or Searchanise search: $99 to $499/month
  • Rebuy upsells: $99 to $749/month
  • Postscript SMS marketing: $100 to $500/month
  • Stamped loyalty: $59 to $599/month
  • Locksmith or Tapcart for B2B/mobile: $200 to $400/month
  • Shogun or PageFly page builder: $39 to $499/month
  • Judge.me reviews (because Yotpo doesn't do the thing): $15 to $99/month

That is twelve apps. The realistic median monthly spend for that stack: around $2,800 AUD/month, or $33,600/year. Most brands have more apps than this and pay more.

Why each individual app feels worth it

I want to make the case for the app store before I make the case against it, because the apps are individually rational.

Each Shopify app exists because some merchant had a problem and someone built a solution. Klaviyo is the best email platform in DTC. Recharge is the most mature subscription engine on the platform. Yotpo's UGC integration is genuinely good. Gorgias is faster to set up than a custom support stack.

When you face the decision to install one of these, the math looks easy: $99/month for a feature that would take six weeks to build. That math is correct for the individual app. The trap is that the same math runs every time you add an app, and the apps compound.

The compounding problem

Here is what no individual app's marketing page tells you.

App stacks have a non-linear maintenance cost

Eight apps that each work fine on their own do not equal eight apps that work fine together. App A's checkout extension fights App B's loyalty integration. App C's analytics events double-fire because App D was already firing them. App E's webhook fails silently because App F now owns the order webhook. The total maintenance cost grows faster than the number of apps.

By the time a brand has 15 apps, there is usually one quietly broken integration nobody has noticed for three months. By 25 apps, there are several.

Apps do not have shared data models

Klaviyo, Recharge, Yotpo, Gorgias each have their own concept of "customer", "order", and "subscription". They sync from Shopify but they do not sync with each other consistently. A customer who unsubscribes in Klaviyo might still be active in Postscript. A subscription paused in Recharge might still show as active in your loyalty app. The work of keeping these data models reconciled becomes a real engineering task.

Apps lock your roadmap

If you want to change something in the customer experience — say, add a "skip the next charge" button to subscription emails — and that feature touches three different apps, you do not have a roadmap, you have a coordination problem. Each app vendor has its own release cycle. None of them prioritise your feature.

On a custom codebase, the same change is a small ticket. You ship it on Friday.

App pricing scales with you in ways the marketing pages hide

Klaviyo's pricing changed in early 2025 — they now bill based on total active profiles, not just contacted profiles. A brand with 50,000 subscribed but barely-emailed contacts went from paying for engagement to paying for storage. Recharge's transaction fees scale with order count. Postscript's SMS pricing scales with sends. The app stack's annual cost grows with your business, faster than your business grows.

A brand doing $2M paying $1,400/month in apps will be paying $4,500/month by $8M. That is $54,000/year on apps alone, before processing.

When to build instead of buy

Here is the rule I use.

Build when the feature is core to your brand experience

Anything a customer sees during purchase or first product use is your brand. If the upsell logic on your cart is one of fifteen other Shopify brands' upsell logic from the same Rebuy install, you are not differentiated. Differentiation is a tax you pay in engineering time and recoup in conversion.

Build when you are paying more than $300/month for a single app

There is no hard rule, but anything north of $3,600 AUD/year for a single piece of functionality is a candidate for a build. Build cost is usually 2 to 4 times the annual subscription, with the saving compounding every year after.

Build when three apps overlap and you only need part of each

This is the most common driver. You have a reviews app, a UGC app, and a Q&A app. You use 40% of each. The right answer is usually one custom reviews component that does the 40% from each, owns the data, and costs nothing per month after the build.

Build when integration debt has become a tax

If your team spends a measurable percentage of every week reconciling data between apps, you have already built a custom integration layer — just one made of duct tape and webhooks instead of code.

When to keep buying

For balance — when apps are the right answer.

When the feature is genuinely commoditised

Email/SMS is commoditised. Klaviyo's product is better than what you would build in 18 months of engineering, and your customers do not buy from you because of your email infrastructure. Keep Klaviyo.

Reviews infrastructure is partially commoditised. The collection flow and the rich snippets matter. The display matters less. A hybrid where you collect through a SaaS and display through custom code is often the right answer.

Payment processing is commoditised but the checkout wrapping it is not. Use Stripe directly, build the wrapping yourself.

When the feature is genuinely outside your competency

If you do not have engineers, do not build. The custom feature you cannot maintain is worse than the SaaS feature you can configure.

When the regulatory burden is high

Australian Privacy Act reforms taking effect in 2026 are increasing the compliance load on data processing. A SaaS vendor with a clear data processing addendum is sometimes easier than owning the compliance work yourself, particularly for analytics and email categories.

The 11th-app test

Here is the practical test for the next time your team says "we need an app for X."

Before installing, ask:

  1. What is the annual cost of this app at your projected size in 12 months?
  2. Are there features in your current stack that overlap with this app's functionality?
  3. If you built this feature into your codebase, what would the build cost be?
  4. What is the compounded saving over three years if you build instead of buy?
  5. Is this feature differentiated for your brand, or commoditised?

If the annual cost is over $4,000 AUD, there is overlap with existing apps, the build cost is under three years of subscription, and the feature is differentiated — build it.

If any of those conditions do not apply, install the app and move on.

The pattern that breaks brands

The failure mode is not any individual app. It is the compounding effect of consistently choosing "buy" when the right answer was "build", because each individual decision looked rational and the cumulative cost was invisible.

A brand that has done this for two years usually has:

  • An app subscription line above $3,000 AUD/month
  • Three apps with overlapping functionality
  • One integration that is silently broken
  • A customer experience that feels generic because it is composed of the same building blocks every other brand on Plus uses
  • A migration cost to a custom build that is now significant because the surface area is enormous

The brand that has not done this has:

  • A smaller app stack with clear ownership of each app
  • A growing custom codebase that captures the brand's specific way of selling
  • Lower marginal cost as revenue grows
  • A storefront that looks and behaves like the brand, not like a Shopify template with apps bolted on

The first brand is the median. The second brand is the one whose competitors are buying its customers because the storefront is more memorable.

The honest bottom line

App stacks are the slowly-boiling water in a Shopify brand's growth. Each app is rational. The accumulated stack rarely is. Somewhere between $3M and $8M AUD, the math flips from "buy is cheaper" to "build is cheaper", and most brands do not notice until they have shipped past it.

The fix is not to leave Shopify. It is to be more selective about what you let into the stack, and more deliberate about what you decide to own.

A useful place to start before auditing the stack itself: run a free audit on your storefront. The report shows you what the accumulated app load is doing to mobile performance — every script tag, every render-blocking call, every Core Web Vital that's slipped. You'll see in plain English which apps are costing you not just $49 a month, but conversions on every product page they touch.

END OF POST

Want this for your business?

Get a free instant audit of your current site, or book a 20-minute call to talk through what you're building. No sales pitch.

Free auditBook a call
Or email studio@prycedigital.com
Keep reading
Stripe Billing vs Recharge: Real Cost Breakdown 2026E-commerceHeadless Commerce: The Real Guide for Non-EngineersE-commerceWhy Wineries Need a 4-in-1 Site: Cellar, Club, Shop (2026)E-commerce
Explore our services
Custom Web Design Melbourne — hand-coded sites built from scratchWebsite Development for Small Business — the full breakdownWeb Design Melbourne — why local matters
← Back to blog indexFree audit