How a Shopify App Conflict Burned a Store's Ad Budget for Months
A leather-goods brand spent months blaming Meta for sinking mobile sales. The real cause was a Shopify app conflict that took 25 minutes to fix.

Marcus runs Bramwell Carry, a four-year-old men's leather goods brand on Shopify Basic. He does roughly $25k a month, mostly through Meta ads, mostly to mobile traffic. By the time he reached us, his mobile conversion rate had been hovering at 0.3% for fourteen weeks. He'd been pouring money into a campaign budget that was, in retrospect, lighting itself on fire.
He didn't suspect a Shopify app conflict. He suspected Meta. He had spent six weeks rewriting ad creative, three weeks A/B-testing his product page hero, and one full Saturday on the phone with Meta's "performance specialist" team, who told him - politely, repeatedly - that his account looked fine. It wasn't fine. The store was broken in two places, and both of them were caused by apps he had installed and forgotten about.
This is what we found, what we tried, and the conversation we had with him after.
What Marcus had already tried
By the time Marcus messaged us, his diagnostic notebook was three pages long. He'd rewritten his three best-selling product descriptions twice. He'd recorded five new product videos in better light. He'd run a free-shipping promo, then a 10% promo, then a "build a wallet" upsell. He had moved his ad budget from broad targeting to a single hand-picked lookalike audience. None of it had moved the conversion rate.
The most consequential thing he had done - and we want to be specific about this, because it matters for the diagnosis later - was install three new apps over a single weekend in late January. A live chat widget. A sticky add-to-cart bar. An email marketing tool with its own pixel. He'd installed all three because a YouTube video told him that "high-converting Shopify stores" used a stack like this. He didn't pause to consider that the stack was being recommended in the abstract, with no reference to his theme, his other apps, or his mobile-first traffic mix.
When we asked him what his conversion rate had been the week before that install weekend, he had to dig. The number was 0.9%. After the install weekend, it dropped to 0.3% within five days. He had not connected the two events. The drop was happening at the same time as a creative refresh and a price test, so he attributed the change to those.
That's the thing about a Shopify app conflict. It hides inside whatever else is changing.
The thing nobody was looking at
The first thing we did was open his storefront on an actual iPhone. Not a simulator, not Chrome's device emulator, not the theme editor's preview pane. A real, current iPhone, running current iOS Safari.
The live chat widget was sitting directly on top of his "Add to bag" button. Not next to it. On top of it. If you tapped where the button visually appeared, you got the chat window. Close the chat, scroll a few pixels, tap again, get the chat again. You could buy a wallet from Bramwell Carry on a phone, but only if you knew the trick of waiting for the chat bubble to retract before tapping.
The chat widget app was working exactly as designed. The sticky-cart app was working exactly as designed. The conflict was that both vendors had assumed they owned the bottom-right corner of the mobile viewport. Neither vendor had any way of knowing the other was installed. The Shopify App Store listing for the chat widget did not warn about sticky-cart conflicts. The sticky-cart listing did not warn about chat widget conflicts. The fix took five minutes: we moved the chat widget anchor from bottom-right to bottom-left in the vendor's dashboard, scrolled the page on five different phones, and confirmed the button was tappable.
This was the entire reason his mobile conversion rate had collapsed. A Shopify app conflict in a literal eight-pixel overlap on a touchscreen, invisible to anyone testing on Android, invisible to anyone testing on desktop, invisible to Shopify support and invisible to the app developers themselves.
We told him. He was quiet for about ten seconds. Then he said, "I have been paying Meta to send people to a page where they can't buy anything." That's a direct quote. We wrote it down because we knew we'd want it later.
The second conflict we found by accident
The widget fix should have ended the story. It didn't. The conversion rate climbed back to 0.9% over the following two weeks, which was where it had been before the install weekend - but Marcus's ROAS was still bad. His Meta-attributed revenue was now half of what his Shopify orders dashboard reported. Something else was off.
This is where the second Shopify app conflict came in, and it's the one most merchants miss because the symptom looks like an ad platform problem rather than a store problem.
His email marketing tool had installed its own browser pixel during the same install weekend. So had Shopify's native Facebook and Instagram integration, which he'd set up a year earlier and never touched. Both pixels were firing the same Purchase event on the thank-you page. Meta's events manager had been logging two purchase events per real order for three months and quietly flagging them with a deduplication warning that Marcus had never opened.
The mechanism here is worth pausing on, because it's the part that makes ad budgets disappear without a clear receipt. Meta's algorithm doesn't just report conversion numbers; it optimizes against them. When the same event fires twice per real conversion, the algorithm sees the campaign as twice as efficient as it really is and shifts budget toward whatever audiences were "responding." Then, when the merchant fixes the duplicate firing, the algorithm has to relearn the real conversion volume from scratch. That relearning takes weeks. During the relearn, performance is genuinely worse than it was during the corrupted period, because the algorithm now has too few signals and is over-correcting.
We turned off the email tool's pixel - that's a setting inside the app, not a Shopify-side change - and waited. Five weeks later, his Meta ROAS had stabilized at roughly 1.4x what it was on the day we fixed it. That delay is the part nobody writes about. The fix took a minute, and the recovery took more than a month.
How we proved it was an app conflict
We say "we proved it" because Shopify support, the chat widget vendor, and the email tool's support team had all already told Marcus none of them were the problem. He had four open tickets at the time we met him. Each one pointed at one of the others. This is the three-party blame loop that anybody who has tried to diagnose a Shopify app conflict has been through.
Here is how we cut through it, in order:
- We took baseline screenshots: his Shopify Analytics conversion rate, his Meta Events Manager Purchase event count for the last 30 days (with the deduplication warning visible), and his orders dashboard for the same window. Three different numbers, three different sources, one comparison.
- We disabled - not uninstalled - the email marketing tool's onsite tracking. Uninstalling complicates diagnosis because some apps leave residue in
theme.liquidand others don't. - We waited 48 hours, then compared again. The deduplication warning was gone within a day. The Purchase event count in Meta now matched the Shopify orders count to within 4%.
- We opened the storefront on iPhone, Android, and an older iPad we keep around for legacy iOS testing. The chat widget overlap reappeared on the older iPad. The vendor's fix only covered current iOS. We moved the widget on the iPad too.
- We placed a real test order on each device. Real card, real shipping address, our own. We refunded it immediately. This is the only honest way to know your checkout works.
That sequence is what a real conflict audit looks like. It is not the same thing as following a Shopify Help Center checklist, and it is not the same thing as what an app developer's support team can run, because they don't have access to your installed app stack. If you are stuck in a three-way blame loop with Shopify, an app vendor, and Meta, the first fifteen minutes with a help1 expert is free and is often enough to identify which of the three is actually wrong.
What this means for your store
If you take one thing from Marcus's story, take this: a sudden drop in mobile conversion rate is almost never your ad creative. It is almost always something you installed, something an app silently auto-updated to, or something that broke in a place you weren't looking. The fix tends to be cheap; the diagnosis is the expensive part, because it lives across three companies who do not talk to each other.
A few specific things you can do this week, without any new tools:
- Open your store on the actual phone you carry. Tap the "Add to cart" button on a real product page. If anything covers it, even slightly, you have a Shopify app conflict at the UI layer. Most merchants discover this when they finally watch a friend try to check out.
- Open Settings > Customer Events in your Shopify admin. Count the pixels registered there. Then check
theme.liquidfor any pixel code that was added manually. If you have a registered Meta pixel from Shopify's native integration AND a separate pixel from an email or analytics app, you have a Shopify app conflict at the tracking layer. Turn off the redundant one in the app's own settings. - Audit which installed apps have write permissions to Products, Collections, and Online Store Content. Apps whose primary job is email templates or reviews should not need write access to your catalog. If they have it, that is a future incident waiting for an auto-update to misfire. The help1 diagnostic app scans for exactly this pattern, but you can also do it manually from Settings > Apps.
- Before installing the next thing, screenshot your conversion rate, your daily order count, and your Meta Events Manager numbers. If something breaks, those screenshots are the only way to know when it broke and by how much. Marcus did not have these, and we lost two days reconstructing them from his Shopify reports and his ad manager.
Marcus emailed us six weeks after the fixes. His mobile conversion rate had landed at 1.6% and held. His ad spend was producing roughly 2.3x what it had during the broken period, despite the budget being unchanged. He had written a one-pager for himself titled "things to check before blaming Meta" and pinned it above his monitor. The last line of the email said this: "I have been paying Meta to send people to a page where they can't buy anything." It was the same line he'd said in our first call, only this time he was quoting himself. He thought it was funny now.
Still stuck? Talk to an expert.
Our vetted Shopify experts can fix this issue for you in a live session. $39 per session. Your first 15 minutes are free.