506 Sale & Bulk Discount App

506 Sale & Bulk Discount App

Price Reductions

Creating a Price Reduction Discount: Complete Walkthrough

Set up a price reduction discount end-to-end: value types, discount strategies, targeting, previews, and scheduling.

Last updated on 03 Jul, 2026

Price reduction discounts change your product's actual price and/or compare-at price on Shopify — no discount code needed, and it works across every sales channel (Online Store, POS, Shop app, headless). This guide walks through the whole flow: picking a value, choosing how the discount should touch your prices, targeting the right products, and saving safely.

If you just want to know why a discount looks different on the storefront than you expected, see Troubleshooting price display issues instead — this guide is about setting one up correctly from the start, which prevents most of those surprises.

Step 1: Starting a new price reduction discount

  1. In GetSale, go to Discounts and click Create discount.

  2. On the Choose rule type screen you'll see two options:

    • Price reduction discounts — reduces price/compare-at price directly on selected products. This is what this guide covers.

    • Quantity break discounts — tiered discounts based on quantity purchased (a different flow, see the Quantity Breaks docs).

  3. Click Create on the Price reduction discounts card.

  4. Optionally, instead of starting from scratch you can pick one of the Discount templates listed further down the same screen — they pre-fill the value, strategy, and targeting for common campaigns (some templates require a paid plan).

This opens the discount editor, where the rest of this guide takes place.

Step 2: Choosing a value type

At the top of the editor is the discount value field, with a dropdown attached to its left:

Value type

What it does

Percentage

Reduces the price by a percentage (e.g. 10 = 10% off). Minimum 0.01%, maximum 99.99%, up to 2 decimal places.

Fixed Amount

Subtracts a flat amount in your store's currency (e.g. $5.00 off).

Set Price

Sets the price to an exact number you enter, ignoring the original price entirely (e.g. every targeted variant becomes $19.99).

Below that is Price rounding — an optional setting to replace the cents of the resulting price (e.g. force everything to end in .99), either as an exact replacement or by rounding to the nearest value you specify. A live before/after example updates as you type.

Whichever value type you pick feeds into the discount strategy, covered next — the value type decides how much changes; the strategy decides which price fields it changes.

Step 3: Discount strategy — the setting that decides what customers see

This is the most important choice in the whole flow, and the one most support questions trace back to. It decides whether your discount touches the price, the compare-at price, or both — which in turn decides whether customers see a strikethrough "sale" price or just a lower price with no visual indication of a discount.

There are four strategies, shown as a segmented control labeled Discount strategy:

Compare-at price (default)

Calculates the discount based on the compare-at price. The result becomes the new price; the compare-at price is left unchanged. This is the standard "put it on sale" setup — Shopify shows a strikethrough compare-at price next to the new lower price.

Worked example — 10% discount:

Price

Compare-at

Storefront saving shown

Product with no compare-at price — before

$100

...after

$90

$100

10% off

Product with $300 compare-at, $200 price — before

$200

$300

33% off (pre-existing)

...after

$270

$300

10% off

Note the second row: the discount is calculated off the compare-at price ($300 × 10% = $30 off), not the current selling price — so a product already marked down can end up more expensive after the discount than before it, if its existing markdown was steeper than the new discount. Watch for this when applying a shallow discount to products that already carry a deep compare-at markdown.

Current price

Discounts the current price. Compare-at price is left unchanged. If the product already has a compare-at price set, the storefront percentage-off can look larger than the value you configured, because the badge is calculated from compare-at, not from your discount value.

Worked example — 10% discount:

Price

Compare-at

Storefront saving shown

No compare-at — before

$100

...after

$90

$100

10% off

$300 compare-at, $200 price — before

$200

$300

33% off

...after

$180

$300

40% off

A configured 10% discount displays as 40% off on the storefront in the second case, because $180 is 40% below the untouched $300 compare-at price. If you want the storefront percentage to match your configured value exactly regardless of existing compare-at prices, use Compare-at price or Price swap instead.

Price swap

Moves the current price into the compare-at price slot, then calculates the new price by discounting the (former) current price. In effect it manufactures a "before" price for the sale banner using whatever the product was already selling at — useful when products don't already carry a compare-at price and you want the storefront to show a strikethrough anyway.

Worked example — 10% discount:

Price

Compare-at

Storefront saving shown

No compare-at — before

$100

...after

$90

$100

10% off

$300 compare-at, $200 price — before

$200

$300

33% off

...after

$180

$200

10% off

Any pre-existing compare-at price is overwritten by the old selling price — so the storefront percentage always matches your configured value, but any existing markdown ($300 in this example) is lost while the discount is active.

Both prices

Applies the discount to both the price and the compare-at price by the same factor, so the ratio between them — and therefore the displayed saving — stays the same as before the discount.

Worked example — 10% discount:

Price

Compare-at

Storefront saving shown

No compare-at — before

$100

...after

$90

$90

No saving visible

$300 compare-at, $200 price — before

$200

$300

33% off

...after

$180

$270

33% off

Because there's no gap between price and compare-at for the first product, no sale badge shows at all after the discount — this strategy is really meant for products that already have a compare-at markdown you want to preserve proportionally (e.g. store-wide markdowns during a sitewide sale where every "was" price should still look sensible).

Click Show Example in the editor at any time to see this same worked table for whichever strategy you have selected, calculated against your own numbers.

Step 4: Targeting — who gets the discount

Under Applies to, choose your first target type:

  • Specific products/variants — pick individual products (and specific variants within them) via the resource picker.

  • Specific collections

  • Specific product options — target by an option value, e.g. all variants where Size = Large.

  • Specific vendors

  • Specific tags

  • Whole Store — every product in the shop.

Enable Also target draft and archived products if you want the discount to apply to products that aren't currently active on the storefront.

Adding a second target

Click Add second target to widen the discount to a second, independent condition (e.g. "all products in Collection A" plus "all products tagged clearance"). A few combinations are blocked to avoid ambiguous overlaps — for example, you can't set collections as both the first and second target, or pair collections with vendors/tags in either slot.

Exclusions

Click Add exclusions (available on paid plans) to carve products back out of your targeting — by product, collection, vendor, tag, or an On sale exclusion that skips anything already carrying a discount. If your exclusions end up matching your targets exactly, GetSale warns you before saving that the discount would result in no price changes at all.

Step 5: The overlap warning and the live price preview

Overlap/conflict warning

As soon as you interact with targeting, GetSale checks whether any of the products you're targeting are already being discounted by another active discount, and — if so — shows a warning banner listing the conflicting discount(s) and how many variants overlap. You can still save and enable the discount; the overlapping products simply won't be re-discounted until the other active discount is disabled.

  • For product and whole store targeting this check runs automatically.

  • For collections, tags, or vendors, it's a heavier query — click Check now in the banner to run it on demand.

  • The check only looks at currently active discounts, not scheduled or inactive ones, and it doesn't cover product-option targeting or on-sale/collection/option exclusions layered on top of product targeting — a note in the banner tells you when a caveat like that applies.

Live price preview

Click Save discount to open the Discount Preview modal before anything is actually saved. It picks a real matching product and variant and shows a before/after table plus a rendered price with your strategy and value type applied — so you can sanity-check the math on an actual product before committing. It also surfaces the same warnings inline if they apply:

  • Invisible sale — if the resulting compare-at price ends up at or below the new price, no strikethrough will show on the storefront.

  • Effective discount differs from configured percentage — shown for Current price strategy with a percentage value when the product already has a compare-at price above its current price, explaining the gap and suggesting Compare-at price strategy if you want the storefront to match your configured percentage exactly.

  • New price less than 0 — flags that a variant would be skipped entirely because the discount would take its price below zero.

Note that this preview reflects the calculation only — actual on-storefront appearance (badges, strikethrough styling) still depends on your theme.

Step 6: Saving, activating, and plan variant limits

After confirming the preview, choose when the discount should go live under Schedule:

  • Activate once saved — goes live immediately.

  • Schedule a start time / end time — set a future one-off window.

  • Repeated schedule — recurring daily, weekly, or monthly windows (e.g. weekend flash sales).

  • Leave as inactive once saved — saved but not applied until you manually enable it later.

Click Save in the preview modal to finish. Discount names must be unique per store — if the name you chose is already in use, you'll be asked to pick a different one.

Plan variant limits

Every plan caps the total number of discounted variants you can have active across all discounts at once:

Plan

Discounted variant limit

Free

75

Basic

500

Standard

1,500

Unlimited

Unlimited

If enabling this discount would push you over your plan's limit, GetSale blocks the save and shows how many variants you'd be at versus your limit, with a direct link to upgrade — or you can free up room by disabling another active discount first.

Troubleshooting & FAQ

My discount looks smaller/larger on the storefront than the value I entered. This is almost always the discount strategy. Current price strategy calculates the storefront percentage off the existing compare-at price, not your configured value — switch to Compare-at price or Price swap if you need the storefront badge to match exactly what you entered.

No sale badge is showing at all. Check whether the resulting compare-at price is at or below the new price (the Invisible sale warning in the preview flags this) — Shopify won't show a strikethrough in that case. Both prices strategy on a product with no existing compare-at price will always trigger this.

Some of my targeted products didn't get discounted. Check the overlap warning shown during targeting — a product already covered by another active discount is skipped until that other discount is disabled. Also confirm draft/archived products are included if you expect them to be covered.

Can I target a market or specific currency instead of my whole catalog? Yes — market-specific pricing is a separate targeting layer on top of this flow. See the Market Discounts collection for that walkthrough.

Still stuck? Contact us through the in-app support chat in GetSale and we'll take a look at your specific setup.

Was this page helpful?
Previous

Quantity Breaks

Next

Please contact us through the GetSale app for further support