Sale labels

How to Print Sale Labels in Shopify That Show the Compare-at Price

Shopify's free Retail Barcode Labels app prints one price. A sale label needs two: the compare-at price struck through, and the price your till now charges. Each variant in Shopify has a field for both.

The headline Print Compare-at Prices on Shopify Sale Labels. Beside it, a real sale label printed with Label Wizard. It shows $885.95 struck through, then Sale: $785.95.

Is this guide for you? It's for stores printing labels for products on their shelves and rails, not the "Sale" badges your theme shows online. We make Label Wizard, one of the apps that print both prices, and it has 3 reviews so far.

How Shopify's Two Price Fields Map to a Printed Sale Label

Every variant in Shopify has two price fields that shoppers can see. Price is what the customer pays. Compare-at price is the original price you show beside it.

Shopify's help centre puts it this way: "To set a sale price, set the value of the Compare-at price field in your Shopify admin to the original price of the product." It adds one rule: "Make sure that the value in the Compare-at price field is higher than the value in the Price field to display the sale price."

So a sale label carries both fields:

  • The compare-at price, struck through, so shoppers see what it used to cost.
  • The price, larger, because it's what they'll pay.
IN SHOPIFY: ONE VARIANT (EXAMPLE)Compare-at price40.00Price28.00ON THE SALE LABELSALE$40.00$28.00Compare-atstruck throughPricelargestBarcodeunchanged

Why Shopify's Retail Barcode Labels App Can't Print Both Prices

Asked whether a label could show the compare-at price, a Shopify staff member replied: "Adding the compare-at price is not currently possible on Retail Barcode Labels."

That was in November 2022. In the same reply, Shopify suggested looking into third-party label printing apps. Merchants were still asking in that thread at the end of 2024, and the app's reviews ask for it too:

"You would expect a Shopify Barcode Label App to be able to create a label that shows both the original compare price & the actual discounted price of an item." (1★, edited 16 January 2025)

"Can only show price, not compare at price?!" (1★, 25 April 2024)

Retail Barcode Labels has a 2.3 rating from 477 reviews. In October 2024, Shopify answered another merchant's request by saying labels "have very limited space", and that it would "pass on your suggestion to our developers".

None of the app's reviews since then say compare-at price has been added. If you're moving off the free app entirely, our guide to switching from Retail Barcode Labels covers keeping your barcodes.

Shopify's free app$28.00One price onlyNo old price to compare Label WizardSALE$40.00$28.00Both pricesShoppers see the saving

See both prices on your own sale items. In Label Wizard, add the compare-at price to a label and preview it against a product that's on sale. Previewing doesn't use credits.

Try it on your sale items

How to Print Compare-at Prices on a Sale Label

These steps use Label Wizard.

Design the sale label

  1. Set your sale prices in Shopify first. Put the original price in Compare-at price and the sale price in Price. Label Wizard reads your product data and doesn't change it, so the label shows what Shopify holds.
  2. Set the label size. Pick your label's shape and size, or enter your own. When you print, you choose from 400+ label stock templates from Avery, Online Labels and Uline, or define your own sheet: rows, columns, spacing, margins.

    Label Wizard's label stock picker. Marker 1 is the stock, OL114 from Online Labels. Marker 2 is the printer resolution, 300 DPI. Below them, the stock details: 1.00 x 2.00 in, 40 labels on a Letter sheet.

  3. Add the old price. Add a text element, choose Attribute, and pick Variant.CompareAtPrice. Under Style, set its font style to strikethrough.

    Label Wizard's attribute list. Variant.CompareAtPrice is marked 1 and Variant.Price is marked 2.

  4. Add the sale price. Add a second text element bound to Variant.Price and make it the largest thing on the label. Add your own text, such as "Sale", and the barcode if this label replaces the old one.

  5. Format the prices as money. On its own, a price prints as a bare number (2629.95); click Formula and wrap each price in $MONEY(), and it prints as money, such as $2,629.95.
  6. Tick Hide when empty on the old price. Then an item with no compare-at price prints without that line, typed text included.
Label Wizard's editor with a sale label for The Compare at Price Snowboard. Marker 1 is the formula box holding $MONEY and the compare-at price. Marker 2 is the ticked Hide when empty box. Marker 3 is the old price, $885.95, struck through. Marker 4 is the strikethrough button under Font style.
1: the price wrapped in $MONEY(). 2: Hide when empty, ticked. 3: the old price, struck through. 4: the strikethrough button.

Check it, then print

Preview against your real product data before you print, and switch the preview to an item with a compare-at price.

Check one thing: the struck-through price must be the higher one. If the lower number is crossed out, the two fields are swapped, and the label reads as a price rise.

RightSALE$40.00$28.00Struck price is higherShoppers see a saving WrongSALE$28.00$40.00Struck price is lowerReads as a price rise

Then open Print, choose your design and tick the items on sale. Label counts start at each item's available stock for the location you pick, up to 500 per product. Change any you need, pick your sheet or roll, and print one test label first.

Label Wizard's Print list with Shop location picked. Marker 1 is the location filter. Marker 2 is the Label Count for The Multi-location Snowboard. It reads 50, the stock at that location.
1: the location you print for. 2: the label count starts at the stock there.

Items that are out of stock, or whose inventory isn't tracked, start at 0. Set those counts yourself.

Here's a real print from our demo store, with the old price set up as in steps 3, 5 and 6:

Two printed sale labels with a red Sale banner, the product name and photo. The Compare at Price Snowboard shows $885.95 struck through, then Sale: $785.95. The Draft Snowboard has no compare-at price, so it shows only Sale: $2,629.95.
A real print. Left: on sale, old price struck through. Right: no compare-at price, so only the Sale line prints.

If the sale covers many sizes and colours, our guide to printing labels for Shopify variants covers picking the right ones.

Which Items to Print, and What to Do When the Sale Ends

Print sale labels only for the variants that have a compare-at price. For items at full price, print your regular label design instead.

If an item has no compare-at price and you ticked Hide when empty, the old-price line drops out. Your "Sale" text still prints, so a full-price item would go out looking discounted.

Label Wizard doesn't print from a collection. In Print, search by product title or barcode, or filter by product type, then tick the sale items.

When the sale ends, clear the compare-at price in Shopify, set Price back to the full price, and reprint your regular labels.

What Label Wizard Won't Do When You Print Sale Labels

  • Create barcodes. It prints the barcodes your products already have and never invents one.
  • Print a collection in one go. You pick the sale items in the print list.
  • Save unlimited designs on Pay As You Go. That plan limits how many label designs you keep; Pro, at $24.99 a month or $199 a year, removes the limit.
  • Run inside the POS app. It works in the Shopify admin.

If you're still choosing between label apps, our comparison of Shopify barcode label apps scores nine against the same tests.

Frequently Asked Questions

Can Shopify's Retail Barcode Labels app print the compare-at price?

No: a Shopify staff member wrote in 2022 that adding it "is not currently possible on Retail Barcode Labels". Shopify's latest public reply, in October 2024, said it would pass the request to its developers. To print both prices, you need a label app that reads the Compare-at price field.

Do sale items need new barcodes?

No. In Shopify the barcode is its own field on each variant, separate from Price and Compare-at price. Changing the price for a sale leaves the barcode as it is, so you only need a new label if you want the shelf to show the sale price.

How much does it cost to print sale labels with Label Wizard?

Pay As You Go has no monthly fee: your first 20 labels every 30 days are free, then $0.03 a label up to 500, and less after that. A sale needing 60 labels, plus one test label, costs $1.23 if you haven't printed others in those 30 days. Pro is $24.99 a month or $199 a year, with no charge per label.

Label counts start at your stock level, so check them before you print. On Pay As You Go, every label after the first 20 is charged.

Print your next sale's labels with both prices.

The compare-at price and the sale price on one label, from your Shopify product data. Your first 20 labels every 30 days are free.