Skip to main content
The theme updater in the Elixir dashboard handles updates for you. When it fails or cannot reach your store, you can move to a new version by hand: upload the new version alongside your current one, then copy your settings and page layouts across.
This is the fallback, not the normal route. Try the theme updater first. Nothing here touches your live theme until the final publish step, so your store keeps trading throughout.

What actually moves

Your configuration lives in JSON files. Copying those is the whole job. Everything else, the section and snippet code, is what you are updating, so it stays as it comes.

Step 1: Upload the new version

1

Download the new version

Get the theme ZIP from Premade Templates in the Elixir dashboard.
2

Upload it to Shopify

In Shopify admin, go to Online Store → Themes → Import theme → Upload ZIP file. It uploads unpublished, so your live theme is untouched.
Your Theme Library now holds both: the version you are running, and the new one.

Step 2: Open both themes side by side

Open two browser tabs, both on Online Store → Themes → ⋯ → Edit code:
  • one on your current theme, the source
  • one on the new theme, the destination
You will be copying from the first into the second.

Step 3: Copy the files across

For config/settings_data.json first, then each file in templates/:
1

Copy from the old theme

Open the file, select all, copy.
2

Paste into the new theme

Open the same file in the new theme, select all, paste over it.
3

Save

Save before moving to the next file.
Template filenames can differ between versions. If a file exists in your old theme but not the new one, or has been renamed, there is nothing to paste it into. Skip it and rebuild that page in the editor afterwards.

Step 4: Fix the save errors

This is the part that catches people out. Some settings change type between versions, and Shopify refuses to save a file whose values no longer match the new schema. You will see errors like:
They come one at a time. For each:
  1. Use the editor’s search to find the setting named in the error.
  2. Correct the value to the type it asks for.
    • “must be a valid number”: an empty "" becomes 0
    • “must be a string”: a bare 0 becomes ""
  3. Save again.
Repeat until the file saves cleanly. Quantity break price fields are the usual culprits, and there are often several in the same file.
Fix every instance of the setting, not just the first. If a template has four quantity break options, the same field appears four times and Shopify only reports one per attempt.

Step 5: Re-enter your licence key

The new theme may still show License Required even after the settings are copied. Open the new theme in the theme editor, go to Theme settings → License, paste your key from the Licenses page, and save. See Activate your license if it does not take.

Step 6: Check, then publish

Preview the new theme before publishing anything:
  • Homepage sections present and in the right order
  • Product page, including quantity breaks, variants, and the buy button
  • Cart drawer opens and reaches checkout
  • Mobile layout
  • Any custom CSS you added in theme settings
When it looks right, publish it. Keep the old theme in your library until you are confident.
Custom code you added directly to theme files does not travel with the JSON. If you edited Liquid, CSS, or JavaScript in the theme’s code, reapply those changes by hand and re-check them, since class names and section structure can change between versions. See Custom CSS.

Troubleshooting

Read the error text exactly. It names one setting and the type it expects. If you have fixed that one and it still fails, another instance of the same setting is further down the file.
That template either did not exist in the new version or is named differently. Rebuild the page in the theme editor rather than forcing the old file in.
Copying settings_data.json should bring the key across, but re-enter it in Theme settings → License if the message persists. Confirm the licence is assigned to this store’s .myshopify.com domain.
Sections change between versions. Open the section in the editor and check its settings rather than editing the JSON further.