What We Save & How It Works. This page is ready
When you export a product, we create a complete snapshot of everything that makes up that product.
We only save the collections your exported products belong to, not every collection in your store.
Every time you export products, a snapshot is saved securely on our servers. You can manage your snapshots from the Snapshots page — no need to download and re-upload files.
Up to 3 snapshots are kept per store. When you export and a fourth snapshot would be created, the oldest one is automatically removed to make room. Downloaded backups on your computer are not affected — only the server-side copy is removed.
When you import products, you choose one of three modes.
Use Restore when you want to update an existing product on the same store it was exported from. Useful for reverting a product to a previous state or recovering after accidental changes.
Use Duplicate when you want to create a new copy of a product on the same store it was exported from. Useful for creating product templates, duplicating before making changes, or testing variations.
blue-sneakers-20260215143052). If the handle was changed since the export, the original handle may be available and no suffix is needed.Use Sync when you want to replicate products from one store to another and keep them in step over time - for example, keeping a staging store up to date with your live store.
Sync is a destructive operation. Existing products with a matching handle will be overwritten. Products not in the export will not be deleted.
Some things in Shopify are not owned by a single product. Custom field definitions, collections, metaobjects, and selling plan groups can be shared across many products. When we import a product, we need to decide what to do when one of these shared resources already exists on the target store but looks slightly different from what was saved.
The approach depends on which mode you use. In Restore and Sync mode, shared resources are updated to match the export snapshot — you review and approve each change in a per-resource preview before the import runs. In Duplicate mode, all shared resources — custom field definitions, collections, metaobjects, and metaobject definitions — are matched but never updated. Only missing resources are created. If a match is found but values differ, the import summary logs a warning for your review.
Custom field definitions are the schema behind your custom fields — the display name, data type, and validation rules for fields like "Wash instructions" or "Add Ons".
How we match: By the technical identifier (namespace, key, and owner type) — not by the display name.
If a matching definition already exists (Restore / Sync): We update the display name to match the source when it differs.
If a matching definition already exists (Duplicate): We use it as-is. We do not update the display name, description, or validation rules, even if they differ from the export. The import summary will warn you if it finds a name mismatch so you can review it manually.
If no matching definition exists: We create it with all saved settings (all modes).
Pinned status (Restore / Sync): The pinned/unpinned status in the Shopify admin is synced to match the export — you review and approve each change before it runs. Duplicate mode does not change pin status on existing definitions.
How we match: By Shopify ID in Restore and Duplicate (same store); by handle in Sync (cross-store, since Shopify IDs don't transfer between stores).
If a matching collection already exists (Restore / Sync): We update the collection's title, description, image, SEO, sort order, and smart collection rules to match the source — you review and approve each change before it runs. Products are added to custom collections; smart collection membership is determined automatically by the synced rules.
Collection type mismatch: Shopify does not allow converting between custom (manual) and smart (automated) collections in either direction — not through the API or the Shopify admin. When you click Restore or Sync, we scan for type mismatches and show a confirmation dialog with three options per collection:
If a matching collection already exists (Duplicate): We add the product to it but do not update the collection's title, description, image, rules, or any other details. The import summary will warn you if it finds a title mismatch.
If no matching collection exists: We create it with the full saved data — title, description, image, SEO, sort order, and smart collection rules (all modes).
Metaobjects are standalone content entries (like a size chart or a product add-on list) that products reference through custom fields.
How we match: By Shopify ID in Restore and Duplicate (same store); by handle in Sync (cross-store, since Shopify IDs don't transfer between stores).
If a matching metaobject already exists (Restore / Sync): We update its field values to match the export — you review and approve each change before it runs.
If a matching metaobject already exists (Duplicate): We use it as-is. We do not update its field values, even if they differ from the export. The import summary will warn you if it finds a field value mismatch so you can review it manually.
If no matching metaobject exists: We create it (all modes).
Metaobject definitions (schemas): Matched by type name in all modes. In Restore and Sync mode, existing definitions are updated to ensure all field types and capabilities are in place, and the display name is updated to match the export when it differs. In Duplicate mode, existing definitions are used as-is — only missing definitions are created.
Selling plan groups manage subscription and pre-order options. They are typically created and managed by a third-party subscription app (e.g. Recharge, Bold Subscriptions).
How we match: By merchant code.
If a matching group exists: We associate the product with it.
If no matching group exists: We skip it. We do not create new selling plan groups because they require configuration managed by the subscription app.
To fully restore subscription settings, make sure the same subscription app is installed and configured on the target store before importing.
How we match: By channel name (e.g. "Online Store", "Point of Sale").
If the channel exists on the target store: We publish the product to it.
If the channel does not exist: We skip it and note it in the import summary.
How we match (Restore / Duplicate — same store): By Shopify ID first, then by name, then by address. Shopify IDs are tried first because location names can be renamed after export.
How we match (Sync — cross-store): By name first, then by address. Shopify IDs don't transfer between stores.
If a matching location exists: We set the saved inventory quantities there.
If no matching location exists: We create a new location if address data is available in the export. If no address data is available, inventory for that location is skipped.
Reconciliation (Restore / Sync): Inventory at locations not in the export is zeroed out for that product. Duplicate mode does not reconcile — extra locations are left as-is.
Orders, customers, or other non-product data
Product Save & Sync is focused exclusively on product data.
Scheduled or automated backups
Exports are on-demand — you choose when to save.
International / market-specific pricing
Market-specific prices are managed through Shopify Markets, which is outside product-level data.
Creating new subscription groups
Subscription groups are managed by your subscription app; we only restore the association between a product and an existing group.
Generic file attachments in custom fields
Files attached through custom fields (file_reference type) are saved as a reference only — the file itself is not downloaded. Images, videos, and 3D models attached as product media are fully saved.
Third-party fulfillment service settings
If a variant was managed by a third-party fulfillment service, that setting is skipped and Shopify's default is used. The product and variant are still imported.
Gift card products (when gift cards are not enabled)
Gift card products require the gift card feature to be active on the target store. They are skipped with a count in the import summary.
Converting between custom and smart collections in place
Shopify does not allow changing a collection's type in either direction. When we detect a type mismatch, we show a dialog with three options: delete and recreate with the correct type, create a new collection with a suffix, or keep the existing collection as-is.
The base product theme template
The default product.json template is built into every theme. Only custom product templates (e.g. product.pre-order.json) are saved and restored.
YouTube / Vimeo video files
We save the embed link, not the video file itself. Downloading hosted video would violate platform terms of service.
After every import, you'll see a summary that breaks down what happened. Here's what each section means:
About warnings: Warnings in the import summary are informational. They tell you when we found a matching resource but noticed a difference — like a custom field definition with a different display name, or a collection with a different title. In Duplicate mode, these are left for you to resolve manually. In Restore and Sync mode, most mismatches are corrected automatically; warnings in these modes indicate cases where an automatic update was attempted but failed.
Your product data is protected at every stage. Here is how we keep it safe: