SHOPIFY PRODUCT CSV GUIDE
Shopify CSV products not updating? Check these 8 things
When an import finishes but titles, prices, statuses, or variants stay the same, the file may have matched an existing handle without permission to overwrite it—or it may describe a different product, an incomplete variant, or an unsupported operation.
Check update rows privatelyQUICK ANSWER
Match the existing product, include its dependent fields, and verify the overwrite preview.
Start from a fresh export and preserve the exact URL handle and product group.
Include Title plus every option or dependency required by the fields you change.
Confirm the expected overwrite before applying the file to the full catalog.
PRODUCT UPDATE CHECKS
What each result usually means
Matching products were ignoredThe import was not allowed to overwrite products with matching handles
Shopify matches existing products by URL handle. Its product CSV workflow includes an option to overwrite products with matching handles. If that option is not selected, rows that match existing products are ignored rather than applied.
Export a fresh backup, import a small file containing one known product, and select the overwrite option only after confirming the exact handle. Read the preview before applying the update to the full catalog.
New product created—or target product unchangedThe URL handle does not identify the existing product you intended to update
The URL handle is the product identity used for CSV matching. A title can look identical while its handle differs because of punctuation, normalization, a previous URL change, or editing in another store.
Export the target product from the target store and copy its handle exactly. Keep one lowercase, hyphenated handle across every row in that product group. Do not infer the handle from the current title.
Required column missingThe update file does not include both URL handle and Title
Shopify documents URL handle and Title as the required columns when updating products. A file trimmed down to only price, status, or SKU can omit the context Shopify requires even when those values are valid.
Start with a current product export and retain the exact handle and Title columns. Remove unrelated columns only after checking whether the fields you are updating depend on them.
Existing value became blank—or did not changeA blank column and a column omitted from the file have different overwrite behavior
With overwrite enabled, a blank cell in a non-required column clears the matching existing value. If that column is not included in the CSV at all, Shopify leaves the existing value unchanged. Empty and absent are different instructions.
Include a column only when you intend to manage that field. Put the desired replacement value in every relevant product row, omit unrelated columns, and inspect the preview for unexpected blanks.
Variant field did not update correctlyThe file changes a dependent field without describing the corresponding option
Fields such as SKU and weight belong to a specific variant. Shopify requires the related option name and option value columns so it can identify that variant. Importing only part of a dependent field group can delete or replace existing option data.
Keep the option name and value columns from a fresh export whenever you update variant fields. Preserve every row in the product group and verify that each option combination remains unique.
Variant changed, but integrations brokeEditing option values deleted existing variant IDs and created new ones
Shopify warns that changing option values in a product CSV deletes the existing variant IDs and creates new IDs. The visible product can look correct while apps, fulfillment systems, feeds, or custom integrations still point to the old variants.
Treat option-value changes as an identity migration, not a simple label edit. Test one product, record its integrations, and verify downstream systems after the import.
Import completed, requested operation unchangedThe product CSV does not support that bulk operation
Product CSV files cannot bulk-delete products or bulk-update product availability on other sales channels. Inventory by location also has its own CSV workflow. A clean product file cannot perform an operation outside its supported scope.
Use Shopify admin bulk actions for product deletion or sales-channel availability, and use the inventory CSV for location quantities. For stock-specific problems, follow the inventory CSV checklist.
Preview does not show the expected updatesThe file is stale, from another store, or broader than the change you intended
A structurally valid CSV can still describe the wrong products. Old handles, copied app values, extra product groups, or spreadsheet export changes can make the preview differ from your plan.
Export a fresh file from the target store, isolate one product group, make the smallest explainable edit, save as comma-separated UTF-8, and stop if the preview does not name the exact expected creates and updates.
KNOW THE BOUNDARY
What can be checked before Shopify applies the update?
Merch Preflight checks locally
- Required Title column and recognizable templates
- Handle formatting and product grouping
- Option names, values, and duplicate combinations
- Price, status, boolean, and inventory formats
- Malformed rows, headers, quoting, and encoding
Shopify must check
- Whether a handle matches an existing product
- Whether overwrite is selected for this import
- Apps and dependencies tied to variant IDs
- Sales-channel, location, and store-specific state
- The final preview and applied product result
Your product names, prices, SKUs, and supplier data stay in this browser.
FIVE-MINUTE TEST
Before you retry the product update
- 1Export the target product
Use its exact handle, Title, options, and current field structure.
- 2Keep an untouched backup
Overwrite can clear blank fields and replace variant identities.
- 3Change one product group
Make the smallest edit that proves the intended update path.
- 4Validate the exported CSV
Check headers, grouping, dependencies, and deterministic field formats.
- 5Read Shopify’s preview
Confirm the exact creates, updates, and blanks before applying anything.
FAQ
Shopify product CSV update questions
Why were my existing products ignored?
If the overwrite option is not selected, Shopify ignores rows whose handles match existing products. Confirm the handles and preview before enabling overwrite.
Which columns are required for product updates?
Shopify documents URL handle and Title as required. Variant-related updates can also require the corresponding option name and value columns.
Will a blank cell preserve the existing value?
No. With overwrite enabled, a blank non-required cell clears the existing value. Omitting the entire non-required column preserves the existing value.
Does a clean validation report guarantee the update?
No. Local checks can find deterministic file problems, but Shopify still controls product matching, overwrite selection, store state, apps, and the final result.
Official references
This guide follows Shopify’s current documentation on using product CSV files and overwriting matching products, importing products by CSV, and common product CSV import problems. Shopify can change templates and import behavior; its current exports, documentation, preview, and final result remain the authority.