DiscountFixDocs / Create a discount set
Discount sets

Create a discount set

A discount set is one discount in Shopify with many codes. This page walks through every field on the Create Discount Codes page, in the order you'll see them.

How it works

  1. Open Discount codes › Create new discount set.
  2. Fill in the cards on the left. The Summary card on the right updates as you go and shows an example code.
  3. Click Save in the bar at the top of the page. If a field needs fixing, the page scrolls to it and shows the reason.
  4. The set is queued and its codes are created in Shopify in the background. You're taken back to the Discount codes list, where you can watch the progress.
One set = one Shopify discount

All codes in a set share the same rules: value, products, minimum, customers, dates and limits. If you need different rules, create another set. You'll find the discount in Shopify under Discounts, with the set's title.

General settings

Title

The name of the set in DiscountFix, and the title of the discount in Shopify. It is filled in for you as Discount Codes - YYYY-MM-DD HH:mm; replace it with something you'll recognise later, such as Black Friday 20%. The title is required.

If you already have a set with the same title, the new one is renamed automatically to Title - 2, Title - 3 and so on. Customers never see the title, only the code.

Code creation type

OptionUse it when
Create random discount codes DefaultYou want DiscountFix to invent unique codes like SUMMER-K7Q-2MX. You choose how many, their length, prefix, suffix, characters and separators.
Create specific discount codesYou already have a list of codes, for example from a partner, a printed campaign or an old platform. Paste them or upload a CSV / Excel file.

All the options for both are on the Code format page.

Discount type

Choose what the code does. Each type is explained in detail, with how it shows at checkout, on the Discount types page.

TypeWhat it does
Percentage DefaultA percentage off products.
Fixed valueA fixed amount off products, in your store currency.
Free shippingFree shipping on the order, or a fixed amount off shipping.
Buy X Get YBuy certain products, get others free or discounted.
Free gift NewA free product, with no purchase needed or once the order reaches a minimum. See Free gift.
Amount off order + Free shipping NewOne code that takes an amount off the order and makes shipping free.

The cards below change with the type you pick. For example, Buy X Get Y replaces Discount Value, Applies to and Minimum with its own Customer buys and Customer gets cards.

Free gift

Shown for Free gift. The code puts one product in the order for free, and each code can be shared as a cart link that adds the gift to the cart and applies the code.

  • Gift product: pick one product. If it has several variants, open it in the picker and tick only the one to give (for example one size or colour).
  • Quantity: how many of the gift are free. Extra units added to the cart are charged normally.
  • Customer gets the gift:
    • With no purchase needed: the gift is free on its own.
    • When the order reaches a minimum amount or a minimum number of items: enter the minimum, then choose the products or collections it is counted from. To count every product, choose a collection that contains all of them; Shopify doesn't offer "all products" here.

The gift is given once per order. In Shopify the discount shows as a product discount (no minimum) or as a Buy X Get Y discount (with a minimum). Until the minimum is reached, a gift in the cart stays at full price.

Discount value

Shown for Percentage and Fixed value.

  • Value: a number above 0. Percentages can be at most 100. Fixed amounts are in your store currency, which is shown next to the field.
  • Only apply to a limited number of items per order: caps how many units get the discount. See Item limit.
  • Set a maximum discount amount (Percentage only): the most the code takes off per order, in your store currency, e.g. 20% off, up to 500. See Maximum discount amount.
  • Use discount tiers: a bigger discount for a bigger spend (10% from 1,000, 20% from 2,000) or for more items (buy 3, get 10%; buy 5, get 20%). See Discount tiers.
  • Include free shipping: the same code also makes shipping free. See Product discount + free shipping.

For Amount off order + Free shipping, the card is called Order discount and has Order discount type (Percentage or Fixed amount) and Value. With Percentage you can also set a maximum discount amount.

Applies to

Which products the discount covers. Shown for every type except Free shipping and Buy X Get Y.

OptionDetails
All products DefaultEvery product in your store.
Specific collectionsClick Browse and pick one or more collections. Products added to those collections later are covered too.
Specific productsClick Browse and pick products. You can narrow a product down to some of its variants; the list shows All variants or 2 of 5 variants.

Remove an item with its × button. If you choose collections or products, select at least one.

For Amount off order + Free shipping, the order discount comes off the total of the selected items only, and free shipping applies when the cart contains at least one of them.

Don't discount products that are already on sale

Skips every variant whose compare-at price is higher than its price, so a code never stacks on top of a markdown. It works per variant: if only one size of a product is marked down, the other sizes still get the discount.

  • Sale items also don't count toward a minimum that counts only the discounted products. Choose The whole order under What counts toward the minimum to count them.
  • If every item in the cart is on sale, the code doesn't apply (and a product discount with free shipping doesn't ship free either).
  • On Percentage and Fixed value sets the code is created as an app discount. It can be turned on only when a set is created; after that you can turn it off or back on from Edit settings.

Show as an order discount at checkout

Shopify treats a discount on specific collections or products as a product discount. At checkout it lowers the price of each eligible item, the Subtotal already includes it, and nothing shows under Order discount. Tick this option to show the saving as one line under Order discount instead. Only the same items are discounted, and the amount is the same.

A 15% code, cart with a 100.00 eligible item and a 30.00 other itemOption off DefaultOption on
Eligible item100.00 85.00100.00
Subtotal115.00130.00
Order discount(not shown)CODE −15.00
Total115.00115.00

Only apply discount once per order

Shown for Fixed value when you pick specific collections or products (and no item limit). It decides how the amount is counted when the cart has several eligible items:

SettingA €5 code on a cart with 3 eligible items
Only apply discount once per order ticked Default€5 off in total, spread across the three items.
Unticked€5 off each eligible item: €15 in total.

With All products the code is an order discount and always comes off once. With an item limit, the amount always comes off each discounted unit, up to the limit.

Shipping discount, countries & shipping rates

Shown for Free shipping.

OptionDetails
Free shipping DefaultShipping is free.
Fixed amount off shipping NewTakes the amount you enter (store currency) off each shipment, e.g. 10 off a 25 rate. A rate below the amount ships free. Created as an app discount; with selected countries the discount shows once the customer has entered an address. See Fixed amount off shipping.
All countries DefaultFree shipping wherever you ship.
Selected countriesOnly for orders shipped to the countries you tick. The list shows the countries your store ships to (from Settings › Shipping and delivery); use the search box to find one. Select at least one.
Exclude shipping rates over a certain amountThe code only covers shipping rates up to this amount, in your store currency. For example, with 20, standard shipping (€6) is free but express (€25) isn't. Not available with Fixed amount off shipping.

Purchase type & subscriptions

Shown for every type except Buy X Get Y, which has its own Purchase type in the Customer buys card. It decides whether the code works on one-time purchases, subscriptions, or both.

OptionDetails
One-time purchase DefaultThe code works on regular purchases only, the same as Shopify's default.
SubscriptionThe code works only on subscription purchases.
BothThe code works on one-time purchases and subscriptions.

Recurring payments for subscriptions

With Subscription or Both, choose how many subscription payments get the discount:

  • Limit discount to the first payment Default: only the first order of the subscription is discounted.
  • Limit discount to multiple recurring payments: enter a Number of payments. It includes the first payment, so 3 means the first three orders.
  • Discount applies to all recurring payments: every renewal is discounted for as long as the subscription runs.
You need a subscription app

Subscriptions are sold through a subscription app, such as Shopify Subscriptions. If your store doesn't sell subscriptions yet, the page tells you so. You can still pick the option; it takes effect once you add subscription products.

Minimum purchase requirements

What the cart needs before the code works. Hidden for Buy X Get Y, which has its own requirement.

OptionDetails
No minimum requirements DefaultThe code works on any cart.
Minimum purchase amountThe cart subtotal must reach this amount, in your store currency.
Minimum quantity of itemsThe cart must contain at least this many items. Use a whole number.
With products or collections selected

By default the minimum counts only the items the discount applies to, which is Shopify's standard rule. A €50 minimum on "T-shirts" needs €50 of T-shirts in the cart.

For codes created as app discounts (item limit, maximum discount amount, product + free shipping, and order + free shipping), you can change this under What counts toward the minimum:

  • Only the discounted products: the default described above.
  • The whole order: every item in the cart counts. Use it for offers like "spend €30, get this product free". The free product counts at its full price, so to require €30 of other items on top of a €16.90 gift, set the minimum to €46.90.
"Valid but not applicable" at checkout

If a customer sees that the code is valid but can't be applied, the cart doesn't meet the minimum as counted above. The most common case is a gift offer left on Only the discounted products: a €16.90 product alone can never reach a €30 minimum.

Eligibility

Who can use the codes.

OptionDetails
All customers DefaultAnyone with the code, including guest checkouts.
Specific customer segmentsOnly customers in the segments you tick. Segments are the ones you build in Shopify under Customers › Segments. The first 100 segments are listed.
Specific marketsOnly buyers in the markets you tick, as set up in Shopify under Settings › Markets. The first 100 markets are listed.
  • A set can target segments or markets, not both.
  • Segment targeting means the customer has to be logged in (or identified at checkout) and belong to the segment when they check out.
  • There is no "specific customers" option. To target a handful of people, create a segment for them in Shopify first, for example customers with a certain tag.

Checked at checkout

Two extra checks in the same card, run live when the customer checks out:

  • Only customers with any of these tags: separate tags with commas, e.g. vip, wholesale. The customer needs at least one of them.
  • Only for a customer's first order: the customer must have no orders in your store yet.

Unlike segments, these don't wait for Shopify to update segment membership, so a customer tagged a minute ago or a brand-new account qualifies right away. The customer has to be logged in: at a guest checkout Shopify can't tell who is buying, so the code doesn't apply. On Percentage and Fixed value sets the code is created as an app discount; these checks can be turned on only when a set is created, and changed later from Edit settings.

Per-customer limit

Limit how often each customer can use this set counts a customer's orders across all codes of the set, codes added later included:

  • Uses per customer: e.g. 3 means a customer can use the set on 3 orders, whichever codes they have.
  • Days between uses: e.g. 30 means once a month. The days follow your store's time zone.

Fill in one or both. For a single use per customer the Limit to one use per customer option is enough; this rule is for more than one use or a waiting time. The first time you turn it on, Shopify asks you to allow DiscountFix to write customer data: the count is saved on each customer and nothing else is changed.

Good to know: the count updates a few seconds after each order, so two orders placed back to back can both go through. Guests can't be counted; by default the codes then only work for logged-in customers, unless you tick Let guests use the codes. A blocked customer sees the code as not applicable. Works with Percentage, Fixed value and Combined sets (created as an app discount).

Combinations

Whether the code can be used together with other discounts in the same checkout. All three are off by default.

  • Product discounts
  • Order discounts
  • Shipping discounts (not shown for Free shipping sets)

Both discounts must allow the combination. If your automatic discount doesn't combine with product discounts, a DiscountFix code with Product discounts ticked still won't stack with it.

Stack on the same item Shopify Plus

Normally an item gets only one product discount, even when the discounts combine. On Shopify Plus, Stack on the same item with discounts tagged lets this code apply to an item that already has another product discount.

  • Two discounts stack on the same item only when each allows a tag the other has. Enter the other discount's tags here, and allow this set's tags on the other discount.
  • This set's own tags are its Campaign, Channel and Department values. Give the set at least one.
  • Only for product discounts: Percentage or Fixed value on specific products or collections, Buy X Get Y and Free gift. Adding a tag ticks Product discounts.
  • The field is shown only on Shopify Plus stores.

Sales channel access

This card has no setting. Shopify's Allow discount to be featured on selected channels option can't be set by apps. If you need it, wait until the codes are generated, click Open in Shopify next to the set, and set Sales channel access there.

That option only controls where the discount can be promoted. It doesn't restrict where customers can redeem it.

Maximum discount uses

OptionDefaultDetails
Limit number of times this discount can be used in totalOn, Total uses = 1How many times each code can be used. With 1, every code is single-use: 500 codes give 500 redemptions. Untick for unlimited use.
Limit to one use per customerOnA customer can use a discount from this set only once, even if they have several of its codes.
Typical setups

Unique single-use codes (newsletter, influencer lists, printed cards): leave both on with Total uses = 1.

A few shared codes (e.g. 10 codes for 10 partners, each usable 100 times): Total uses = 100, and decide whether one customer may use it more than once.

Active dates

  • Start date and Start time: filled in with the current date and time. Codes work from this moment. A start in the past is allowed and simply means "active now".
  • Set end date: tick to add End date and End time. The end must be after the start. Without an end date, codes never expire.
  • If you move the start past the end, the end is moved forward for you.
Times are in your store's timezone

Dates and times are read in the timezone set in Shopify under Settings › General, not your computer's. The default start time is taken from your computer's clock, so if you're travelling, check the start time before saving.

You can change the dates later with Edit settings, or push the end date from Shopify Flow. See Edit a set.

Summary card

The card on the right sums up the set as you build it, so you can check it before saving:

  • An example code with your format, plus code type, count, length, prefix, suffix, allowed characters and separator.
  • The discount in one line, e.g. 10% off for all products (max 2 items) + free shipping or Buy 1 items, get 1 at 50% off.
  • Extra lines when you use them, e.g. Ships to 2 countries, rates up to 20 EUR, Applies to each eligible item or One-time purchases and subscriptions (first 3 payments).
  • The minimum, e.g. Minimum purchase of 50.
  • Who it's for: For all customers, For 2 customer segments or For 1 market.
  • The limits, e.g. Limit of 1 use, one per customer.

Saving and generation

Clicking Save queues the set. You'll see Discount set saved successfully. and go back to the list. The codes are then created in Shopify in the background, in batches of 250:

StatusMeaning
In queueWaiting its turn. Your store's sets are processed one after another, in the order they were saved. Other stores' sets don't hold yours up. The card shows how many of your sets are ahead and roughly when it starts.
RunningThe discount exists in Shopify and codes are being added. The list shows X / Y created, a progress bar and the estimated time left, and refreshes itself.
CompletedAll codes are in Shopify and ready to use.
FailedShopify refused the discount, for example because of invalid dates or an empty product list. Nothing will change by waiting. Check the settings and create a new set; if you can't see what's wrong, contact us with the set ID and we'll tell you Shopify's reason.

The first codes are usable as soon as the set is Running. You can close the app while it works; generation continues on our servers.

How long does it take?

Roughly 2,000 codes a minute: a few hundred codes are ready in seconds, 10,000 in about 5 minutes, 50,000 in about half an hour. Shopify accepts 250 codes at a time, so size sets the pace. Several stores are processed in parallel, so a large set in another store doesn't make you wait. While a set is generating, the In-progress card shows an estimate based on the actual speed.

Save errors

Field problems are shown under the field itself, for example Title is required., Percentage cannot exceed 100., Select at least one product. or End date can't be before the start date. Other messages appear in a red banner at the top of the page:

MessageWhat to do
You've reached your monthly limitThe form is locked until your allowance resets next month. Upgrade on the Pricing page to continue now. See Plans & limits.
We couldn't reach the server…Check your connection. Ad blockers and some privacy extensions block the request; disable them for Shopify admin and try again.
Error saving discount set. Please try again.A temporary problem. Try again in a minute. If it keeps happening, contact us.