Is your bundle app slowing down your Shopify store? How to measure it and what to look for (2026)

Last updated: · 7 min read

A product-page widget that costs you a second of load time can take back what the offer added. Every app claims to be lightweight; almost none publishes numbers, and the numbers depend on your theme anyway. This guide gives you a ten-minute measurement you can run on your own store, explains the three ways apps attach to a Shopify theme and why one of them is structurally heavier, and lists what to ask a vendor. We build a bundle app, so the last section says how MixMaxer is built; the measurement is the part to trust.

Measure, do not believe

  1. Pick one product page that the offer will cover and one that it will not.
  2. Before installing, run PageSpeed Insights (mobile) on both three times and note Largest Contentful Paint (LCP), Cumulative Layout Shift (CLS), Interaction to Next Paint (INP) and the total transferred bytes from the Network panel of your browser's developer tools. Keep the median.
  3. Install the app, publish one offer on the first product, add the widget to the theme, and repeat the three runs on both pages.
  4. Compare. The second page tells you the app's fixed cost (scripts it loads on every page); the first tells you the widget's cost.

What a good result looks like: no change in LCP beyond run-to-run noise, no new layout shift when the widget appears, and the extra bytes limited to the pages where the widget actually renders. What a bad result looks like: a script loaded on every page of the store including the home page and blog, a widget that pushes the buy button down after the page has painted (CLS), or third-party domains appearing in the Network panel.

Shopify's own "Online store speed" score in the admin is a lagging, averaged number; use it as a trend line over weeks, not for before-and-after.

The three ways an app attaches to your theme

MethodHow it loadsWeightLeaves code behind on uninstall?
Script tag injected on every pageA JavaScript file from the app's servers on every page load, which then finds the product and draws the widgetHighest: every page pays, and the widget appears late (layout shift)Removed with the app, but any edits the app made to theme files stay
Theme code edits (snippets in theme.liquid, sections)Liquid and JS copied into your themeVaries; often also calls the app's serversYes, unless you remove it by hand
Theme app extension (app blocks and app embeds)Shopify serves the block as part of the theme; data can come from a metafield on the store, not from the app's serversLowest: only the pages where the block is placed render it; no theme files editedNo; Shopify removes blocks and embeds with the app

Since Online Store 2.0, theme app extensions are the method Shopify recommends. An app that still asks you to paste code into theme.liquid, or whose widget arrives from a third-party domain after the page painted, is using one of the first two.

Questions to ask a vendor

  • Is the widget a theme app block, or a script tag? (Only one right answer.)
  • Does the storefront load anything from your servers on page load? From any third-party domain?
  • Does the widget render server-side with the theme, or after the page paints? (Layout shift.)
  • Does the cart bar load on every page or only where enabled?
  • If your servers are down, what happens to the widget and to the discount?
  • What exactly is removed on uninstall, and what remains?

Finding code a previous app left behind

Online Store › Themes › Edit code. Search theme.liquid, the product templates and the snippets folder for the old app's name, and look for <script src= lines pointing at domains you do not recognise. Also check Shopify › Discounts for automatic discounts the app created and Products for hidden placeholder products (filter by vendor or tag). Remove them on a duplicate theme first, test, then publish. Switching bundle apps without losing sales has the full checklist.

How MixMaxer is built

  • The product widget, cart upsell bar, card badges and mix & match builder are a Shopify theme app extension: app blocks and app embeds you place in the theme editor. Nothing is written into theme.liquid, and uninstalling removes all of it.
  • The widgets read the live offers from a metafield on your store, written by MixMaxer when you publish; the storefront does not depend on MixMaxer's servers to render an offer, and no third-party scripts are loaded on the storefront.
  • Discounts run as Shopify Functions at checkout, so if MixMaxer's servers are unavailable the discounts still apply; only the admin and analytics depend on our servers.
  • Buttons and badges inherit the theme's own colours, radius and font, so there is no extra styling framework to load.

Run the measurement above on your own theme; a before-and-after on your product page is worth more than any vendor's sentence, ours included.

FAQ

Do bundle apps slow down a Shopify store?
Some do, mostly those that inject a script on every page or edit theme files. Apps built as theme app extensions render only where the block is placed and add little. Measure with PageSpeed Insights before and after installing.

How do I check which apps are slowing my store?
Open a product page with your browser's developer tools › Network, reload, and sort by domain: every third-party domain is an app or a tracker. Then compare PageSpeed Insights with and without each app's embed switched off in the theme editor's App embeds panel.

Does uninstalling an app remove its code from the theme?
Theme app extensions (blocks and embeds) are removed by Shopify. Code that an app pasted into theme.liquid or snippets stays until you remove it by hand.

Does MixMaxer load scripts from third-party domains on my storefront?
No. The widgets are theme app extensions that read a metafield on your store; no third-party scripts are loaded on the storefront, and nothing is written into theme.liquid.

Will the discount still work if the app's servers are down?
With MixMaxer yes, because discounts are Shopify Functions and the widgets read data stored on your store. With script-based apps the widget and often the discount depend on the app's servers responding.


MixMaxer: theme app extension, nothing in theme.liquid, no third-party scripts on the storefront, discounts that keep working if our servers are down. Install from the Shopify App Store · Adding the widget to your theme. Last checked 1 November 2026.

More guides and comparisons