Litestore · Operator guide
Catalog

Discounts

Create discount codes, automatic discounts and gift cards, and set limits on how often they can be used.

Discounts let you take money off an order, either with a code the customer types, with an offer that applies automatically, or with a gift card. You create all three at Catalog → Discounts, using the same form.

Litestore records every redemption together with the amount it took off. Your limits are counted against those records, so they always match real use. They don't depend on a running total that could drift.

In the database, a discount is a Coupon record. Each time a customer redeems it, Litestore adds a CouponUsage row.

The three methods

A code is something customers type at checkout.

An automatic discount has no code. Instead, you choose what triggers it:

first purchase
cart abandonment
returning customer
high intent

A gift card starts with a stored value. Customers spend that balance when they redeem it.

What the discount takes off

A discount takes off either a percentage or a fixed amount.

You then choose what it applies to:

  • the whole cart
  • the products in a specific collection

Litestore stores a fixed amount in the currency you created it in. It refuses the discount in a cart that uses any other currency. A customer can't redeem "$10 off" as 10 units of a stronger currency.

A percentage discount has no currency, so this doesn't apply to it.

Limits

You can set these limits:

  • a total usage limit
  • a per-customer limit
  • a minimum order amount
  • a maximum discount
  • a start and end date

Litestore counts the per-customer limit from the recorded redemptions. It doesn't keep a separate counter, so the count always matches what actually happened.

Public and private codes

If you mark a discount as not public, checkout never suggests it among the available codes.

This keeps a code from a welcome email or a recovery email away from people you didn't send it to.

Generated codes avoid lookalikes

The code generator uses the letters A to Z without I or O, and the digits 2 to 9. It formats each code as two groups of four characters.

Nobody mistakes one character for a similar-looking one when they read a code over the phone or copy it from a printed card.

Capitalisation does not matter

Litestore converts codes to upper case as you type them, when it saves them, and when it matches them at checkout. It also checks that codes are unique in their upper-case form.

SUMMER20 and summer20 can't both exist, and a customer who types either one gets the same discount.

There is no free-shipping discount type

You set free or reduced shipping on the product, not here. A product can pay a fixed part of the delivery charge or waive it entirely. See Shipping.

What a discount can be attached to

A discount doesn't have to stand alone. You can attach it to any of these:

  • a campaign
  • a collection
  • a collab

Setting one up

  1. Choose the method and value. Pick whether the discount applies to the whole cart or to a collection.
  2. Set the dates and usage limits. Decide whether the discount is public.
  3. Activate it.
  4. Watch how it performs. Reporting shows redemptions and discounted revenue. The worklist flags a discount when its end date is getting close.

Litestore checks the discount when you activate it. It refuses to activate a discount that has any of these problems:

  • no code
  • a value of zero
  • a percentage over 100
  • an end date before the start
  • an end date in the past
  • products that are no longer available

Which method to use

Use a code when the customer needs something to type or to pass on to someone else. Codes are the only method that gives them one.

Use an automatic discount when the offer should respond to what the customer does, and choose the trigger that matches it.

Use a gift card when the customer spends a balance instead of getting a percentage or an amount off.

All three methods handle limits the same way:

Litestore counts every limit from the recorded redemptions. What the discount has actually cost you is always the number the limit is measured against.

On this page