Shopify discounts, designed for the real world.

Target discounts by SKU pattern, collection, customer tag, market or POS location, and reprice products to an exact amount without ever editing their price. Build the promotion you actually planned, in minutes.

Free plan, forever · No theme code · Built on Shopify Functions

SKU starts with 0102 $10 off
Any product in Winter Sale Reprice to $100
Customer tagged VIP 15% off

Promotions that don't fit a standard discount

“Select 400 products. One at a time.”

A season's worth of stock, added to the promotion one product at a time, then checked again every time new SKUs land so nothing quietly misses the sale.

Match on a SKU pattern or a collection instead, so the rule keeps working as the catalogue changes.

SKU starts with 0102 $10 off

“20% off gives you $47.83.”

Percentage math lands on prices nobody would put on a shelf. Hitting a round number usually means editing every product, running the promo, then editing them all back afterwards.

Reprice straight to the number you want. The original price is never touched.

Any Jeans variant Reprice to $100

“Everything's on sale. Except new arrivals.”

A discount across the whole cart is straightforward. A discount across the whole cart that leaves new-season stock alone is where it gets complicated.

Exclude by collection, or by a metafield on the variant, and let the rest of the cart discount normally.

Order over $200, excl. New In 10% off order

“VIPs are supposed to get a better deal.”

Customer-specific pricing turns into a pile of separate codes, codes that get shared, and a support inbox asking why theirs didn't work.

Set eligibility by customer tag. The discount applies automatically to the right people, with no code to leak.

Customer tagged wholesale 25% off

One app, the whole discount toolkit

Product, order, multibuy and Buy X Get Y discounts, each with the targeting and conditions to land a promotion exactly where you want it.

Targeting

Decide what qualifies, without building a list by hand.

  • Partial SKU matching (starts with, contains)
  • Target whole collections
  • Customer tag eligibility
  • Cart attribute eligibility
  • Exclude variants by metafield

Discount types

Promotions the native editor has no field for.

  • Reprice to an exact amount
  • Percentage or fixed amount off
  • Order discounts with exclusions
  • Multibuy volume and bundle pricing
  • Buy X Get Y promotions

Scope & control

Keep a promotion inside the boundaries you set.

  • Shopify Markets and currency conversion
  • Limit to specific markets and countries
  • Restrict to specific POS locations
  • Calculate from the compare-at price
  • Bulk coupon codes: generate, import, export

No theme code. No developer.

Discounts are calculated by Shopify Functions inside Shopify's own checkout, not by scripts bolted onto your storefront. Works the same on Liquid themes and headless builds, and there's nothing to remove if you switch themes.

One rule, every condition

SKU patterns, customer tags, metafield exclusions and POS locations, all on a single discount.

  1. 1

    Install from the App Store

    One click from your Shopify admin. The app adds four discount functions to your store and nothing else: no snippets, no theme edits, no storefront scripts.

  2. 2

    Build the rule

    Create a discount where you already create them, in Shopify admin. Choose what qualifies (SKU pattern, collection, customer tag, market, location) and what it does: reprice, percentage off, or amount off.

  3. 3

    Shopify applies it at checkout

    Your rule runs inside Shopify's own checkout as a Shopify Function. Prices come out right in the cart and at checkout, in every market and currency you sell in.

Promotions you could run this week

Each of these is one rule. No code, no bulk price edits, no spreadsheet of SKUs to keep in sync.

End-of-season markdown

Mark down a whole season without opening a single product. Match the SKU prefix the season uses and the rule covers everything in it, including stock that lands after the promo has already started.

SKU starts with AW24 30% off

Round-number price points

Run a "$100 jeans" campaign where every item genuinely reads $100, not $98.41. Product prices are never edited, so nothing has to be put back afterwards.

Any Jeans variant Reprice to $100

Wholesale and VIP pricing

Trade and VIP customers get their rate automatically, off the tag that's already on their account. No codes to distribute, and none to leak onto a coupon site.

Customer tagged wholesale 25% off

Spend threshold, minus exclusions

Reward bigger baskets without discounting the new-season stock you need to protect. The threshold applies to the order; the exclusion applies to the collection.

Cart over $200, excl. New In $25 off order

Buy the matching set

Price a pair together without building a bundle product, duplicating SKUs, or splitting your inventory across two listings. The set price applies as soon as both items are in the cart.

Any 2 from Matching Sets 2 for $99

Volume pricing for bulk buyers

Let quantity do the work. Set the price at each tier and the unit rate drops on its own once a customer passes it, with no separate wholesale catalogue to maintain alongside your retail one.

Any 3+ from Basics $43.00 each

Two for $99 can mean two things

Bundle price

With 2 for $99, the offer repeats for each full set of two. Five qualifying items are charged as two sets, and the fifth stays at its usual price.

Volume pricing

With 2 for $99, every qualifying item is repriced at $49.50 each. Five items come to $247.50.

Qty 2

$99

2 items, $49.50 each

Qty 3

$129

3+ items, $43.00 each

+ Add tier

Coupon codes at campaign scale

Unique codes per customer, per partner, or per print run, without maintaining a spreadsheet on the side or rebuilding the promotion for every code.

Generate in bulk
Produce a whole batch of unique codes in one pass, using your own prefix, instead of creating them one at a time.
Import your own
Already have codes from a print run, a partner campaign, or a platform you moved off? Bring the list with you rather than rebuilding it.
Export the batch
Pull the codes back out to hand to a partner, load into an email send, or reconcile against orders once the campaign is done.
One discount, many codes
Attach an entire batch to a single discount rule. The promotion is defined once, no matter how many codes point at it.

Start free, upgrade when it pays for itself.

Every plan builds on the one before it. Change plans or cancel any time.

Cancel or change plans any time · Prices in USD, billed through Shopify alongside your existing subscription.

* Unlimited discounts are subject to the limitations of your Shopify plan.

FAQs

Do I need to change my theme?

No. Real World Discounts is built on Shopify Functions, so discounts are calculated inside Shopify's checkout rather than by scripts running on your storefront. There is nothing to add to your theme, and nothing to strip out if you change themes later.

Does it work with a headless storefront?

Yes. Because the discount logic runs in Shopify's checkout rather than in your storefront, it behaves the same whether you're on a Liquid theme, Hydrogen, or a custom build on the Storefront API.

Will it slow down my checkout?

No. Shopify Functions execute inside Shopify's own infrastructure as part of the cart calculation. There is no external API for your checkout to call out to and wait on.

Does it work with Shopify Markets and multiple currencies?

Yes, and it's included on the free Starter plan. Discount amounts respect the market and currency the customer is shopping in. On the Plus plan you can also restrict a discount to specific markets and countries.

Can these discounts combine with my other discounts?

Combination behaviour follows the settings you choose on the discount in Shopify admin, exactly as it does for a native discount. You control whether it combines with other product, order or shipping discounts.

Does repricing change my product prices?

No, and this is the point of it. A "reprice to" discount adjusts what the customer pays at checkout; the price on the product record is never edited. Nothing has to be set back when the promotion ends.

Can I use unique coupon codes with these discounts?

Yes, and in bulk. You can generate a batch of unique codes using your own prefix, import a list you already hold, and export the batch back out again. A whole batch can point at one discount rule, so the promotion is only ever defined once. Coupon features are available from the Standard plan.

Is the free plan actually free?

Yes, and it doesn't expire. Starter covers two Advanced Product Discounts including repricing, partial SKU matching, customer tag targeting and Shopify Markets support. Paid plans are billed through Shopify alongside your existing subscription, so there is no separate checkout to go through.

What happens if I uninstall?

Your catalogue is left exactly as it was. Because discounts are applied at checkout and product prices are never edited, there is nothing to revert. The discount functions are simply removed from your store.

How do I get support?

Email support@sourcecodelabs.co and a person will answer. Standard plans include direct email support from the team, and Plus plans get priority response times.

Your next promotion shouldn't need a workaround

Install the app, build one rule, and watch it apply at checkout. The free plan doesn't expire, and billing runs through Shopify if you ever outgrow it.