Changing one Shopify price is easy. Changing hundreds or thousands of variant prices is a different problem.
There are three common ways to handle bulk price updates:
- Shopify’s native bulk editor
- Product CSV export and import
- A dedicated bulk price editor app
The right method depends less on the size of your catalog than on the type of change you need to make.
Shopify bulk price editing at a glance
Scroll horizontally to compare all three methods.
| Pricing workflow | Shopify bulk editor | CSV | Dedicated pricing app |
|---|---|---|---|
| Correct a few exact prices | Strong fit | Usually unnecessary | Usually unnecessary |
| Import many different exact prices | Possible, but repetitive | Strong fit | Depends on the app |
| Apply a percentage-based change | Final values must be entered | Calculate in spreadsheet | Strong fit if rules are supported |
| Review calculated results before update | Direct table review | Spreadsheet review | Dedicated preview if supported |
| See which variants a pricing rule will affect | Manual selection and review | Review spreadsheet rows | Dedicated preview if supported |
| Start a pricing change later | Requires a separate or manual workflow | Import at the intended time or automate separately | Scheduling if supported |
| Restore exact original values | Re-enter old values | Re-import saved original data | Rollback if original values are saved |
| Run a temporary sale from start to finish | Multiple manual steps | Export, import, and restore workflow | Can stay in one workflow if supported |
Round calculated prices to .99 | Manual | Spreadsheet formula | Rule-based if supported |
| Repeat the same pricing process | Manual repetition | Reuse spreadsheet workflow | Strong fit for repeatable rules if supported |
Editing values vs managing a price change
Editing prices is not always the same problem as managing a price change.
If you are correcting five wrong prices, entering the new values may be the whole job.
For a temporary sale, you may also need to:
- select the right products and exclude new arrivals;
- calculate new prices;
- check the affected variants and final values before Shopify is changed;
- start the update later;
- preserve the original values;
- end the promotion and restore those values.
Shopify’s bulk editor and CSV help you write new price values. A dedicated app can help manage the preparation, timing, and restoration around those values, depending on its features.
That is a pricing workflow, not just a calculation.
Option 1: Shopify’s native bulk editor
Shopify includes a bulk editor in the admin for editing multiple products and variants in a table.
You select the products you want to change, open the bulk editor, choose the properties you want to see, and edit their values.
For pricing work, this is useful when you already know the exact values you want to enter.
For example, imagine five products currently have incorrect prices:
| Variant | Current Price | New Price |
|---|---|---|
| Product A | $39 | $42 |
| Product B | $55 | $59 |
| Product C | $70 | $72 |
| Product D | $24 | $25 |
| Product E | $99 | $95 |
There is little reason to introduce an export/import workflow or another app for a change like this. Open the bulk editor, enter the corrected values, review them, and save.
Where the native bulk editor works well
The native editor is a good fit when:
- you have a relatively small or manageable selection;
- you know the final prices;
- the values are easy to enter directly;
- you are making a one-off correction;
- you want to edit Price and Compare-at price next to other product properties.
You can also select multiple cells and apply the same value to them, which makes some repetitive updates faster. Shopify explains the steps and shortcuts in its bulk editing documentation.
Where direct editing becomes inconvenient
The workflow becomes more repetitive when the price update is based on a calculation.
Suppose 300 variants need a 17% increase.
The important value is no longer simply “the new price.” You first need to calculate a different final value for every existing price.
The same problem appears when you want rules such as:
- decrease current prices by 20%;
- add 15% to Compare-at price;
- increase prices and end every result in
.99; - apply one pricing rule to a collection but exclude several products.
At that point, a spreadsheet or a dedicated pricing tool can become easier than entering final values directly.
Option 2: Export, edit, and import a Shopify product CSV
Shopify product CSV files are useful when you want to work with product data in a spreadsheet and then import the final values back into Shopify.
The product CSV supports pricing fields including:
- Price;
- Compare-at price;
- Cost per item.
A typical workflow is:
- Export the relevant products.
- Keep a copy of the original export.
- Open the working copy in Excel, Google Sheets, Numbers, or another spreadsheet tool.
- Calculate or enter the new values.
- Review the rows carefully.
- Import the CSV back into Shopify.
When CSV is a strong choice
CSV is particularly useful when every SKU or variant already has a different target value.
For example, a supplier sends you an updated spreadsheet:
| SKU | Old Price | New Price |
|---|---|---|
| ABC-001 | $24.00 | $25.50 |
| ABC-002 | $31.00 | $33.00 |
| ABC-003 | $18.50 | $19.25 |
| ABC-004 | $42.00 | $45.00 |
If those exact new values are already available, a CSV workflow can make more sense than building a percentage rule.
For a deeper look at operational safety and review workflows, see our guide to bulk price changes across large Shopify catalogs.
CSV is also useful when spreadsheet formulas are part of your normal pricing process.
For example, you could calculate:
and then import the resulting final prices.
CSV gives you flexibility, but you own the spreadsheet logic
Shopify imports the values in the CSV. It does not turn the CSV itself into a reusable pricing rule.
If you want to reduce every price by 20%, your spreadsheet needs to calculate the final values before import.
If you want every result to end in .99, that logic also needs to exist in your spreadsheet.
This is powerful because you can build almost any calculation you want. It also means that you need to review the formulas and resulting rows carefully.
Keep the original export
If the update is temporary, keep an untouched export of the original values.
That file can act as a backup if you need to restore the previous prices later.
This is especially important for percentage changes.
A 20% decrease cannot be reversed by simply increasing the reduced price by 20%.
For example:
- Original Price: $100
- Reduce by 20%: $80
- Increase $80 by 20%: $96
The original value was $100, not $96.
For temporary pricing changes, restoring known original values is safer than trying to reconstruct them with an inverse calculation.
Be careful when editing product CSV structure
A Shopify product CSV contains more than prices.
Variant rows and some columns depend on other product data. Removing or changing identifying or option data without understanding the file structure can produce unexpected results.
If your goal is only to update prices, make the smallest necessary changes and preserve the structure required to identify the correct products and variants.
Do not treat a product CSV like an arbitrary spreadsheet that can be rearranged without consequences. Check Shopify’s product CSV structure and column dependencies before removing columns.
Option 3: Use a dedicated bulk price editor app
Shopify’s bulk editor and CSV both give you ways to write new values to product fields. A dedicated pricing app becomes useful when you also need to manage what happens before and after those values change.
The workflow can look like this:
Choose products → define the change → preview calculated results → apply now or schedule → verify → restore saved original values later.
For a temporary promotion, calculating a 20% reduction is only one step. You may also need to confirm which variants are affected, schedule the start, preserve original values, and restore them when the promotion ends.
Not every bulk price editor supports preview, scheduling, rounding, exclusions, or saved-value rollback. Check the specific app before choosing one.
Prepare the change before the sale needs to start
Suppose your sale starts Friday at 00:01.
If you handle the start with direct bulk edits or a CSV import, someone needs to apply the prepared values at that time, or arrange a separate automation workflow.
An app with scheduling lets you prepare and check the pricing workflow in advance, then set the update to run later. You can do the preparation when you have time, rather than returning to Shopify at the sale’s start time.
See the result before Shopify is changed
In the native bulk editor, you see and edit the selected values directly in the table.
With CSV, you can check the spreadsheet rows, formulas, and final values before import.
An app with a dedicated preview can show the result of the pricing rule: which variants match the scope and which values will be written. This is particularly useful for percentage changes, collection targeting, exclusions, many variants, and changes to Price and Compare-at price together.
The benefit is visibility before applying the update. You still need to review the selection and results.
Plan restoration as carefully as the start
A temporary price change has two parts: applying the new prices and returning to the old ones.
With the native bulk editor, you need to know the original values and enter them again. With CSV, you can keep an untouched export and later re-import the original pricing data.
An app that saves original values can restore those exact values instead of requiring you to reconstruct them. Scheduled rollback, if supported, also lets you plan the end while preparing the start.
An inverse percentage is not rollback:
$100 → -20% → $80$80 → +20% → $96
The original Price was $100. Restoration needs that saved value, not another 20% calculation.
Keep fewer manual stages around a temporary change
For a temporary percentage sale, a CSV workflow might be:
Export → save an original copy → calculate new values → review formulas → import → verify → later prepare a restore file → import originals → verify restoration.
An app with the relevant features can keep the process together:
Choose scope → define the change → preview → schedule or apply → verify → roll back saved originals → verify restoration.
CSV remains powerful, especially when the spreadsheet is already your source of truth. For repeatable temporary pricing changes, the extra export, import, and restoration stages can become operational work that a dedicated tool helps reduce.
Which method should you use?
Do not choose based only on how many products are in your store.
Choose based on the shape of the pricing problem.
Example: 12 prices are wrong
Use Shopify’s native bulk editor.
You notice that 12 products have outdated prices.
You already know the correct values.
Open the native bulk editor and fix them directly.
That is probably the simplest workflow.
Example: a supplier sends 2,000 different exact prices
A supplier sends new prices for 2,000 SKUs.
Every SKU has a different final value.
Importing those values from a prepared spreadsheet is a natural CSV workflow.
A dedicated pricing app adds little value if the exact values are already provided and you do not need a separate scheduling or restoration workflow.
Example: a recurring temporary sale needs scheduling and restoration
Use a dedicated pricing app when you want to manage the full process repeatedly.
For example, you want to:
- reduce two collections by 20%;
- exclude new arrivals;
- set the old selling Price as Compare-at price;
- round new selling prices to
.99; - preview the affected variants and calculated values;
- schedule the start;
- restore the original prices afterward.
Here, the task includes preparation, review, timing, and restoration. A dedicated pricing tool with those features can make that process easier to manage each time.
Example: a weekend sale
Suppose you want to run this promotion:
- start Friday at 00:01;
- reduce Price by 20% in selected collections;
- exclude new arrivals;
- use the old Price as Compare-at price;
- end Sunday at 23:59 and restore the original values.
For one affected variant, the full lifecycle looks like this:
| Field | Before sale | During sale | After restoration |
|---|---|---|---|
| Price | $100 | $80 | $100 |
| Compare-at price | — | $100 | — |
For details about how these fields work together, see our Shopify Compare-at price guide.
These examples change the product’s stored prices. Shopify Discounts are a separate workflow.
With the native bulk editor
Select the variants, leave out new arrivals, and calculate the final Price and Compare-at price values. Apply those values when the sale should start, then verify them in Shopify Admin and on the storefront.
Keep a record of the original values so you can enter them again when the sale ends and check the restoration.
This can be a sensible choice for a small selection. You manage the selection, final values, timing, and restoration yourself.
With CSV
Export the products, keep an untouched original copy, and calculate the sale values in a working spreadsheet. Review the rows and exclusions, then import the sale prices at the intended start time and verify the result.
When the sale ends, prepare the original pricing values for import, restore them, and check the result. Review any intervening price changes before using the old data.
This is a strong option if you are comfortable managing the sale through spreadsheets.
With Springify
Choose the collections and exclusions, define the 20% decrease, and set the old Price as Compare-at price. Prepare a preview to check the affected variants and calculated values.
After review, use Copy to new task to create the scheduled version with the same selection and pricing settings. Schedule the Friday 00:01 start and Sunday 23:59 rollback.
When the change runs, Springify saves the original values for the variants it changes. The scheduled rollback restores those saved values. Verify representative variants in Shopify Admin and on the storefront after the sale starts and after restoration.
This keeps targeting, calculation, review, start timing, and restoration in one pricing workflow. Check for later price changes before an older update rolls back, because saved originals can replace newer values.
For the complete sale workflow, see How to Run a Shopify Sale.
To plan the start and restoration together, follow our guide to scheduling Shopify sale prices.
If you are planning a seasonal promotion, our 2025 Black Friday analysis shows how merchants structured 600+ pricing campaigns.
Example: increasing prices after supplier costs change
Now consider a different problem.
Your supplier raises costs and you decide to increase selling prices by 8%.
There are three reasonable approaches.
Native bulk editor
Useful if only a small selection needs changing and you are comfortable calculating the final prices yourself.
CSV
Useful when the supplier data is already in a spreadsheet or when different SKUs require different calculations.
You can calculate the new selling prices in spreadsheet columns, review them, and import the final values.
Dedicated pricing app
Useful when the same rule should apply to a selected group of products.
For example:
Increase Price by 8% for products from Vendor A, then round the result to
.99.
The more the workflow can be expressed as a reusable rule, the more useful a dedicated pricing tool becomes.
How Springify Bulk Price Editor fits this workflow
Springify is designed for merchants who want more control around a bulk price change, not simply another place to type final prices.
Shopify’s bulk editor and CSV help you write new price values. Springify helps you manage the preparation, review, timing, and restoration around the change.
1. Choose the scope
Target the whole store, selected collections, products, or individual variants. Use filters and match conditions to define the group, then exclude products, variants, or collections that should keep their current prices.
This gives you a selection you can review before applying the update.
2. Define the change
Change variant-level Price, Compare-at price, or Cost per item using a percentage increase or decrease, a fixed amount increase or decrease, or an exact value.
Optional rounding rules, including endings such as .99, let you include the desired price ending in the calculation.
3. Preview
See the affected variants and calculated values before Shopify is changed.
Check the selection, exclusions, current values, and new values together. This makes it easier to catch an unintended product or an unexpected result before applying a broad pricing rule.
4. Apply now or schedule
Apply the reviewed change immediately, or prepare it ahead of the sale’s start time.
For scheduling, copy the reviewed preview into a new task with the same selection and pricing configuration, then set the scheduled start and, for a temporary change, scheduled rollback.
You can prepare the workflow when you have time instead of returning to Shopify when the sale needs to begin. After it runs, verify representative variants in Shopify Admin and on the storefront.
5. Restore original values
You do not need to reconstruct the old price later. Springify saves the original values for the variants it changes when the update runs and can restore those saved values through manual or scheduled rollback.
Rollback restores saved originals; it does not try to undo a percentage mathematically.
If another task, app, import, API integration, or manual edit changes a price afterward, rolling back the older update can replace that newer value with the saved original. Check for intervening changes before restoring an older update, including one with scheduled rollback, and verify the result afterward.
The value extends beyond multiplying a price by 0.8; a spreadsheet can do that. Springify keeps targeting, calculation, preview, timing, and restoration in one pricing workflow.
Manage the whole bulk price change in one workflow
Choose the products, preview calculated prices, schedule the update, and restore saved original values when the change is temporary.
Start a free 7-day trial
Bulk editor vs CSV vs app: a simple decision rule
Choose the native Shopify bulk editor when you already know the values and want to edit them directly.
Choose CSV when the spreadsheet itself is the easiest place to manage many different final values.
Choose a dedicated pricing app when you need to manage the process around the values: choose the scope, calculate and preview the change, schedule or apply it, verify the result, and restore saved originals when the change is temporary.
The three methods are not mutually exclusive.
A merchant might use:
- CSV for supplier price imports;
- Shopify’s bulk editor for occasional corrections;
- a pricing app for temporary, rule-based sales with preview, scheduling, and restoration.
The best workflow is the one that introduces the least unnecessary complexity for the price update you actually need to make.
Guide FAQ
Can I bulk edit prices directly in Shopify?
Yes. Shopify has a native bulk editor that lets you select multiple products or variants and edit properties such as Price and Compare-at price in a table. It is particularly convenient when you already know the final values you want to enter.
Can I update Shopify prices with a CSV?
Yes. Shopify product CSV files support fields including Price, Compare-at price, and Cost per item. You can export product data, edit the values in a spreadsheet, and import the file back into Shopify.
Can a Shopify CSV reduce every price by 20% automatically?
A product CSV stores the final field values rather than a reusable percentage pricing rule. You can calculate a 20% reduction in a spreadsheet and then import the resulting prices.
Is CSV better than Shopify's bulk editor for large catalogs?
Not automatically. CSV can be convenient for large sets of data and when a spreadsheet already contains the final values. The native bulk editor can be simpler for direct edits. Choose based on the workflow rather than catalog size alone.
When does a bulk price editor app make sense?
A dedicated app is useful when you need to manage the process around a price update: choose products, preview calculated values, schedule the change, and restore saved original prices afterward. This is particularly useful for temporary or repeatable pricing workflows. Features vary between apps.
Does increasing a sale price by 20% undo a 20% discount?
No. A $100 price reduced by 20% becomes $80. Increasing $80 by 20% produces $96. For temporary sales, restore the saved original price instead of applying the same percentage in reverse.