What We Save & How It Works. This page is ready

What We Save & How It Works

What we save

When you export a product, we create a complete snapshot of everything that makes up that product.


The product itself

  • Title, handle (URL slug), and description (HTML)
  • Vendor, product type, and tags
  • Status (active or draft)
  • SEO title and description
  • Product category (Shopify's standard taxonomy)
  • Gift card flag
  • Custom theme template assignment (e.g. a "Pre-order" product template)

Variants

  • SKU, barcode, price, and compare-at price
  • Tax settings (taxable flag and tax code)
  • Weight, country/province of origin, and HS tariff codes
  • Shipping requirements
  • Inventory policy (whether overselling is allowed)
  • Option selections (e.g. "Size: Large", "Color: Red")

Media

  • Images — the actual image file is downloaded and included in the export
  • Videos — the actual video file is downloaded and included
  • 3D models — the actual model file is downloaded and included
  • YouTube / Vimeo embeds — the link is saved (the video itself stays on YouTube/Vimeo)

Custom data (metafields and metaobjects)

  • All custom field values on products, variants, collections, locations, and selling plans
  • All custom field definitions in your store — the schema that defines each field (name, type, validation rules, access settings, pinned status). Definitions are store-wide schema and are captured independently of which products are exported.
  • All metaobject definitions in your store and metaobject instances referenced by your products (e.g. size charts, product add-ons, colour swatches). Definitions are store-wide schema and are captured independently of which products are exported.

Inventory

  • Stock quantities at every location, including legacy and deactivated locations
  • Inventory item details: country of origin, HS tariff codes, unit cost, and weight

Collections

  • Every collection the product belongs to
  • Collection title, description, image (downloaded), SEO, sort order, and smart collection rules

We only save the collections your exported products belong to, not every collection in your store.


Sales channels

  • Which sales channels the product is published to (Online Store, Point of Sale, etc.)

Subscriptions and selling plans

  • Selling plan group associations (e.g. "Subscribe and save")
  • Full selling plan details (billing and delivery policies, plan names)

Product options

  • Option names and values (e.g. Size: S / M / L, Color: Red / Blue)
  • Linked metafields on options (if configured)

Snapshots and history

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.


What you can do with a snapshot

  • Import — click "Import" next to any snapshot on the Snapshots page to restore or duplicate products directly, without downloading anything first
  • Download — download a ZIP backup to your computer. Recommended for keeping a local copy, but no longer required for importing
  • Share — generate a share token and send it to another store. The other store pastes the token on their Snapshots page to transfer the snapshot. This is how cross-store Sync imports work.
  • Upload — re-upload a previously downloaded ZIP archive to the Snapshots page. This creates a new snapshot from your local backup, useful if the original server-side snapshot was removed or you want to import from a different device.

Snapshot retention

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.


Snapshots page layout

  • Create Snapshot — upload a previously downloaded ZIP archive from your computer, or paste a share token from another store to claim a transfer.
  • Snapshots — your saved exports and any snapshots transferred from other stores. Each row shows the date, source store, product count, and action buttons (Download, Import, Share for your own exports; Import for transfers).
  • Import Runs — a log of every import you have run, showing the date, mode, product count, and outcome. This is an audit trail — no actions are available on past runs.

Import modes

When you import products, you choose one of three modes.

Restore (same store only)

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.

  • The product is matched by its Shopify ID (GID) — if it still exists it is updated, otherwise it is recreated
  • Existing variants are matched by their Shopify ID within the parent product
  • All product data is overwritten with the saved snapshot
  • Shared resources are updated to match the snapshot — you review and approve each change before it runs
  • Full reconciliation: extras on the target not in the export are cleaned up — extra variants deleted, extra custom fields removed, unpublished from channels not in the export, inventory zeroed at extra locations, removed from collections and selling plan groups not in the export

Duplicate (same store only)

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.

  • A brand-new product is always created
  • If the original product still exists and its current handle would conflict, a timestamp suffix is added (e.g. blue-sneakers-20260215143052). If the handle was changed since the export, the original handle may be available and no suffix is needed.
  • All variants are created fresh
  • Media files are re-uploaded to the store
  • Custom field definitions and collections are matched by Shopify ID but not updated — if a matching resource already exists, we use it as-is without changing its configuration
  • Metaobjects are matched by Shopify ID and updated (upserted) — this is by design since they are shared content entries referenced by multiple products
  • No reconciliation: nothing on the target is removed or cleaned up — Duplicate is purely additive

Sync (cross-store only)

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.

  • Products are matched by handle on the target store
  • If a match is found, that product is updated to match the export; variants are matched by SKU
  • If no match is found, the product is created with its original handle
  • Shared resources are updated to match the source — you review and approve each change before it runs
  • Full reconciliation: same cleanup as Restore — extra variants, custom fields, channel assignments, inventory levels, collection memberships, and selling plan associations not in the export are removed

Sync is a destructive operation. Existing products with a matching handle will be overwritten. Products not in the export will not be deleted.

How we handle shared resources

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 (metafield definitions)

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.


Collections

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:

  • Delete and recreate (recommended): We delete the mismatched collection on the target store and recreate it with the correct type from the source. Products are added automatically (smart) or manually (custom) as appropriate.
  • Create new with suffix: We keep the existing collection as-is and create a new collection with a timestamp suffix on the handle (e.g., "summer-sale-20260303") and "(imported)" appended to the title for easy identification. When the existing collection is custom, products are removed from the old collection and the new smart collection determines membership automatically by its rules. When the existing collection is smart, products will remain in both collections — Shopify does not allow removing products from smart collections since membership is rule-based.
  • Keep existing: We sync other fields (title, description, image, SEO) but cannot change the collection type. For smart source → custom target, products are added manually but won't auto-update. For custom source → smart target, products only appear if they match the target's rules.

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 (size charts, add-ons, and other content)

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 (subscriptions)

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.


Sales channels

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.


Locations

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.

What we don't cover

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.

Reading the import summary

After every import, you'll see a summary that breaks down what happened. Here's what each section means:

  • Products — how many were created, updated, or failed. Gift card products that were skipped are counted separately.
  • Media — how many images, videos, and 3D models were uploaded successfully, failed, or were already present (reused).
  • Custom field definitions — how many were created on the target store, how many already existed, how many were updated (Restore / Sync mode), and how many were skipped or failed.
  • Collections — how many products were added to existing collections, how many collections were created, how many were updated (Restore / Sync mode), and how many could not be matched.
  • Sales channels — how many channel assignments were restored, failed, or could not be matched.
  • Selling plans — how many subscription groups were matched, how many product associations were restored, and how many failed.
  • Metaobject definitions — how many were created, already existed, or failed.
  • Metaobjects — how many were created, how many already existed (used as-is in Duplicate mode, or updated in Restore/Sync mode), and how many failed.
  • Custom field values — how many were set successfully and how many failed.

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.

Data security

Your product data is protected at every stage. Here is how we keep it safe:

  • Encrypted at rest — every piece of data, including media files, is individually encrypted before it is stored. It cannot be read without the correct key.
  • Store isolation — each store's data is kept completely separate from every other store.
  • ZIP files stay on your device — when you click Download, the archive is assembled on the fly and streamed directly to your browser. It is never saved on our servers.
  • Sharing is opt-in — no one can access your snapshots unless you generate a share token and give it to them. The receiving store gets their own independent copy.