> For the complete documentation index, see [llms.txt](https://docs.tipo.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tipo.io/backup-and-restore-tipo/reference/how-it-works/how-restore-works.md).

# How restore works

Learn what a restore writes to your store, in what order, and how each data type behaves.

A restore brings data from a backup (or an exported file) back into your store. This page explains what a restore changes, in what order, and what to expect for each data type. For step-by-step instructions, start at [Restore](/backup-and-restore-tipo/restore/restore.md).

## The basics

* **Only differences are written.** Anything that already matches the backup is left alone and reported as already matching.
* **Changed items are overwritten.** If an item exists in your store but differs from the backup, the backup version replaces it.
* **Deleted items are re-created.** Shopify gives a re-created item a new ID. Links or other apps that pointed to the old ID will not find it automatically.
* **Nothing is restored until you confirm.** You choose the data, review what will change, and then confirm. See [Restore from a backup](/backup-and-restore-tipo/restore/restore/restore-from-a-backup.md).
* **A safety backup comes first.** By default the app takes a safety backup before writing anything, so you can undo a restore. See [Safety backups and undoing a restore](/backup-and-restore-tipo/restore/restore/safety-backups.md).

## Order of a restore

Data types depend on each other, so the app restores them in a fixed order. This keeps links between items intact.

{% stepper %}
{% step %}
Metafield definitions
{% endstep %}

{% step %}
Metaobject definitions
{% endstep %}

{% step %}
Metaobjects
{% endstep %}

{% step %}
Products (with variants, media and metafields)
{% endstep %}

{% step %}
Collections
{% endstep %}

{% step %}
Pages
{% endstep %}

{% step %}
Blogs
{% endstep %}

{% step %}
Blog posts
{% endstep %}

{% step %}
Menus
{% endstep %}

{% step %}
Files
{% endstep %}

{% step %}
Themes
{% endstep %}

{% step %}
Customers
{% endstep %}
{% endstepper %}

Translations are restored after the main data of each type.

## What each data type does

| Data type                  | What to expect                                                                                                                                                                                                                                                                                                                                                                                     |
| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Products**               | Restoring media or variants **replaces** those lists. Media and variants you added after the backup are removed. Restoring a product also matches its collection membership to the backup: the product is removed from manual collections it joined later, and automated collections are left alone. Videos and 3D models are uploaded again. Inventory quantities and locations are not restored. |
| **Collections**            | Rules, manual product selections and the collection image are restored.                                                                                                                                                                                                                                                                                                                            |
| **Customers**              | Matched by ID first, then by email. A re-created customer with the same email counts as the same customer. Name, email, phone, language, note, tags, tax-exempt status, addresses and metafields are restored. Passwords and payment details are never restored.                                                                                                                                   |
| **Themes**                 | Theme files are never deleted: files that exist only on your live theme are kept. You can restore into the theme itself, into a copy of it, or into a new unpublished theme. If a theme was deleted, it comes back as a new, unpublished theme. See [Restore a theme](/backup-and-restore-tipo/restore/restore/restore-a-theme.md).                                                                |
| **Blog posts**             | A post needs its blog. If the blog is gone, restore **Blogs** in the same restore, or restore the blog first. Otherwise the post is reported as a conflict.                                                                                                                                                                                                                                        |
| **Metafield definitions**  | If your store's definition has a different type than the backup, it is reported as a conflict and not changed. Shopify's standard definitions can't be changed and are skipped.                                                                                                                                                                                                                    |
| **Metaobject definitions** | Fields that exist only in your store are kept and reported as a warning. A change of type is reported, not forced.                                                                                                                                                                                                                                                                                 |
| **Files**                  | A deleted file is re-created from the app's stored copy. For a file that still exists, only its alt text is restored, unless you choose to also replace the file's content on a quick restore. A file with no stored copy, such as an external video, can't be uploaded again.                                                                                                                     |
| **Pages, Blogs, Menus**    | Content and translations are restored.                                                                                                                                                                                                                                                                                                                                                             |

## Data you can't restore

Orders, Inventory (quantities and locations), Policies, Saved searches and Shipping zones are backed up and can be browsed and downloaded, but they have no restore. If you upload an exported file that contains them, they appear under **Not restorable yet**. See [What we back up](/backup-and-restore-tipo/reference/how-it-works/what-we-back-up.md).

## Conflicts, failures and partly restored

| Result                         | What it means                                                                                                                                                                   |
| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Already matched the backup** | The item already equals the backup, so nothing was written.                                                                                                                     |
| **Still in your store**        | You used **Restore deleted items only** and the item still exists, so it was skipped.                                                                                           |
| **Conflict**                   | The app chose not to write the item, for example a blog post whose blog is missing or a metafield definition with a different type. The reason is shown in the restore details. |
| **Failed**                     | Shopify rejected the write. The reason is shown in the restore details.                                                                                                         |
| **Partly restored**            | A theme counts as one item. Some of its files were written and some failed. Restoring again rewrites only the files that still differ.                                          |

Open [Restore history](/backup-and-restore-tipo/restore/restore/restore-history.md) to see the reason for each item.

## Rules that limit a restore

* **One restore at a time** for each store.
* **No restore during a backup.** Wait for the backup to finish, then start the restore.
* **Plan limits.** If your store is over its plan, backups and restores are paused until you upgrade or free up space.
* **Expired backups.** A backup older than your plan's retention can't be restored as a whole. You can still restore specific items from it. See [Restore selected items](/backup-and-restore-tipo/restore/restore/restore-selected-items.md).

## Next steps

* [Restore from a backup](/backup-and-restore-tipo/restore/restore/restore-from-a-backup.md)
* [Restore deleted items](/backup-and-restore-tipo/restore/restore/restore-deleted-items.md)
* [Follow a restore](/backup-and-restore-tipo/restore/restore/follow-a-restore.md)
* [Compare a backup with your live store](/backup-and-restore-tipo/browse-and-compare/browse/compare-with-live-store.md)
