Skip to content

What is a compare-at price on Shopify?

A compare-at price is the higher "was" number a Shopify merchant types next to the price. Here's how to read a rival's, and the rules it has to meet.

Thomas Pham · · 3 min read

A halftone price tag, standing for the compare-at price as a claim the seller makes

A compare-at price is the "was" price on a Shopify product, also written "compare at price" or called a strike-through or reference price: the higher number a merchant types in so the real price shows as a sale. Shopify's sale pricing guide tells merchants to put the original price in the Compare-at price field, and the sale only shows when that number is higher than the Price field.

A compare-at price isn't a Shopify discount code or automatic discount. Shopify's page says: "Using sale prices is different from setting up discounts."

Can you see a rival's compare-at price from outside?

A rival's compare-at price is public. Shopify documents an endpoint, GET /{locale}/products/{handle}.js, that returns a product's price fields, and its reference page shows no sign-in step, so anyone can read it. The sample response carries both fields, with prices in cents ($129.00 here):

"price": 12900,
"compare_at_price": null

null means no reference price, so no sale signal. On 30 October 2026, every variant of five current Allbirds products in Allbirds' public /products.json catalogue feed (a separate feed from the .js endpoint) came back with "compare_at_price": null.

Public price fields beside five ink dots: no Allbirds product checked on 30 October 2026 had a compare-at price.

What does a compare-at price tell you?

A compare-at price tells you the merchant entered a higher reference number than today's price, and so chose to show a sale. Read it as the seller's own claim about the product's normal price. It doesn't tell you the old number was ever what anyone paid.

Say you sell candles, and a rival's best seller suddenly shows a "was" price the week before Black Friday, after weeks with none. Your competitor decided to run a sale; nothing more.

Three weeks with no compare-at price, then one appears the week of the sale.

ecvision, which tracks rival Shopify stores, reads this field for you. Its product tracking reads "Titles, prices, compare-at prices, sizes in stock and shelf places, as each shop's own catalogue and collection pages list them."

What can't a compare-at price tell you?

A compare-at price can't tell you whether the higher number was real. Shopify runs no check on whether anyone ever paid it. Shopify's pricing compliance page says its content isn't meant to provide legal advice and leaves merchants to check their own market's law.

Which rule decides if a "was" price is honest?

The law, or the ad-standards body, where the rival sells decides. The US asks whether the old price was genuinely offered for a reasonable time, not whether it ever sold. The UK's ad-standards body expects at least three months of pricing history. The EU asks the seller to show the lowest price of the last 30 days.

MarketThe ruleSource
USThe former price must be "the actual, bona fide price at which the article was offered to the public on a regular basis" for "a reasonably substantial period of time"16 CFR 233.1 (FTC)
UK (ad standards guidance)"The ASA expects advertisers to provide at least three months of pricing history"ASA, promotional savings claims
EU (EEA)Merchants must "display the lowest price that you previously charged for a product within the last 30 days or more"Shopify, Pricing Indication Directive

Two separate rules: UK, charged for at least three months before the cut; EU, show the lowest price of the last 30 days.

Check a rival's Black Friday was-price against the price history you build when you track their sales calendar.

More from the blog