ezomfy
All posts
June 29, 20264 min read

Why custom Shopify apps break 18 months after launch

Apps rarely fail on launch day. They fail when Shopify retires something they depended on. The three questions to ask about any custom app you own or are commissioning.

A

Ashraful

Shopify Select Partner

A MacBook Pro displaying code editor on a rooftop setting in daylight, ideal for a remote work lifestyle. — Photo by Meet Patel on Pexels

Custom Shopify apps do not usually break on the day they are built. They break eighteen months later, on a Tuesday, when Shopify retires something the app depended on and nobody has looked at it since.

Authentication is the most common cause. Shopify changed how embedded apps prove who they are, older approaches have been retired, and apps built before that change stop working unless someone updates them.

If you own a custom Shopify app, or you are about to commission one, this is worth understanding well enough to ask two or three good questions.

What changed, briefly

An embedded app runs inside the Shopify admin, in a frame. Every request it makes has to prove which store it is acting for.

The old way relied on cookies. That worked until browsers began restricting third-party cookies, which broke apps in Safari first and then more widely. Merchants saw an app that would not load, or that logged them out constantly.

The current approach uses session tokens: short-lived, signed credentials passed on each request, issued by Shopify's App Bridge library and verified by the app's server. No cookies, so nothing to break when a browser changes its policy.

This is not optional any more. Shopify requires it for embedded apps, and the old approach has been retired.

What it means if you already own an app

Three questions to put to whoever maintains it.

"Is this app using session tokens?" If the answer is no, or unclear, it is on borrowed time. If it is still working today, that is not evidence it is fine; it is evidence nobody has hit the failure yet.

"Which App Bridge version, and which API version?" Shopify ships two API versions a year and supports each for twelve months. An app pinned to a version older than a year is running on something already unsupported.

"When was it last updated?" If the honest answer is "when it was built", budget for maintenance now rather than during an outage.

The symptoms of this going wrong, so you recognise them: the app fails to load inside admin, staff get logged out repeatedly, it works in Chrome but not Safari, or it works for one staff member and not another. Those all point at authentication rather than at the app's actual features.

What it means if you are commissioning one

Put these in the brief. They cost nothing to specify up front and are expensive to retrofit.

Session token authentication, current App Bridge. Not a preference, a requirement.

A named, current API version, with a written plan for upgrades. "It uses the latest" is not a plan. "Pinned to 2026-01, reviewed each January, roughly four hours" is.

Source code handover, readable and commented. So a different developer can pick it up. This is the single most valuable clause in a custom app agreement, and it is the one most often missing.

Somewhere the errors go. If the app fails at 2am, something should record it. An app with no logging fails silently until a person notices, which is usually days.

An honest maintenance figure. Two API versions a year means a few hours annually. Anyone quoting zero maintenance on a custom app is either not thinking about it or not telling you.

Do you need an embedded app at all

Worth asking, because a lot of what merchants request does not need one.

No app at all. If the requirement is storefront-only, a size guide, a delivery estimator, a badge, a sticky buy bar, that is a theme app extension. Days rather than weeks, no server, no hosting, and none of this authentication concern, because there is no app admin to authenticate.

A Function, not an app. Custom discount, shipping, or payment logic is a Shopify Function. Runs inside Shopify's infrastructure, no hosting, no monthly fee.

An embedded app, when your team genuinely needs a screen inside Shopify admin to manage something, when data has to be stored, or when another system has to be integrated.

The pattern we see: a merchant describes a storefront feature, gets quoted a full embedded app, and pays for weeks of work plus hosting plus this ongoing authentication burden, for something that was three days of extension work.

The maintenance question nobody asks

A custom app is not a purchase. It is a small piece of software you now own.

Shopify moves twice a year. Browsers change their rules. Libraries get deprecated. None of it is dramatic, and all of it needs somebody to look occasionally.

Budget a few hours a year and know who is doing them. The expensive version of this is not the maintenance; it is discovering at the point of failure that the original developer is unreachable, the code has no comments, and someone has to reverse-engineer your own business logic before they can fix it.

Which is why source code handover matters more than almost anything else in the contract.


We build custom Shopify apps on current App Bridge with session token authentication, pinned to a named API version, with the source handed over readable and commented so you are never dependent on us. Builds run 4 to 8 weeks at a fixed price. We also take over and modernise apps built by someone else.

Got an app that is failing to load, logging staff out, or last touched a year ago? Book a free 30 minute call and we will tell you what it needs. Or see our app development work.

A

About the author

Ashraful

Shopify Select Partner, Top Rated Plus on Upwork. 700+ Shopify projects shipped over 7+ years: themes, apps, migrations, speed, Hydrogen. Solo shop, no agency middlemen.

Read the full story

Working on a Shopify project?

That's what I do every day. Pick whichever feels lower-friction.