CatalogWitness
Catalog operations · Practical guide

Why a before-and-after CSV diff cannot establish intent

A three-way comparison separates expected changes from unexpected drift using a target sheet you supply.

A difference is an observation

Suppose a product price changes from 40 to 45. A two-file diff correctly reports the change. Whether 45 is correct depends on the brief. If the approved price was 44, the change still needs review.

Add the approved target as a third input

Use an original snapshot, an explicit approved target sheet and an actual snapshot. Existing records omitted from the target are expected to stay unchanged in selected fields. A new target identity declares an addition. Omission never authorizes deletion.

Treat identity as a requirement

Rows can move between exports. Match by a stable unique identity, not by row position. 00123 and 123 remain different keys, as do ABC and abc. Duplicate identifiers are unresolved because choosing an arbitrary row would manufacture certainty.

Keep the result bounded

This method verifies selected exported values. It does not inspect the storefront, understand the commercial intent, or certify migration completeness. Product fields unavailable in either snapshot cannot be checked.

Separate the record from the conclusion

A downloadable report makes the compared inputs and rules inspectable. The client still decides whether the documented scope is enough to accept the work.

Source reviewed September 5, 2026: Shopify official documentation. Platform behavior can change; check current guidance before importing.

Try the worked example

The sample uses fictional catalog data. Review every finding free and download the sample evidence package.

Open CatalogWitness →

More guides