Why Your Shopify Theme's App Embeds Are Silently Killing Page Speed (And Conversions)
The Problem Nobody Checks Until It's Too Late
We audit a lot of Shopify stores. And one of the most consistent performance killers we find has nothing to do with image compression or lazy loading. It comes from app embeds that were installed, tested, then abandoned but never actually removed.
Here is what happens in practice: a store installs a review app to try it out, switches to a different one six months later, but the original app's embed block stays active in the theme. The app itself is uninstalled from the Shopify admin, but the JavaScript snippet it injected through the theme editor keeps firing on every page load. Shopify does not automatically clean this up. The embed sits there, calling out to a dead endpoint, creating render-blocking requests that delay first contentful paint by anywhere from 300ms to over a second.
We saw this exact situation on a skincare brand doing around $4M annually. They had switched review platforms twice in 18 months. When we ran their homepage through PageSpeed Insights, they had three separate review app scripts loading, two of which pointed to domains that no longer resolved. Their mobile performance score was sitting at 41. After cleaning those embeds out and removing two dead Klaviyo form scripts from a previous agency setup, the score jumped to 67 within a week without touching a single image or piece of code.
How App Embeds Actually Work in Shopify Themes
When you install a Shopify app that uses theme app extensions, it adds a block or embed to your theme through the online store editor. Unlike older liquid-based app installs that required manual code injection, these extensions are managed through the theme editor under "App embeds" or as section blocks.
The confusion comes from the fact that uninstalling an app from your Shopify admin does not automatically remove its embed from your theme. The embed stays toggled on, the script tag may still load, and depending on how the app was built, it can still attempt to call external resources.
To actually audit this, you need to go to Online Store, then Themes, then Customize, then App embeds in the left panel of the theme editor. Every toggle you see there that corresponds to an app you no longer use is a liability. Beyond that, you should open your theme's code and search for any leftover script tags or liquid includes that reference apps you have moved on from. We regularly find these in the theme.liquid file, inside section files, and buried in snippet files from agency work done two or three years prior.
Tools like Chrome DevTools network tab and GTmetrix waterfall views are useful here. Filter requests by domain and look for anything firing that you do not recognize. Third party domains that are not your CDN, your analytics stack, or your current apps are worth investigating.
The Conversion Impact Beyond Speed Scores
Page speed is not just a technical metric. Every 100ms of additional load time correlates with measurable drops in conversion rate. Google's own data, pulled from real user experiences across millions of sessions in GA4, shows that sessions where pages load beyond three seconds convert at roughly half the rate of sub two second sessions.
But there is a subtler problem with dead or redundant app embeds: layout shift. When a script fires and expects to inject content into the DOM but the app is gone, you get cascading layout shifts. Cumulative Layout Shift scores climb. Buttons jump. Images reflow. On mobile, this is particularly brutal because users lose their tap target and often abandon.
We worked with a home goods brand that had a persistent CLS issue on product pages. The source was a defunct upsell app embed that was injecting an empty div on load, shifting the add to cart button down by about 80px every single time. Their add to cart rate was 4.2%. After removing the embed and cleaning the snippet, it moved to 5.6% over a 30 day window. Same traffic, same product, same price. Just cleaner page behavior.
How to Run a Proper App Audit on Your Store
Doing this well takes about two hours and should happen at minimum once per quarter. Here is the process we follow when we come into a new store.
First, export your complete app list from Shopify admin and note which ones are actively being used versus ones installed for testing or legacy purposes.
Second, open your theme editor and document every active app embed toggle. Cross reference against your active app list. Anything toggled on that does not correspond to a current app gets flagged.
Third, open your theme code and run a search for common patterns like script src, app.shopify.com, and any CDN domains you do not recognize. Many agencies hardcode script tags directly into theme.liquid rather than using app embeds, and these are invisible in the theme editor.
Fourth, run your key pages through PageSpeed Insights and GTmetrix and document all third party requests in the waterfall. Tools like Request Map Generator can also help visualize the full request chain.
Fifth, remove or disable everything that should not be there, test on a duplicate theme first, then push live. Use GA4 and Shopify Analytics to monitor conversion rate for two to four weeks post cleanup to measure impact.
Klaviyo scripts, ReCharge subscription widgets, loyalty app pixels, and post purchase survey tools are the most common culprits we see left behind after platform switches. None of them clean up after themselves.
What This Means for Your Store Right Now
If your store has been running for more than two years and has had more than two developers or agencies touch it, the odds that you have dead app scripts firing are extremely high. We would estimate we find this issue in about 80% of the stores we audit at that stage.
The fix is not complicated. But finding the problem requires knowing where to look and understanding that Shopify's admin does not surface this for you. The platform gives you the tools to create this mess quietly and gives you no automatic warning when it accumulates.
Faster pages mean more of the traffic you already paid for actually converts. That is the most cost efficient conversion improvement available to most stores at this stage of growth.
If you want to know exactly what is slowing your store down and how it is affecting your conversion rate, our technical conversion audit covers this in full alongside UX, funnel, and offer analysis. It is a good starting point for stores that want to stop guessing.