Tutorials
How to Bulk Edit Price
Update the price of many variants at once — set a fixed value, raise or lower by amount or percent, derive from compare-at price or cost, or clear it entirely. Optional rounding lets you snap results to .99, .95, whole numbers, or a custom ending.
Price is a variant field. Each product variant has its own price; the action runs once per matched variant. A product with three variants gets three price updates.
The currency prefix in the input matches your store's currency. There's no per-variant currency override here.
Step 1: Pick the Price field
In the Configure Product Edits panel, click Select Field. Price lives under Variant Fields.

Click Price. The configuration panel switches to a How to edit Price dropdown defaulting to Set to fixed value.
Step 2: Choose how to change the price
Eight actions are available, in three groups.
Direct value
- Set to fixed value — every matched variant becomes this exact price.
- Set to null/blank — clear the price. Use carefully; variants with no price can't be ordered.
Adjust the existing price
- Increase by amount — add a flat amount (e.g. raise every price by 2).
- Decrease by amount — subtract a flat amount.
- Increase by percent — raise by a %.
- Decrease by percent — lower by a %.
Derive from another field
- Set as percent of Compare-at Price — set price = X% of the variant's compare-at price (good for "30% off MSRP" runs).
- Set as percent of Cost field — set price = X% of the variant's cost (good for fixed-margin runs).
The inputs change based on what you pick.
Step 3: Enter the value (and optional rounding)
Set to fixed value
A single currency-prefixed number input. Type the new price.

Below the value, a Rounding dropdown lets you snap the result. Useful options:
- End prices in .99 — common retail anchor (
19.34 → 19.99) - End prices in .95 / .90 — same idea, different ending
- Round whole number — drops decimals (
19.99 → 20) - Round whole number up — always rounds up (
19.01 → 20) - Round decimals — to nearest cent
- Custom ending — pick your own decimal (e.g.
0.78for.78endings) - Don't round the value — default. Output is whatever the math produces.
Increase / Decrease by amount or percent
A single number input — amount uses the currency prefix, percent uses a % suffix. The same Rounding dropdown applies.

In this example, every matched variant goes up by 10% and the result is rounded to end in .99. So 15.00 → 16.50 → 16.99.
Set as percent of Compare-at Price (or Cost)
A percent input plus a help line under it explaining what gets skipped.

Type the percentage and (optionally) pick a rounding. Skip behaviour:
- Compare-at-based: variants without a compare-at price are skipped — their price stays as-is.
- Cost-based: variants without a cost value are skipped.
Use the Edit Preview on the right to see which variants resolve to a value and which get skipped before you run.
Set to null/blank
No input — the panel just confirms what the action does.

Warning: clearing prices makes variants unsellable on the storefront. Most themes hide products with no price, and Shopify rejects orders for null-priced variants. Only use this when you genuinely want to take products off-sale without changing their status.
Optional: also modify Compare-at Price
Below the value/rounding inputs there's a collapsible Modifications to Compare-at Price section. Open it when you want to update the strike-through price in the same run — useful for setting up a sale.
Three options:
- Don't modify the Compare-at Price — default; only the price changes.
- Set the compare-at price to the current price — moves the old price into the compare-at slot, so the new (lower) price shows discounted. Standard sale-prep move.
- Set the compare-at price to fixed value — type a specific compare-at amount that applies to every matched variant.
After the run
- Price changes are reversible from the History page using Undo.
- For percent-style adjustments, re-running the same edit re-applies the change. A 10% raise re-run produces another 10% raise — it's not idempotent.
- Watch out for variants where the current price is
0and you choose a percent action —0 × anything = 0, then rounding kicks in (e.g. withEnd prices in .99, you'd get0.99). Filter those variants out if that's not what you want.
