Shopify Compare-at Price: How It Works, Common Problems, and Bulk Management
Learn how Shopify compare-at prices work, how discount percentages are calculated, why compare-at prices may not show, and how to edit them in bulk.
Quick answer
In Shopify, the compare-at price shows a reference price next to the current selling price. Compare-at pricing is not the same as a Shopify discount: discount codes and automatic discounts are separate and can apply to the current selling price.
What is compare-at price in Shopify?
For example:
- Price: $80
- Compare-at price: $100
Your store can show this as a product reduced from $100 to $80.
It’s important to note that compare-at pricing is not the same as a Shopify discount. Discount codes and automatic discounts are separate and can apply to the current selling price.
Compare-at pricing can vary between variants and may be affected by themes, Shopify Markets, and catalogs.
Shopify variants can have:
- Price — the current selling price.
- Compare-at price — a higher reference price for comparison or sale.
A typical setup looks like this:
| Price | Compare-at price | Result |
|---|---|---|
| $100 | — | Regular price |
| $80 | $100 | Sale price |
| $100 | $125 | Current price shown as 20% below the reference price |
For a proper sale presentation, the compare-at price must be higher than the current price, as described in Shopify’s guidance on setting sale prices.
The exact look depends on your Shopify theme.
How the displayed discount is calculated
A common mistake is thinking that increasing the compare-at price by 20% will display a 20% discount.
It won’t.
If:
- Price = $100
- Compare-at price = $120
Then the difference relative to the compare-at price is:
(120 - 100) / 120 = 16.67%
So, a theme calculating the discount percentage from these values would show approximately 16.7% off, not 20%.
To show a true 20% reduction from the reference price, the compare-at price must be $125:
100 / (1 - 0.20) = 125
The general formula is:
compare-at price = current price / (1 - target discount)
Examples:
- $40 current price, 20% target discount → $50 compare-at
- $80 → $100
- $100 → $125
This is useful to show a specific discount percentage without changing the current product price.
Open the standalone Compare-at Price Calculator.
How to add or change compare-at price
For a few products, you can edit the compare-at price directly in Shopify Admin.
Remember, Shopify pricing is set at the variant level. A product can have different prices and compare-at prices for different variants:
- Small: $30 / $40
- Medium: $30 / $40
- Large: $35 / $45
For hundreds or thousands of variants, calculating and applying the right values consistently is more challenging.
How to bulk edit compare-at prices
Bulk editing is helpful when you need to:
- update many variants;
- target specific products or collections;
- calculate compare-at prices from current prices;
- show a specific discount percentage;
- exclude selected variants;
- schedule the changes;
- restore previous values after a promotion.
For example, if you want selected products to show a 20% discount while keeping their current prices:
compare-at = price / 0.8
So:
- $40 → $50
- $80 → $100
- $100 → $125
Simply increasing each current price by 20% would show the wrong discount.
For large catalogs, previewing calculated values before applying them is especially useful.
If you have many variants, see our guide on bulk price changes for large Shopify catalogs.
Compare-at price is not a Shopify discount
This distinction is key when planning promotions.
Suppose a product has:
- Compare-at price: $100
- Price: $80
The storefront can show the product as reduced from $100 to $80, but this is not a Shopify discount code or automatic discount.
If the same product is eligible for an additional 10% Shopify discount, that discount can apply to the current $80 price, subject to the discount’s eligibility and combination rules.
$80 - 10% = $72
The pricing then becomes:
$100 reference price → $80 current price → $72 after discount
This might be exactly what you intended.
But if it wasn’t, the final price could be lower than expected.
Before starting a sale based on price and compare-at price, check any active:
- discount codes;
- automatic discounts;
- discount combination rules.
The key point is:
Price + compare-at price defines the product’s sale pricing. Shopify Discounts are a separate promotion system.
Why compare-at price may not be showing
If the compare-at value exists in Shopify Admin but customers can’t see it, check these:
Check the price relationship
A normal sale setup looks like:
- Price: $80
- Compare-at price: $100
If the compare-at value isn’t higher, Shopify won’t treat it as a standard sale-price comparison.
Check each variant
Products with multiple variants can have different pricing.
One variant might have:
- Price: $80
- Compare-at: $100
while another might have:
- Price: $80
- Compare-at: empty
Always check the actual variants customers can select.
Check the theme
Your theme controls how sale pricing is shown.
A valid compare-at price can exist in Shopify while the theme:
- displays it only on product pages;
- handles collection cards differently;
- treats products with mixed variant prices differently;
- uses custom pricing logic.
If the values are correct in Shopify Admin but the storefront looks wrong, check the theme next.
Compare-at price with Shopify Markets and catalogs
Stores using Shopify Markets and catalogs may have extra pricing layers.
A catalog can include:
- percentage price adjustments;
- fixed prices;
- fixed compare-at prices.
When troubleshooting, checking only the base price on the product isn’t enough.
When a catalog uses a percentage price adjustment, Shopify applies that adjustment to compare-at prices by default.
Shopify documents this behavior in its guide to creating catalogs for markets.
The catalog has an Include compare-at price setting. If disabled, compare-at prices can be managed separately.
If pricing behaves differently for a market, check which catalog is assigned and if it changes the product’s pricing.
There is also a separate visibility setting for some EEA selling scenarios.
Depending on the store’s primary market and Markets configuration, Shopify may allow compare-at prices to be hidden or displayed for an EEA market.
Shopify explains these EEA compare-at price rules in its European Price Indication Directive guidance.
That setting is managed under:
Markets → [Market] → More settings → Compare-at price
If a compare-at price shows correctly in one market but not another, check this setting.
This is separate from the catalog’s Include compare-at price option: one affects catalog price calculation, while the other affects compare-at visibility in the relevant market.
How to end a sale correctly
Ending a sale usually means returning products to their normal pricing.
For example:
Before the sale
- Price: $100
- Compare-at: empty
During the sale
- Price: $80
- Compare-at: $100
After the sale
- Price: $100
- Compare-at: empty
For a few products, you can restore these values manually.
For larger sales, it helps to save or note the original values before the promotion starts.
If scheduling a promotion, plan how and when the sale will end.
See also: How to schedule Shopify sale prices.
Common compare-at price mistakes
Assuming a 20% increase means 20% off
If the current price is $100, setting compare-at to $120 does not show a 20% reduction.
The difference relative to $120 is about 16.7%.
Forgetting Shopify Discounts
Compare-at pricing does not replace or disable Shopify’s discount system.
Check the full promotion flow before launch.
Ignoring variant-level pricing
Different variants can have different price and compare-at values.
Ignoring Markets and catalogs
If your store uses Markets and catalogs, customers in different markets may see different pricing.
Applying one rule without previewing it
A simple percentage rule can lead to unexpected results across a varied catalog.
Preview representative products and variants before applying a large update.
When a bulk compare-at price editor is useful
Manual editing works well for a few products.
A bulk workflow becomes more useful when you need to:
- change compare-at prices across many variants;
- target collections or subsets of the catalog;
- calculate values from the current price;
- create a specific displayed discount percentage;
- schedule a promotion;
- restore previous pricing afterward.
The Bulk Price Editor by Springify supports bulk price and compare-at changes, product targeting, previews, scheduling, and restoring previous prices after a promotion.
Practical checklist before launching a compare-at sale
- Decide whether you’re changing the current price, compare-at price, or both.
- Define the products and variants included in the promotion.
- Decide what price difference or discount customers should see.
- Calculate compare-at prices from the intended result.
- Preview the calculated values.
- Check active Shopify discounts that might apply as well.
- Apply or schedule the pricing changes.
Guide FAQ
What is compare-at price in Shopify?
In Shopify, the compare-at price shows a reference price next to the current selling price. For example: Price: $80. Compare-at price: $100. Your store can show this as a product reduced from $100 to $80.
Is compare-at price the same as a Shopify discount?
Compare-at pricing is not the same as a Shopify discount. Discount codes and automatic discounts are separate and can apply to the current selling price.
Why may a compare-at price not show?
First check that the compare-at price is higher than the current price and that the selected variant has a compare-at value. If those values are correct, check how your theme displays sale pricing. If your store uses Shopify Markets or catalogs, also verify the pricing and compare-at settings for the relevant market.
How do I end a compare-at sale correctly?
Ending a sale usually means returning products to their normal pricing. For larger sales, it helps to save or note the original values before the promotion starts.