Korant

Replacing five Shopify apps with one

What the numbers say

  1. 01

    5 apps produce 10 possible pairings and 1 app produces none, so failure surface falls faster than app count does.

    Derived: n(n-1)/2 pairings across n apps.

  2. 02

    Cutting a stack from eleven apps to seven removes 34 of 55 pairings, a 62% reduction from a 36% cut in app count.

    Derived: 55 pairings across eleven apps against 21 across seven.

  3. 03

    Five rewards apps at ₹12,500 a month replaced by one at ₹4,000 returns ₹1,02,000 over a year.

    Derived: ₹8,500 monthly saving across twelve months.

  4. 04

    Five apps shipping 360 kB of JavaScript across four third-party origins model to between 500ms and 960ms of added delay.

    Modelled on stated assumptions: 1ms of main-thread time per kB, 150ms per new third-party origin, upper bound assuming no overlap.

  5. 05

    Removing 5 apps properly, 1 every 14 days, takes 10 weeks.

    Derived: five cancellations at 14 days apart.

Eleven apps, four of them issuing a balance

Take a composite of three stores we have watched reach the same afternoon. Eleven paid apps on the bill, and when somebody finally lists what each one does, four of them turn out to issue a number a customer can spend later.

A referral app gives out credit. A loyalty app gives out points. A store credit app gives out store credit, and a cashback app gives out cashback.

Four vocabularies, one mechanic. Each holds a balance against a customer and each applies a discount at checkout when that balance is spent.

They also disagree. A customer with points and credit and referral coins can rarely use all three on one order, because Shopify applies the better product discount and discards the rest, and no app involved reports a problem.

The case for consolidation is usually made on cost, which is the weakest of the three arguments. The strongest one is that four apps sharing a mechanic will contradict each other in front of a customer eventually.

The three costs, and only one of them is linear

Fees scale linearly. Five apps at ₹2,500 cost five times one app at ₹2,500, and there is nothing more to say about it.

Page weight scales with origins rather than with apps. Five apps delivered as app blocks from Shopify’s CDN cost far less than two apps delivered as script tags from their own domains, because a connection handshake dominates a small payload.

Failure surface scales quadratically, which is where the real money is. The number of ways apps can interact is n(n-1)/2, so five apps have ten possible pairings and eleven apps have fifty-five.

That formula is why cutting four apps from eleven feels disproportionate when it works. Eleven to seven is a 36% cut in app count and a 62% cut in pairings, from 55 down to 21.

Not every pairing is a live conflict, and the ones that are do not announce themselves. The catalogue of which categories collide, and how, is in the Shopify apps that quietly break each other.

What five apps cost against one

The rewards cluster from the composite store above, with fees and modelled page weight.

AppFeeDeliveryJavaScriptModelled delay
Referral₹4,000Script tag90 kB240ms
Loyalty points₹3,500Script tag120 kB270ms
Store credit₹2,000App block40 kB40ms
Cashback wallet₹1,800Script tag60 kB210ms
Share widget₹1,200Script tag50 kB200ms
Five apps₹12,5004 origins360 kB500ms to 960ms
One app₹4,000Function and app block30 kB30ms
Saved₹8,500330 kB470ms to 930ms

Assumptions: 1ms of main-thread time per kilobyte of JavaScript on a mid-range Android handset, and 150ms to open a connection to each new third-party origin. Main-thread time accumulates, connection costs partly overlap, so treat the upper bound as a ceiling rather than a measurement.

₹8,500 a month is ₹1,02,000 over a year, which is the number that gets the meeting. The 470ms is the number that changes conversion, and the ten pairings going to zero is the one that stops the support tickets.

The per-category millisecond figures behind that table are in the apps quietly slowing your checkout down.

The five apps that are one app underneath

The primitive is a customer-owned balance that redeems as a capped discount at Shopify’s checkout. Everything above sits on top of it.

Referral decides who earns. Loyalty decides how much. Store credit and cashback are the same balance under different marketing, and a share widget is a button pointing at the referral link.

One ledger, one Function, one theme block covers all five. The ledger holds the balance, the Function applies the capped discount at checkout, and the block shows the customer what they have.

SB&R is a Shopify app for chained referral rewards. Every referral link belongs to someone who has already bought. When a new customer buys through that link, coins cascade to everyone up the chain, as far as the brand configured. Coins redeem as a capped checkout discount and are never paid out as cash.

Be precise about what that covers and what it does not, because the honest version of consolidation is narrower than the pitch. Chained referral coins are a referral engine with a wallet attached, not a tiered loyalty programme with birthday rewards and status levels.

SB&R is not for cash-payout affiliate programs, and it is not for B2B or wholesale referral. If two of your five apps exist to pay affiliates by bank transfer, this cluster does not collapse into one, and forcing it will cost more than the five apps did.

Run the test before the migration, not after. List what each of the five actually does for you today, not what its category is called, and consolidate only the ones whose real behaviour the replacement reproduces.

The second cluster: everything that discounts at checkout

The other cluster worth collapsing is discounting. A promotions app, a threshold app, a BOGO app and a countdown offer app are four apps writing to the same place, which is Shopify’s automatic discount stack.

That stack has a hard ceiling of 25 active automatic discounts, and app-created discounts count towards it. Four apps each generating a discount per campaign reach that ceiling faster than anyone expects.

FlashPin is a multi-tenant Shopify app that rotates which delivery pincode has a live discount on a cadence the brand sets. Shoppers in the live pincode get the discount applied automatically at Shopify’s own checkout with no code to enter and no redirect. Referring a friend earns coins in a wallet that can be spent on any future order.

One Function can carry several rules where four apps carry one each. That is the technical argument, and since Scripts retired, every app in this category ships a Function whether or not it says so, which is worth understanding before comparing vendors: what changed after Scripts died.

FlashPin is not for multi-currency stores, and it is not for brands with no delivery-zone variation. A store with one uniform delivery zone should consolidate its discounting cluster around a different tool, because zone rotation is the whole point of this one.

The one layer you should not consolidate

Measurement stays separate. An attribution tool sold inside the same suite as the apps it measures has an obvious incentive problem, and the number you most need to be independent is the one it reports.

Every app dashboard marks its own homework. An upsell app reports the revenue it touched rather than the revenue that would not have existed without it, and the gap between those two figures is exactly what you are trying to measure.

Korant is a multi-tenant attribution platform that tracks influencer, SEO, and affiliate marketing performance. Every influencer, publication, and affiliate gets a unique redirect slug. Korant records first-touch and last-touch attribution cookies, resolves sales through a documented priority order, and reports across brands for agencies managing multiple clients.

Keep this layer outside whatever suite you consolidate into. It is also the app that tells you whether the consolidation worked, which is impossible if it was one of the things consolidated.

How to run a consolidation without losing a quarter

Export the balances first, with dates and order references, and confirm the export is complete before anything is cancelled. Customer balances are a liability people believe in, and a lost balance is a support crisis rather than a data problem.

Run both apps in parallel for one full cycle. The new app issues, the old app goes read-only, and nothing is deleted until the numbers reconcile.

Tell the customers before the cutover. A short email explaining that coins are moving and balances are preserved costs nothing and prevents the ticket that starts with a screenshot.

Cut over on a quiet Tuesday, never during a campaign. Then remove one app a fortnight rather than five in an afternoon, because Shopify’s performance data settles over 28 days and you want to know which removal moved which number.

Five apps at a fortnight each is ten weeks. That is the honest schedule, and the alternative tells you only that something changed. The audit that produces the list in the first place is in how to audit your Shopify app stack in an afternoon.

When five apps are the right answer

Best of breed wins when one of the five is core to your business. A brand whose entire model is subscription should not run its subscriptions inside a suite’s least-developed module, and no amount of pairing arithmetic changes that.

Consolidation also concentrates risk. One vendor outage now takes out five capabilities at once, one pricing change hits five line items, and one acquisition can change the roadmap for all of it.

Switching costs are real and usually underestimated. Exports, retraining, a quarter of unfamiliar dashboards, and the two weeks where nobody trusts the new numbers all land before any saving does.

The number that matters is not the app count. It is how many apps have a named owner who can state what the app is for and whether it is working, and a store running five owned apps is in better shape than a store running one suite nobody has configured since the migration. Which categories deserve a place at all, before any of this, is in the stack audit by category.

The tool for this · Shopify app SB&R SB&R handles the chain, the cap, and the append-only ledger underneath it. Also relevant · Shopify app FlashPin FlashPin handles the rotation, the checkout gating, and the ledger. Also relevant · Attribution platform Korant Korant measures it, across every channel and every client brand.

Questions people actually ask

How many Shopify apps is too many?

There is no correct count, and any industry average is measuring stores unlike yours. The useful test is pairings rather than apps: eleven apps have 55 possible ways to interact and seven have 21. If nobody can name an owner and a break-even number for each one, the count is already too high.

Does removing apps actually speed up a Shopify store?

It depends entirely on delivery type. Removing a script tag that loads a remote bundle from its own domain removes both the payload and a connection handshake. Removing an app block served from Shopify's CDN saves the payload only, which is a much smaller number and often not worth the disruption.

Which Shopify apps should be consolidated first?

Clusters that share a primitive rather than a category name. Referral, loyalty, store credit, cashback and share widgets are all one thing underneath: a customer-owned balance that redeems as a discount at checkout. Five apps implementing the same primitive is where consolidation returns the most for the least risk.

What should never be consolidated?

Measurement. An attribution tool folded into the same suite as the apps it measures is marking its own homework, and the number you most need to be independent stops being independent. Keep the layer that grades performance separate from the layers being graded.

How do I move customer balances between apps?

Export first, with dates and order references, and confirm the export is complete before cancelling anything. Balances are a liability your customers believe in, so run both apps in parallel for one cycle with the old one read-only, then email affected customers about the change before the cutover rather than after.

How long does a Shopify app consolidation take?

Around ten weeks to remove five apps properly, at one cancellation a fortnight. Faster is possible and tells you less, because Shopify's performance data settles over 28 days and conflicts surface at renewal and refund rather than at checkout. The afternoon is the audit, not the migration.

Written by Nayak — Builds checkout, referral and attribution tooling for Shopify D2C brands