How to recover from a bad bulk price change
Checked against Shopify's help pages on November 6, 2026. The rules come from their documentation. The routine is our suggestion, and we haven't run it on a live store.
The short answer
We didn't find an undo for product CSV imports in Shopify's documentation. It says imports can't be canceled once they begin, and that you can't view a history of past imports. The realistic route is to use an earlier export to build a new file that puts back only the prices that went wrong.
If an app made the change, check whether it has its own revert feature first. Then verify the result yourself, using the comparison in step 4.
1. Stop anything else that changes prices
Pause other imports, scheduled price changes and automations. You want the prices to hold still while you work out what happened.
2. Export the current state
Export your products now and keep the file. This is your record of the damage, and you'll need it to compare against.
3. Find your last good copy
Look for the most recent export from before the change. If you don't have one, see the section on having no backup below.
Your store's activity log can help you work out when the change happened. Shopify points to it for reviewing recent changes made by an import.
4. Find out what changed
In the free checker, use your last good export as the current export, and today's export as the new file. Set the price limit low, then download the report. For variants with matching handles and option values, it flags Price and market price changes at or above your limit. Set the limit to 0 to include every change it can compare.
Review these separately, because the price check doesn't cover them: variants whose option values changed, and compare-at prices.
5. Build a small restore file
Start from today's export, not the old one. That keeps your current titles, handles and options. An old file could undo legitimate edits, and changed option values can replace variant IDs. Keep only the products that went wrong, with every variant of each one, and these columns:
- URL handle and Title
- Status, with each product's current value
- Every option name, value and linked-to column your products use, all unchanged
- Price
- Compare-at price, if that changed too
- Any market price columns that changed
Then copy back from your last good export only the prices you've confirmed are wrong. Check first whether anyone changed a price on purpose after your backup. If a product's handle or options changed between the two exports, fix that product on its own instead.
Don't sort the file. Shopify warns that sorted files can cause problems, including lost product images.
6. Test on one product
Import a file with one product, using Overwrite products with matching handles. Check its price and all of its variants in your admin, including that its variants are still there. If anything looks wrong, stop here.
7. Import the rest and verify
Import the remaining products, then export again and compare that with your last good export. Only the changes you meant to keep should remain.
If you have no backup
Don't guess at old prices across your whole catalog. Try these sources instead:
- Your store's activity log, to work out what changed and when
- A supplier price list, or the file you used for the original import
- The revert or history feature of the app that made the change, if there is one
- Shopify Support, for your specific case
Afterward, make an export before every bulk change, so that you always have a recent copy.
Don't forget orders
Restoring product prices is only part of the job. Separately review any orders placed while the prices were wrong, and decide how you want to handle them.