SafeSale · Blog

One sale, a different discount per size or colour

How to give a few variants their own rule inside a Shopify sale: a deeper cut on the sizes that never sell, a fixed price on one colour, and 0% on the rest.

Every clothing store has the drawer. XS and XXL of a jacket that sold out in M and L two seasons ago. The mustard colourway nobody picked when black was on the shelf next to it. The honest thing to do is sell those at a price that moves them, and the honest problem is that a Shopify sale, whether built with a discount or with an app, usually wants to apply one percentage to the whole product. A 20% event does not shift the drawer. A 60% event on everything gives away the sizes that were selling fine.

SafeSale handles this with a small feature that is easy to miss on the sale page: every variant row has its own rule, and the rule is Default until you say otherwise. This post is about what you can do once you do say otherwise.

Where the override lives

Open a sale, add a product, and look at the preview table. The last column is Rule, and each row shows a button that reads Default. Click it and a compact editor opens inside the row with the same three fields the sale-wide rule has: the type (percentage off, amount off, or a fixed price), the value, and the rounding (none, prices ending in .99, prices ending in .95, or whole numbers). Press Done and the button now reads something like Override: 50% off or Override: now 19.99, and the preview for that row recomputes on the spot.

The rest of the rows keep following the sale default. Change the default later and they move; the overridden rows do not. To undo a single override, open it again and press Use default. There is no separate screen for any of this; the overrides are part of the sale and get saved, scheduled, applied, and restored along with it.

Four ways to use it

1. Deeper cut on the odd sizes

Sale default 20% off. Open the Rule column on XS and XXL and set them to 50% off. The product page shows every size on sale, the popular sizes at a margin you can live with and the drawer sizes at a price that clears them. Because compare-at shows the original price on every variant, the customer sees a bigger saving on the odd sizes, which is exactly the signal you want them to see.

2. A fixed clearance price on one colour

Percentages are awkward when what you actually want is a number. Set the mustard colourway to a fixed price of 29.00 and leave black on the default. Fixed-price rules come with the safety net described in fixed-price sale: items already cheaper are blocked: if that variant is already priced below 29.00 the preview flags it and the sale will not raise its price.

3. Discount one variant, leave the rest alone

Sometimes a product belongs in the sale for one size only. Give the sale a default of 0% off, override the single variant you want to discount, and the others keep their current price. A 0% rule is still a rule: SafeSale snapshots those variants and writes them back unchanged, so the restore at the end covers the whole product and nothing is left in a half state.

4. Protect a variant inside a brand-wide sale

The reverse case. A vendor-wide 30% event, except the one variant the brand has told you must stay at full price. Override it to 0% off and it rides along in the sale without a price change. This is the same trick we use in running a sale on one brand with MAP pricing, where a handful of protected lines sit inside a bigger target.

How it plays with the rest of SafeSale

  • Preview first. Overrides are reflected in the preview immediately, so the row you edit shows the new sale price and compare-at before anything is written. If a preview goes stale after an edit, the sale page asks you to refresh it before starting.
  • Snapshots cover every variant. Overridden or not, each variant the sale touches gets its original price and compare-at recorded first, and the restore puts them back without caring which rule produced the sale price.
  • Rounding is per rule. You can round the default to .99 and leave a fixed-price override unrounded, because the fixed number is the point.
  • Hard caps still apply. If you have set a maximum discount in the hard cap and confirmation threshold settings, an override deeper than the cap is caught at confirmation like any other rule. The cap is there precisely for the moment someone types 90 instead of 50.
  • Pro plan. You can build the overrides on any plan. Starting a sale that uses them needs Pro; the confirmation step says so plainly if the shop is on Starter, and nothing you configured is lost.

When not to use it

If every variant of a product needs the same change, leave the rule on Default. Overrides are stored one per variant and shown one per row, which is great for six sizes and tedious for six hundred. For broad patterns, the better tool is the sale target itself: a collection of slow sellers, a tag such as clearance, a vendor. Overrides are for the exceptions inside that target, the handful of rows where the right price is not the one the rule produces.

That handful is usually where the money is, though. The drawer sizes are paid-for stock sitting at a price nobody will pay. Giving them their own rule inside the sale you were running anyway is a two-minute job, and SafeSale will put every price back when the sale ends, odd sizes included.

Frequently asked questions

Can I put a sale on a single variant without touching its siblings?

Yes. Add the product to the sale, give the sale a default rule of 0% off, then open the Rule column on the variant you care about and set its own rule. The siblings keep a 0% rule, which means SafeSale leaves their prices exactly as they are, and the one variant gets the discount. Writing a 0% rule still records a snapshot, so the restore at the end is complete either way.

What happens to a variant override when I change the sale default?

Nothing. An override is stored against that variant and wins over the default until you reset it. If you move the default from 20% to 30% off, every variant without an override follows the new default and every overridden variant keeps the rule you gave it. The preview recomputes after the change, so you can see exactly which rows moved.

Do per-variant overrides work with a checkout discount as well?

Overrides shape the price rewrite side of a sale: the price and compare-at price SafeSale writes to each variant. A sale that uses only an automatic discount at checkout applies one discount to everything it targets, because that is how Shopify's automatic discounts work. If you need a different depth on some sizes, run that part as a price rewrite.

Which plan do I need?

Per-variant overrides are a Pro feature. You can set them up on Starter and see them in the preview, but the sale will refuse to start until the plan is upgraded, with a plain message saying why. The limit is checked at confirmation, not while you edit, so nothing you have configured is lost.