Skip to content

The B2B App That Broke My Theme: Lessons From Shopify Merchant Horror Stories

Mar 17, 2026·Peer Jakobsen

There's a review on the Shopify App Store from a merchant who had to rebuild their entire theme from scratch. They installed a B2B wholesale app. It worked for a while. Then it didn't.

The app injected code into their theme files. Something conflicted. The storefront broke. Multiple days of downtime. When they contacted support, they were told the issue was with their theme, not the app. After weeks of back-and-forth with screenshots and videos to prove the site was still broken, they gave up and rebuilt.

TL;DR: Wholesale and B2B apps that inject code into your Shopify theme files can cause layout breaks, slow page loads, and orphaned code on uninstall. The safer alternative is apps that use Shopify's App Proxy architecture, which serves content through your store domain without modifying any theme files.

This isn't an isolated case. It's a pattern.

How B2B Apps Break Your Theme

Most Shopify B2B and wholesale apps need to modify what your customers see on the storefront. Hide retail prices from wholesale customers. Show a registration link. Display wholesale-specific elements.

The way most apps do this is by injecting JavaScript and Liquid code directly into your theme files. Script tags in your theme.liquid. Liquid snippets in your template files. Custom CSS overrides. Sometimes they modify multiple files across your theme.

This works. Until it doesn't.

Here's what goes wrong:

Theme updates break the integration. You update your theme (or Shopify pushes an update), and the app's injected code is referencing elements or classes that no longer exist. Your storefront renders incorrectly or not at all.

Other apps conflict. You install a review app, a popup app, or any other app that also injects code into your theme. Two apps modifying the same files can create cascading issues that are nearly impossible to debug.

Theme switches become dangerous. One merchant reported two days of lost sales when switching themes because the wholesale app's code wouldn't detach cleanly from the old theme. The new theme loaded with ghost references to code that no longer existed.

Uninstall doesn't clean up. This is the one that surprises merchants most. You uninstall the app, expecting everything to go back to normal. But the code fragments are still in your theme files. Some apps have an uninstall process that removes their code. Many don't. You're left with orphaned snippets that you need a developer to find and remove manually.

Real Examples From App Reviews

These are from actual Shopify App Store reviews. I'm not naming the specific merchants, but the complaints are public.

One merchant reported that after using a popular wholesale suite for years, a Shopify global tax update made the app unable to handle tax settings correctly. The only workaround offered involved significant manual input and an upgrade to a more expensive plan. A feature they'd relied on for years simply stopped working.

Another merchant described their wholesale app repeatedly claiming issues were fixed when they weren't. Over several weeks, they provided screenshots and videos showing the site was still broken. The first theme the app was installed on became permanently unusable.

A third merchant noted that the app kept changing how signup forms worked and then attributed the changes to Shopify rather than their own updates. The merchant wanted a stable, predictable workflow. They didn't get one.

These aren't edge cases. Browse the negative reviews of any major wholesale suite on the Shopify App Store. Theme conflicts and code residue are the two most common complaints.

Why This Keeps Happening

The problem isn't that these apps are poorly built. Most of them are mature products with thousands of installs and strong support teams. The problem is the architecture.

When an app injects code into your theme, it becomes coupled to your theme. Every theme update, every new app install, every Shopify platform change is a potential point of failure. The more code an app injects, the more surface area for conflicts.

Wholesale suites inject more than most apps because they need to modify many parts of your storefront: pricing displays, access controls, registration elements, checkout modifications. Each modification is another dependency on your specific theme structure.

This is a structural trade-off of the theme injection approach. It's not a bug. It's the consequence of the architecture. When evaluating alternatives, it helps to understand which apps use which approach — see Best Shopify Apps for B2B Customer Registration in 2026 for a detailed breakdown.

The Alternative: App Proxy

Shopify offers an architecture called App Proxy that lets apps serve pages through your store's domain without modifying any theme files. The app serves its own HTML at a URL that looks like it's part of your store (e.g., yourstore.com/apps/register). The page renders inside your theme's layout automatically.

From a merchant's perspective, the registration form looks like it's part of your store. But the app hasn't touched a single theme file. No script tags. No liquid snippets. No CSS overrides.

The benefit is straightforward: if the app can't modify your theme, it can't break your theme. Updates to your theme don't affect the app. Other apps don't conflict with it. And uninstalling removes everything cleanly because there was nothing injected in the first place.

The trade-off: App Proxy works well for serving specific pages (like a registration form), but it can't modify what appears on other pages of your store. If an app needs to hide prices on product pages or show wholesale badges throughout your store, App Proxy alone isn't enough. That's why wholesale suites don't use it — they need deeper theme access for their pricing features.

But for B2B registration? A form that lives at one URL on your store? App Proxy is the cleaner architecture. Shopify's native B2B features also avoid theme injection entirely — for a comparison of native vs third-party approaches, see Shopify Native B2B vs Third-Party Apps.

What to Check Before You Install

If you're evaluating a B2B or wholesale app, ask three questions about theme integration before you look at features:

How does the app display content on my storefront? Look for "App Proxy", "theme app extension", or "script tag injection." App Proxy is the safest. Theme app extensions are a middle ground (they're sandboxed by Shopify but still add code). Direct script tag or liquid injection carries the most risk.

What happens when I update my theme? Ask the vendor directly. Some apps require re-configuration after theme updates. Others work independently. If the answer involves "reinstall the code snippet," that's theme injection.

What happens when I uninstall? Does the app have an automated cleanup process? Or do code fragments remain in your theme files? The answer tells you how coupled the app is to your theme.

If your storefront is critical to your business (and it is), these questions matter more than feature lists.


B2B Onboard uses App Proxy exclusively. No theme code injection, no script tags, no liquid modifications. Your registration form works on your storefront without ever touching your theme files. Learn more.

Peer Jakobsen is the founder of Mentilead. He builds Shopify B2B apps from Denmark with a focus on clean architecture and EU compliance.

We use cookies for spam protection and analytics. Learn more