Keep the reward under roughly 20% of the cycle's revenue
A free-treatment reward should cost you no more than about 20% of the revenue a client generates across the visits leading up to it — past that, the reward stops being a retention discount and starts eating margin faster than the extra visits it earns back. See reward thresholds that protect your margin for the general math this page applies to salon treatments specifically. A 5th-visit-free card on a uniform price list works out to roughly a 20% discount; that's the ceiling, not a comfortable middle.
The two mechanics that control this number are different depending on card type: a stamp card's "dial" is the visit threshold (5th, 8th, 10th visit), while a points card's dial is the points-per-riyal ratio and the redemption cost. Both aim at the same 20% ceiling, they just get there through different levers.
Whichever mechanic you use, the reward lives on one card in the client's wallet, so the sizing decision only has to be made once, not re-explained at every visit.
- Stamp card lever: the visit threshold — higher threshold, lower % discount per cycle
- Points card lever: the points-per-riyal ratio and redemption cost — tighter ratio, lower % discount
- Target ceiling for either mechanic: roughly 20% of cycle revenue
- Below 10% the reward barely registers with clients; above 25% it starts costing more than the extra visits are worth
Stamp threshold sizing vs. points ratio sizing
Both mechanics let you hit the same target discount, but they behave differently once your price list is uneven — which is the deciding factor for most salons.
| Mechanic | How you size it | Works best when |
|---|---|---|
| Stamp threshold | Raise or lower the visit count needed for a free treatment | Prices across services are similar |
| Points ratio | Adjust points earned per riyal and the redemption cost | Prices vary widely (trim vs. full color) |
| Balance / discount card | Set a fixed percentage or prepaid decrement | Prepaid packages or an ongoing loyal-client perk |
A worked example: a 220 SAR keratin treatment
A salon charging 220 SAR for a keratin treatment, on a 5th-visit-free stamp card, gives away one 220 SAR treatment after four paid visits worth 880 SAR — a discount of exactly 20% across the cycle, right at the ceiling. Push the threshold to the 6th visit and the discount drops to about 17%; pull it to the 4th visit and it climbs past 25%, which starts to bite into margin on a treatment that likely already has real product cost behind it.
On a points card instead, the same 220 SAR treatment might cost 1,000 points to redeem, with 1 point earned per riyal spent — a client needs 1,000 SAR of spend to hit it, which is the points-side equivalent of tuning the threshold.
Don't forget the cost of the visits, not just the free treatment
Product cost and stylist time on the free visit still apply even though the client isn't paying — a "free" keratin treatment still uses the same product volume and chair time as a paid one. Factor that into your ceiling rather than treating the free visit as pure marketing spend with no cost attached.
For services with high product cost (color, keratin, deep-conditioning treatments), lean toward the higher end of a 15–20% range rather than the low end, since the true cost of the free visit is closer to its retail price than a lower-cost service like a trim.
Send the reward-redeemed message with the numbers already reset
Waya's reward-redeemed trigger fires automatically and can restart the count in the same message, so the client sees her next cycle beginning immediately rather than wondering if the card reset silently.
A line like "Enjoy your free treatment! Your card resets — see you for stamp 1." keeps the loop visible and closes the redemption cleanly.
Free plan gives you room to test the sizing before committing
Free is 0 SAR forever with up to 100 customers and 100 messages a month — enough to run a 5th-visit and an 8th-visit version with two batches of clients and compare actual redemption cost against your bookkeeping before locking in a number. Growth at 85 SAR/mo removes the 100-customer ceiling once you're ready to scale the winning threshold.
One constant regardless of mechanic: Waya has no POS or till integration, so a staff member scans the card on an ordinary phone rather than the till applying a reward automatically.
Size your reward in five steps
This is a one-time calculation per card, not something to redo every month — set it once, watch the numbers for a cycle, then adjust only if the redemption cost is clearly off target.
- Step 1: total the revenue in one cycle
Add up what a typical client spends across the visits leading to the reward.
- Step 2: price the free visit at true cost
Include product and stylist time, not just the listed price.
- Step 3: divide the free visit's cost by cycle revenue
Aim for a result close to 20%.
- Step 4: adjust the threshold or points ratio
Raise the stamp count or tighten the points ratio if the percentage runs too high.
- Step 5: re-check after real redemptions
Compare your dashboard's actual redemption pattern against the math before the next cycle.
Frequently asked questions
How big should a salon's free-treatment reward be?
Keep the cost of the free visit close to 20% of the revenue generated across the cycle leading up to it. Below about 10% it barely motivates clients; above roughly 25% it starts costing more than the extra visits are worth.
How do I size a stamp card reward vs. a points card reward?
On a stamp card, adjust the visit threshold — a higher threshold lowers the percentage discount. On a points card, adjust the points-per-riyal ratio and redemption cost, which works better when your price list varies widely.
Does a "free" treatment really cost nothing?
No — product cost and stylist time still apply on the free visit even though the client doesn't pay. Factor that true cost into your sizing rather than treating the free visit as a marketing freebie.
What happens to the reward count after redemption?
Waya's reward-redeemed trigger fires automatically, and you can write the message to state that the count has reset, so the client sees her next cycle starting immediately.