To show a Shopify product on sale, set Compare-at price to the original reference price and Price to the lower selling price. Compare-at price must be higher than Price for the standard sale presentation. Apply values to the correct variants, test your theme and markets, and capture original prices before bulk or automated changes.
How the two fields work
Shopify's documented sale-price method uses two product or variant fields:
- Price: the amount the customer pays before any additional eligible checkout discounts.
- Compare-at price: the higher original or reference amount used for the sale comparison.
For a product reduced from $60 to $48, enter $60 as Compare-at price and $48 as Price. The active theme determines the precise visual treatment on product and collection pages.
Variant-level checklist
Many display problems come from editing the product while viewing a different variant. For each relevant variant, confirm:
- Price contains the intended sale amount.
- Compare-at price contains the higher reference amount.
- The selected storefront variant matches the edited record.
- The theme displays sale pricing in that template.
- Market-specific pricing does not create an unexpected comparison.
Capture originals before bulk changes
Before a large sale or automated campaign, export or record the current Price and Compare-at price for every affected variant. Store a campaign-specific original rather than assuming a later catalog value is the same.
If a merchant manually changes a price during a campaign, pause and review. Restoring an old captured value automatically can erase a newer deliberate decision.
Avoid misleading comparisons
The reference price must comply with applicable pricing and advertising rules in the markets where the store sells. A technically valid Compare-at price is not automatically a legally or commercially valid reference price. Keep evidence for the original price and seek jurisdiction-specific advice where required.
Interaction with checkout discounts
A stored sale price can still be part of a cart that qualifies for other discounts. Review discount combination settings and test the final realized price. The campaign's safety floor should consider permitted combinations, not only the variant Price.
How to restore a sale price
At sale end, restore Price to the intended regular value and remove or update Compare-at price according to the merchandising plan. Verify all variants and storefront caches. Use an operation log for automated changes so restoration is deliberate and idempotent.
Common troubleshooting order
If the crossed-out price does not show, check field order, selected variant, theme behavior, market price, app or theme customizations, and cache. Do not repeatedly rewrite values before identifying which layer is responsible.
Frequently asked questions
Why must Compare-at price be higher than Price?
The higher Compare-at value represents the original reference and the lower Price is the current selling amount. Shopify documents this relationship for showing a sale.
Can different variants have different Compare-at prices?
Yes. Price and Compare-at price are variant-level values. Review each size, color, or configuration that participates in the sale.
Does Compare-at price apply a checkout discount?
No. It supports the stored sale-price presentation. Checkout discounts use Shopify's separate discount system.
Sources and further reading
Product interfaces and documentation change. Sources were checked on July 22, 2026.
PUT THE METHOD TO WORK
Review slow movers before they become clearance.
Sale House detects weak selling pace and runs merchant-approved markdown steps with price floors, caps, and stopping rules.
Install Sale House free →