Quick answer
If an app was uninstalled but its JavaScript still loads on the storefront, do not start by deleting random code. First identify where the script is coming from: App Embeds, theme files, a script tag, or another app that loads the same library.
The safest fix is to duplicate the theme, confirm the script source in DevTools, then remove only the confirmed leftover embed or code reference.
The real symptom
The merchant uninstalls an app but still sees its scripts in PageSpeed, Lighthouse, DevTools, or the storefront HTML. Sometimes the store gets slower after “cleaning up” apps. Sometimes reinstalling an app creates duplicate script tags and the same file loads twice.
Likely causes
- App Embed is still enabled. Online Store 2.0 apps often load through App Embeds in the theme editor.
- Old code remains in
theme.liquid. Older apps and manual installs may leave script tags, snippets, comments, or includes in theme files. - The app used Shopify script tags. Some scripts are injected at runtime and might not appear in a normal theme code search.
- Reinstallation duplicated a script. If the old script was not removed cleanly, reinstalling an app can create duplicate loading.
- Another app uses the same library or domain. A script domain in Network does not always map perfectly to the app name the merchant remembers.
Confirmed Community fix
Community fixes consistently recommend proving the source before deleting. Older threads point merchants to duplicate the live theme, inspect theme.liquid, and search for the uninstalled app name or comments. Newer troubleshooting threads recommend starting from DevTools Network, checking App Embeds, and cleaning only the confirmed source.
Admin path
- Go to Shopify Admin → Online Store → Themes.
- Duplicate the live theme before editing.
- Open Customize on the duplicate theme.
- Open App embeds and turn off embeds from apps that are no longer used.
- Preview the duplicate theme and retest the script in DevTools.
- If it still loads, go to Actions → Edit code.
- Search for the app name, app domain, snippet name, and script URL.
- Check common files such as
theme.liquid, product templates, cart templates, snippets, and app-related sections.
DevTools test
Open DevTools → Network, reload the page, filter by JS, and look for third-party domains. Click the script and check the initiator/source where possible. Also inspect the page HTML and search for the app name or script URL. If the script appears in a clean new theme too, it is less likely to be hardcoded only in the current theme.
Safe cleanup rule
Remove one confirmed source at a time on a duplicate theme. Then reload and retest. Do not remove broad blocks of JavaScript just because they look old. Apps can power reviews, subscriptions, swatches, bundles, analytics, cart drawers, or checkout-related behavior.
Common misunderstanding
Uninstalling an app does not always mean every storefront trace disappears. Some apps leave theme code, some use App Embeds, and some scripts require vendor support or careful manual cleanup.
How to test this
- Duplicate the theme before deleting anything.
- Check App Embeds before digging through theme files.
- Use DevTools Network filtered by JavaScript to identify third-party scripts.
- Search theme code for the exact app domain or script URL.
- Retest after each single removal so you know what actually helped.

