Synthetic Industry

Inspectable example · updated 2026-10-11

Synthetic worked example: a Shopify import that blanked a vendor and removed variants

Inspect invented rows showing how an import with a blank column and missing option columns changes a product, and the corrective file that restores it.

An example, not a customer case study. Scope and evidence limitations are described below.

What this example is

This is an invented fixture, not a customer record and not an executed repair. The store, product, SKUs and prices are made up. Header names follow the names on Shopify's product CSV page when checked; always confirm headers against a template exported from your own store, because headers are case sensitive. The option name shown for a default variant is illustrative.

  • One product, three size variants, one vendor.
  • One import file with a blank vendor column and no option columns.

The reference: the export taken before the import

The reference holds the product as it should be. One product has three variants, and the vendor is filled in on the first row only.

If the matrix is wider than the box, scroll horizontally to read every column. Keyboard: focus the matrix and use Left/Right.

URL handle,Title,Vendor,Option1 name,Option1 value,SKU,Price
trail-sock,Trail Sock,Northfield Outfitters,Size,S,TS-S,9.00
trail-sock,,,Size,M,TS-M,9.00
trail-sock,,,Size,L,TS-L,9.00

The file that was imported, with overwrite on

The imported file came from a supplier spreadsheet. It has a Vendor column that is empty in this row, a SKU and a price, and no option columns.

If the matrix is wider than the box, scroll horizontally to read every column. Keyboard: focus the matrix and use Left/Right.

URL handle,Title,Vendor,SKU,Price
trail-sock,Trail Sock,,TS-S,10.00

What the store holds afterwards

Three things happened, each documented by Shopify. The blank vendor cell erased the stored vendor. The price changed because the column was present and overwrite was on. Because SKU was included without the option name and value columns, the existing variants were replaced by one default variant. The other two sizes, M and L, are gone from the product, and their old variant IDs cannot be recovered from a file.

If the matrix is wider than the box, scroll horizontally to read every column. Keyboard: focus the matrix and use Left/Right.

URL handle,Title,Vendor,Option1 name,Option1 value,SKU,Price
trail-sock,Trail Sock,,Title,Default Title,TS-S,10.00

The corrective file

The corrective file is built from the reference, limited to the affected handle and the columns that need restoring, and it keeps the option columns together with the SKU. It restores the vendor, the three sizes and the original prices. The variants it creates are new records with new IDs, so any app that relied on the old IDs has to be re-linked.

If the matrix is wider than the box, scroll horizontally to read every column. Keyboard: focus the matrix and use Left/Right.

URL handle,Title,Vendor,Option1 name,Option1 value,SKU,Price
trail-sock,Trail Sock,Northfield Outfitters,Size,S,TS-S,9.00
trail-sock,,,Size,M,TS-M,9.00
trail-sock,,,Size,L,TS-L,9.00

How the result would be checked

The check starts from the damage, not from the reference. A separate test store is seeded with the damaged product, using the file shown under "What the store holds afterwards", and exported. That export must show the problem: the vendor blank, the price 10.00 and one default variant where the reference has three. If the seeded store does not show the damage, the test has not reproduced the problem and proves nothing. The corrective file is then imported, the products are re-exported and compared with the reference column by column. The check passes only if the comparison shows no difference in the agreed columns, the variant count is three, and no other product in the test store changed. Importing on the live store, after exporting its products again, is a separate step taken by the store owner.

  • Before, on the seeded test store: variant count 1, vendor blank, price 10.00.
  • After, on the same store: variant count 3, vendor restored, price 9.00 on each variant.
  • Other products in the test store: unchanged.

What this example does not show

It does not show stock counts, images or apps. The CSV inventory quantity applies to single-location stores only, image rows can be lost when a file is sorted in a spreadsheet, and old variant IDs cannot be restored. A real repair lists those limits for the specific store before any file is built.

Sources and limits

  • Shopify Help Center: Importing products with a CSV file Checked 2026-10-11.
    • A blank cell in a non-required column erases the stored value, and a column left out of the file leaves stored values unchanged.
    • Including SKU without the option name and value columns removes variants.
    • Changing an option value deletes existing variant IDs and creates new ones.
  • Shopify Help Center: Product CSV file format Checked 2026-10-11.
    • Variant rows repeat the handle and leave title, description, vendor and tags empty.
    • A single-option product uses Default Title.
    • If variant-dependent columns such as SKU are included, the option name and value columns must be included too.