Skip to main content
Products in MerchantOps are versioned. Instead of overwriting a product each time it changes, the catalog keeps successive versions of it, so you can compare, label, and roll forward without losing earlier data. This page explains how versioning works and which version to trust. For the shared vocabulary, see Core concepts.

Versions of a product

A product’s key stays the same across every version, so all versions of a product share one identity. Each version has an auto-incrementing version number starting at 1 and, optionally, a note describing what changed and which version it was created from — an audit trail of how the product evolved.
stable across versions
The identifier shared by every version. Records with the same key, in your organization, are versions of the same product.
auto-incrementing number
A number that increases with each new version, starting at 1.

Enrichment adds versions, it doesn’t overwrite

Enrichment creates a new version rather than modifying the existing one in place: each run adds source-specific versions plus a merged, production-labeled version and leaves the merchant-supplied version intact, so an enrichment run never destroys the data you started with. Ordinary field edits, by contrast, update the latest version in place — change tracking there is by content hash, not a new version number. Use the explicit create-version action when you want to snapshot the current version before editing.
Enrichment merges data from several sources and records the result as a new version. Which source wins a given field is decided per property, not by one global ranking — see How enrichment works and the source field on Products & variants.

The latest and production versions hold the richest data

Because each pass adds to what came before, the latest version is usually the most complete. You can also mark one version as the production version with the reserved production label — that’s the canonical version, and only one version of a product may hold the label at a time.
When you need a product’s best data, read the latest or production-labeled version. Some fields — such as brand and identifiers — are populated during enrichment, so they may be present only on an enriched version and absent from an earlier merchant-input one.
Because brand and identifier fields may only exist on enriched versions, don’t assume an early or unenriched version carries them. If a value looks missing, check the latest or production version before concluding it was never set.

How versions relate to publishing

Publishing is version-aware: what goes to a publishing target is a specific version’s content, and a product’s publish status (draft / live / changed) reflects whether its current content matches what was last published. See Products & variants for the publish-status summary.

Display groups & labels

How the production label marks the canonical version.

Products & variants

What a product version holds and how variants relate.