Theme upgrades

Upgrading a theme without breaking what is installed

App blocks survive a theme update and hard coded snippets do not. A pre flight checklist for the day you move to a new theme version, plus what to check after.


  • Category

    Theme upgrades

    Written as a checklist, not an essay.

  • Published

    11 March 2026

    Written by the people building the app.

  • Length

    About 12 minutes

    No gate, no form, no email sequence.

  • Checked against

    Dawn 14 moved to Dawn 15

    Same shape for a paid theme from a vendor.


Why app blocks survive an upgrade and snippets do not

On an Online Store 2.0 theme, the placement of an app block lives in the JSON template for that page, together with the settings you chose. A theme upgrade replaces theme files. If you install a new version of your theme rather than editing the current one, the new version arrives with its own templates, which means it arrives without your app blocks. Nothing is broken, but nothing is placed either.

A hard coded snippet is the worse case. If an app, a developer, or a support agent added a line of Liquid to a section or to theme.liquid, that line exists in the old theme files only. The new version will not have it and the app has no way to know. Your store keeps working and the feature quietly stops appearing, which is the failure mode nobody notices for a fortnight.

Before you touch anything

Write down what is on the live theme while it is still live. Open the theme editor, walk the templates you care about, and list every app block by page and by position, including any setting you changed from its default. Screenshots of the editor sidebar are faster to take than notes and harder to misread three days later.

Then duplicate the theme so there is a copy you can return to, and note the version number of what you are upgrading from. Duplicating is instant and free, and the library holds plenty of unpublished themes. Also check Theme settings for App embeds, because embeds are toggled there rather than placed in a section and they are the easiest thing to forget.

The upgrade itself

Add the new version as a new unpublished theme rather than editing the published one. Shopify offers an update path for the free themes it maintains, and a paid theme usually means downloading the new version from the vendor and adding it from a file. Either way it lands unpublished, which is the point.

Move settings first and placements second. Colours, typography, and layout choices live in theme settings, and most merchants find it faster to reapply them by hand than to move settings data between versions. Then place your app blocks from the list you made, page by page, in the same positions, and switch the embeds back on.

Preview on a phone as well as a desktop. Section groups and sticky headers behave differently between theme versions, and a countdown bar or a review summary that looks correct at 1440 pixels wide can collide with a sticky header at 390.

The other side

After you publish, check the three places that break most often: anything rendering above the fold, anything in the header or footer group, and the cart. Then read the storefront for Liquid errors, which appear as a visible line of text beginning with the words Liquid error where a missing snippet used to be. That text is your list of hard coded leftovers from the old theme, handed to you for free.

Keep the old theme in the library for a fortnight. Reverting is one click while it is still there and a reconstruction job once it is gone. If a vendor has to change something for you, that fortnight is also the window in which they can compare the two themes side by side.

An excerpt of templates/product.json in which an app block is stored as a block entry with a shopify://apps type
Inventory first, publish last.

How to check this on your own store.

Four moves, in this order. Nothing here needs a developer, and nothing here touches your published theme until the last step.

  1. Step 1

    Inventory the live theme

    Screenshot every template that carries an app block, and note the App embeds toggled on in Theme settings.

  2. Step 2

    Duplicate before you download

    One click in Themes. Now the current state is recoverable no matter how the next hour goes.

  3. Step 3

    Add the new version unpublished

    Settings first, then placements from your inventory, then embeds. Preview at 390 pixels wide before you publish.

  4. Step 4

    Publish, then walk the fold

    Above the fold, header, footer, cart. Then search the storefront for the words Liquid error and fix what you find.

We make a countdown timer, so we do not rank countdown timers.

The checklist works the same whichever apps you run, which is the only kind of upgrade advice we can give without our own app leaning on it.

  1. No rankings where we compete

    No countdown timer shortlist, and none for reviews, bundles, or checkout, where our next apps are planned. Measurement methods, yes. Verdicts, no.

  2. No paid links

    Nothing on this page earns TreStack a commission, and no tool is named because naming it pays.

  3. Order is editorial, never commercial

    Nothing moves up a list because it pays more. A vendor cannot pay to be added and cannot pay to be removed.

Keep reading

The guides are ordered the way a merchant usually needs them, so the two either side of this one are the likely next job.

Back to all guides