Industries

Loyalty program examples: cosmetics, fashion and coffee need different numbers

Lea sells natural cosmetics, Tim sells fashion, Mira roasts coffee and ships it. All three installed the same plugin and want the same thing: that the second order is no accident. Once set up, their programs still look different, because their customers order at a different pace, send back different things and enjoy different rewards. The figures come from their three shops and are examples.

Cosmetics: rewards from your own range

Lea rewards with travel sizes and a care set

Lea's customers reorder their face cream about every eight weeks, spending 48 euros on average. A discount would push her prices down; travel sizes and care sets, on the other hand, are in her stock anyway, and they are worth more to the customer than they cost Lea. So her program swaps points for products from her own range.

  1. 1Under Rewards both rewards are listed with their points.

  2. 2In the Reward card Lea picks the Product and enters the Points cost.

  3. 3Under Conditions she sets a Minimum cart value of 50 euros for the care set.

RewardPoints costPurchase priceSelling price
Travel size set1503.20 €12.00 €
Care set3509.80 €32.00 €

You set the points cost of a reward freely; it does not depend on the conversion for the discount. Lea works it out from the purchase price. She puts the minimum cart value just above her average, so the care set comes with a full order and not with a single bar of soap.

Double points on refill pouches, all year round

Lea wants her customers to keep the jar and only buy the contents again. A booster without an end date therefore doubles the points on all refill pouches. Which products belong to it is set by a dynamic product group in Shopware; if a new refill pouch matches her filters, the booster applies to it as well.

  1. 1In the booster Lea picks the product group "Refill pouches" under Product scope; Active until stays empty.

  2. 2Effect type is Multiplier with the value 2.

  3. 3On the product page the notice and the doubled points show before the purchase.

The points on the product page already include the booster: a refill pouch for 16 euros shows 32 bonus points. The booster only affects the matching line items; the cream next to it still earns one point per euro.

A year at Lea's: 384 points and a care set

A regular customer orders six times a year, each time a cream for 32 euros and a refill pouch for 16 euros. All other values are the plugin's defaults.

288 €
revenue per year
384
points earned
9.80 €
purchase price of the care set
3.4 %
cost as a share of revenue
OrderCreamRefill pouchPointsBalance after
1st order32.00 € → 3216.00 € × 2 → 32+6464
2nd order32.00 € → 3216.00 € × 2 → 32+64128
3rd order32.00 € → 3216.00 € × 2 → 32+64192
4th order32.00 € → 3216.00 € × 2 → 32+64256
5th order32.00 € → 3216.00 € × 2 → 32+64320
6th order32.00 € → 3216.00 € × 2 → 32+64384

With 384 points the customer redeems the care set. She gets a set worth 32 euros; it costs Lea 9.80 euros to buy in, 3.4 percent of the yearly revenue. As a discount the same points would have been worth 3.84 euros.

Fashion: points that wait for returns

Tim releases points only after the return period

In Tim's fashion shop many customers order trousers in two sizes and send one pair back. So that nobody redeems points for goods still on their way back, Tim raises the minimum age for the release from 14 to 30 days. Points only become redeemable once the order is completed and 30 days old.

  1. 1In the Points release card Minimum age in days is set to 30.

  2. 2If part of an order comes back, Tim deducts the points for it with Manual booking, giving a reason for the customer.

Order placed
points pending, not yet redeemable
Completed and 30 days old
points booked and redeemable
Whole order cancelled
pending points drop out on their own
Part returned
correction as a manual booking with a reason

What applies: a partial return does not change the order state, so the plugin does not take it out on its own. The manual booking shows with its reason in the customer's point history. Until the pending points are released, the balance may briefly sit below zero.

1.5× points on the new collection instead of a discount on the old one

In September Tim's autumn collection arrives. Instead of marking down the summer stock, he gives 1.5× points on the new pieces for one month. The price of the collection stays as it is, and the benefit only takes effect on the next purchase.

  1. 1Under Conditions Tim limits the booster to September with Active from and Active until.

  2. 2The Product scope is the product group "Autumn collection".

  3. 3Multiplier 1.5; the customer sees the notice text on every piece of the collection.

Reduced items earn fewer points on their own: by default the Calculation basis is the amount actually paid. Anyone who wants sale items to earn on the old price switches it to the original price.

A reward in the size that fits

As a reward Tim gives socks in a pack of three, in three sizes. He links the product with its variants rather than a single size; the customer then picks the size that fits in the cart when redeeming.

  1. 1In the Reward card Tim picks the product with variants and a Points cost of 250.

  2. 2In the cart the card carries the label Choose a variant before the customer redeems.

If Tim picks one specific variant instead, say only size 39 to 42, it stays fixed. For fashion that rarely fits; for a one-size item such as a tote bag it does.

A year at Tim's: three orders, one return, a pack of socks

Points are rounded down to whole points per line item. All other values are the plugin's defaults.

309.60 €
revenue kept
346
points earned
4.50 €
purchase price of the socks
1.5 %
cost as a share of revenue
WhenWhatPointsBalance after
Marchshirt for 59.90 € and trousers in two sizes for 79.90 € each+217217 pending
Marchone pair of trousers back, manual booking−79138
Septemberchinos for 79.90 € from the autumn collection, × 1.5+119257
Novemberjumper for 89.90 €, socks redeemed as a reward+89 / −25096

With a 14-day period the points for trousers that only come back in the third week would already have been redeemable. With 30 days the program waits for the return.

Coffee shop: the stamp card as a reward

Mira builds the coffee loyalty card from a reward

Her customers know the stamp card from the café: ten coffees, the eleventh free. Online Mira builds the same card from a reward. A 250 g bag costs 12.90 euros and earns 12 points at the default of one point per euro. The reward "Bag of your choice" costs 120 points, exactly ten bags.

  1. 1The product page states that a bag earns 12 bonus points.

  2. 2The reward points to the product "Coffee 250 g" with blend and grind as variants and costs 120 points.

  3. 3Once the balance is enough, the customer picks blend and grind in the cart and redeems. The next reward shows how many points are still missing.

As a discount 120 points would be worth 1.20 euros, as a reward a whole bag. The customer sees the way to the next free bag on the loyalty page in the customer account: "36 more points to your next reward."

50 extra points for every tasting set

Whoever always buys the same house blend stays, but never tries anything new. Mira therefore puts a permanent booster with a fixed bonus on her tasting sets: 50 points on top, whatever the price.

  1. 1The Product scope is the product group "Tasting sets".

  2. 2Effect type is Fixed bonus (one-time), Fixed bonus in points 50.

With a product scope the fixed bonus is paid per matching line item, not once per order. Two different tasting sets in one order earn it twice, two of the same set once.

A year at Mira's: 17 orders, two bags free

A regular customer orders one bag for 12.90 euros every three weeks, and once a year a tasting set for 14.90 euros on top.

234.20 €
revenue per year
268
points earned
2
bags free
3.5 %
cost as a share of revenue
OrdersContentsPoints per orderPoints in total
16one bag for 12.90 €12192
1one bag and a tasting set for 14.90 €12 + 14 + 50 = 7676
17per year268

With 268 points the customer redeems the bag of choice twice, for 240 points in total. Producing two bags costs Mira 8.20 euros, 3.5 percent of the yearly revenue. The stamp card gives more than a one percent discount, and it works where coffee is bought: with the next bag.

What you set for this

The settings of the three shops side by side

All three keep the earn rate at the default. What sets their programs apart lies in the rewards, the boosters and, for Tim, the release period.

SettingDefaultCosmeticsFashionCoffee
Points earned per 1.00 spent1111
Minimum age in days14143014
Calculation basisAmount actually paiddefaultdefaultdefault
Show points hint on product listing cardsonononon
RewardsnoneTravel size set 150, care set 350Socks 250, with variantsBag of your choice 120
BoostersnoneRefill pouches × 2, permanentAutumn collection × 1.5, SeptemberTasting set + 50, permanent

Where to find them in the settings (loyalty menu on the left under System → Settings):

  1. 1Earning points card → Points earned per 1.00 spent

  2. 2Points release card → Minimum age in days

  3. 3Earning points card → Calculation basis

  4. 4Storefront hints - product & listing card → Show points hint on product listing cards

You create rewards under Customers → Loyalty points → Rewards, boosters under Customers → Loyalty points → Boosters. Neither sits in the configuration.

Read the whole manual →

Common questions

Common questions on this topic

Which earn rate suits my industry?

Usually the default: one point per euro and 100 points for one euro of discount. Whether cosmetics, fashion or coffee, the difference lies in rewards, boosters and the release period. A higher earn rate makes every order more expensive; a generous reward only costs something when someone redeems it.

Can a reward come in several sizes?

Yes. If you link a product with variants as the reward, the customer picks the variant in the cart. If you pick one specific variant, it stays fixed.

How do I build a digital stamp card?

With a reward whose points cost equals exactly ten purchases: if a bag earns 12 points, the free bag costs 120. The loyalty page in the customer account shows the progress, for example "36 more points to your next reward."

Does a stamp card also work with a goal?

A repeatable goal pays a bonus in points at every multiple of its threshold. Because that bonus itself counts towards the collected points, you keep it well below the threshold. For "every eleventh bag free" the reward therefore fits, for a bonus every 1,000 collected points the goal does.

What happens to the points on a partial return?

If the whole order is cancelled, the plugin reverses the points on its own. If only part comes back, the order state does not change; you book the difference as a manual booking with a reason the customer sees in the point history. A longer release period makes sure nothing has been redeemed by then.

Can I give more points for certain products only?

Yes, with a booster and a product scope. It only affects line items from the chosen dynamic product group, as a multiplier or as a fixed bonus per line item, and if you like only within a period.

Try the loyalty program in your own shop

The plugin installs free of charge from the Shopware Store. After the installation the program is running straight away, with values that suit most shops.