You export products, change a few prices and import the file again. The prices update, but a vendor name disappears or a variant no longer behaves as expected. The import may have done exactly what the file instructed, even though the spreadsheet looked harmless.
In a Shopify product CSV overwrite, an empty cell and an omitted column are not equivalent. A blank value in a non-required column can clear the existing value. Leaving that optional column out can preserve it, provided the remaining fields do not depend on it. Required fields and dependent variant data need separate attention.
First establish what the import will match
Shopify’s overwrite option matches existing products by their handles. It does not turn a product CSV into a universal “match anything by SKU” update. If the overwrite option is not selected, matching products are ignored rather than updated.
The Shopify product-import documentation explains this behavior and warns that changing option values can recreate variant IDs. That matters when another system refers to a variant by its ID instead of its visible SKU.
Before editing, write down the intended change in one sentence: “Update the price of these existing variants while preserving their identity.” If the file also changes handles, options, images and inventory behavior, it is no longer a simple price update.
Three similar-looking files can have different effects
| File condition | Possible result during overwrite |
|---|---|
| An optional Vendor column is present with an empty value | The existing vendor value is cleared |
| The optional Vendor column is omitted | The existing vendor value is preserved |
| A variant field is present but required supporting option data is missing | Variant data may be removed or the import may fail, depending on the fields |
This table describes specific situations, not a promise that every blank cell in every CSV behaves the same way. Product imports contain required fields, defaults, dependencies and rows serving different purposes. Apply the rule at the field level.
Work from a fresh export of your own store
Keep an untouched original and make a separate working copy. A supplier spreadsheet or an old template may use different names, values or product groupings. Starting from your current export gives you a known relationship between the file and the store.
Shopify’s CSV field reference distinguishes required columns from dependent data. It also notes that older templates may use older header names. Preserve the headers in the current export rather than translating or casually renaming them.
If your change concerns variants, keep the option information needed to identify them correctly. Avoid deleting every column except SKU and price on the assumption that this creates a safe minimal file. “Minimal” is useful only when the remaining data still describes the intended update.
Review changes as a list of operations
Suppose three variants need new prices: small at 24.00, medium at 26.00 and large at 28.00. Your review should confirm three price changes and no intentional changes to vendor, description, images, options or selling behavior.
Count the affected products and variants. Compare old and new values. Flag new empty cells in columns that previously contained data, and check for duplicated or missing rows. If you cannot explain why a cell changed, keep it out of the upload until the cause is understood.
Spreadsheet editors can also alter identifiers or interpret text as dates. Review fields with leading zeros, long numeric-looking codes and option values that resemble dates. The exported CSV is plain data; the spreadsheet’s visual formatting does not necessarily represent what will be saved.
Test products with different structures
A single product without options is an incomplete test for a catalog containing multi-variant products. Choose a small sample that includes the structures affected by your change: one simple product, one with several options and one with the image or integration behavior you need to preserve.
Where possible, test in a suitable development environment before changing the live catalog. Keep the test narrow enough to inspect manually. A clean import message means the file was processed; it does not prove that all business relationships remain correct.
After the test, compare the admin and the storefront. Check option selection, prices, images and availability. If an external fulfillment or merchandising tool relies on the products, verify its view too.
Keep inventory changes separate when they need a different file
Product information and inventory by location are related, but they are not interchangeable datasets. Shopify’s CSV documentation directs stores using multiple locations to the inventory CSV for location-specific quantities. Do not assume the product export is a complete inventory backup.
A useful operational separation is to finish and verify the product-data update before starting a distinct stock adjustment. If both are necessary, document both operations. Otherwise a price-import problem and an inventory-sync problem can become difficult to distinguish.
If data has already disappeared, stop before importing everything again
Save the uploaded file, the original export and the time of the import. Identify which products and fields changed. Another broad upload can overwrite legitimate changes made since the first one, including edits by staff or connected apps.
For a small number of cleared fields, a targeted repair may be easier to verify than a full-catalog restoration. If variant identity has changed, involve the people responsible for dependent integrations before treating an older CSV as a complete rollback.
Finish with a new export and compare the intended fields again. The important result is not simply that the missing text has returned. It is that the requested update happened while the relationships needed to sell and fulfill those products still work.