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.

The Select Field modal with Price marked 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.

Set Price to with 19.99 entered, INR currency prefix, and Don't round selected

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.78 for .78 endings)
  • 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.

Increase Price by percentage with 10 entered and rounding set to End prices in .99

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.

Set Price to 80% of Compare-at Price; help text reads "Variants without a compare-at price will be 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.

Set to null/blank shows the message "The price will be set to empty/null"

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 0 and you choose a percent action — 0 × anything = 0, then rounding kicks in (e.g. with End prices in .99, you'd get 0.99). Filter those variants out if that's not what you want.
Previous
All Edit fields