Last updated: June 2026.
You have probably read the line about acquiring a new customer costing five to seven times more than keeping an existing one. It gets quoted so often it has stopped meaning anything. Strip the cliché away and the point that survives is simple: if every customer buys once and never returns, you are paying full acquisition cost on every single order, forever. A loyalty program is one lever for changing that — but for a small store it is also one of the easiest things to over-build. This post is about the version that actually fits a small PrestaShop store: simple enough that customers understand it without a calculator, and honest enough that it doesn't promise more than it gives.
If you want the deeper mechanics — how points, store credit and cart rules are wired together inside PrestaShop — that lives in Loyalty Programs for PrestaShop: Points, Credits and Repeat Purchases. This guide is the decision layer above it: what to run, what to skip, and how to keep it from quietly costing you money.
Why most small-store loyalty programs quietly fail

Before the part that works, be honest about the part that doesn't. Loyalty programs on small stores rarely die from a bug. They die from one of four design mistakes, and all four are avoidable on day one.
| The failure | What it looks like | Why it kills engagement |
|---|---|---|
| Too complicated | "3 points per euro on Tuesdays, 5 on accessories, 500 points = 10% off orders over 75 EUR" | If a customer needs a calculator to value the reward, they opt out before earning anything. |
| Reward too far away | Spend 1,000 EUR to earn a 5 EUR voucher | The finish line is invisible. Interest dies after the second order. |
| Not promoted | One line of footer text and nothing else | A program nobody can see does not exist. Zero awareness, zero behaviour change. |
| No real differentiation | "1 point per euro, 100 points = 1 EUR off" — a 1% discount in disguise | Customers can do that maths. A 1% reward is not enough to move a single decision. |
Notice that none of these are PrestaShop problems. They are framing problems — which is good news, because framing is the cheapest thing to get right.
Three honest models that fit a small store
Effective small-store programs share three traits: the value is obvious, the first reward is reachable inside a couple of orders, and the whole thing feels personal rather than corporate. Here are the three models worth your time. None is "the best" — they suit different stores.
Model 1: Points with a value a customer can read at a glance
The classic points system works when the maths is visible: 1 EUR spent = 1 point, 100 points = a 5 EUR voucher. That is a 5% reward rate — high enough to notice, low enough to sustain. A customer who spends 200 EUR on their first order is already halfway to a reward, which is exactly the feeling you want them leaving with.
On PrestaShop this model has long been served by the legacy Customer loyalty and rewards module (folder name loyalty). Whether it is available — and whether it ships, installs by default, or needs adding — depends on your exact version and which modules are installed, so check the Module Manager (and Addons) for your shop rather than assuming it is there. If it isn't, a dedicated loyalty module from Addons does the same job. Once installed, it converts a percentage of each valid order into points, and according to its settings turns accumulated points into a voucher/cart-rule style reward (a cart rule, in PrestaShop's vocabulary) the customer applies at checkout. The settings worth understanding before you switch it on:
- "Order states which should set the voucher as valid." Points should only become spendable once the order is genuinely complete — Payment accepted or Delivered, not Awaiting payment. This is the single setting that stops a customer from earning, spending, then cancelling — leaving you holding a discount on revenue that never arrived.
- The point-to-currency ratio. Keep it legible. "100 points = 5 EUR" reads instantly; an awkward ratio re-introduces the calculator problem you were trying to avoid.
- Voucher validity period. Generated vouchers carry an expiry — covered below under the honest accounting part.
The official module is deliberately basic: order-based points, one threshold, one voucher type. For many small stores that is precisely enough, and "enough" is the whole point of this article. If you outgrow it — you want store credit alongside points, tiered earn rates, or rewards for reviews and referrals from one place — the upgrade path and the trade-offs are in the points, credits and repeat purchases guide, and our own Loyalty Credit Revolution module is built for exactly that next step. Don't reach for it on day one, though — start with the legible basics this article describes and add complexity only when the simple version is clearly working.
Model 2: Spending tiers, mapped to customer groups
Instead of points, reward cumulative spend at fixed milestones:
- After 100 EUR total → 5% off the next order
- After 300 EUR total → 10% off the next order
- After 500 EUR total → free shipping, ongoing
This is simpler than points because there is nothing to track in the customer's head — you either qualify or you don't. The neat part on PrestaShop is that the platform already has the machinery for permanent tiers: customer groups (Customers → Groups). A group can carry its own catalogue discount and its own price rules, so a "Gold" group can see a standing 10% reduction without you issuing a single voucher. You promote a customer into the group once, and the benefit follows them on every future order. So what does that buy you? A status that feels permanent rather than transactional — and a switching cost that grows the longer someone shops with you, with no per-order admin.
The honest caveat: PrestaShop won't auto-promote customers by lifetime spend out of the box. For a small store, moving a handful of people up a tier by hand once a month is a five-minute job. Only automate it when the volume genuinely hurts.
Model 3: The surprise — no program at all
You don't actually need a formal scheme. Surprise repeat buyers with rewards they didn't earn on a points sheet: a free sample tucked into a third order, a personal code in a thank-you email after the fifth purchase, a handwritten note and a small gift for your top twenty customers at year end. PrestaShop makes the targeting trivial — sort Customers → Customers or the Best customers stat, generate a one-off cart rule restricted to that customer, and send it.
This works better for small stores than for large ones, which is rare and worth exploiting. The unexpected reward triggers stronger positive emotion than the expected one, and it is something a faceless corporation structurally cannot fake. It is also the cheapest program to run, because there is nothing to maintain.
Reward more than just purchases — but only what helps you
The smartest small-store programs pay out for actions that build the business, not only for spending. Each of these is a cart rule or a small bonus you can issue from the back office:
- Account creation: a small welcome credit turns an anonymous buyer into a contactable one. Guest checkout still stays the default — you are inviting registration, not forcing it.
- Product reviews: reviews lift conversion for everyone who reads them. A reward for an honest review is one of the highest-leverage payouts you can make.
- Newsletter signup: email remains the channel that earns its keep. The mechanics of capturing those subscribers properly are in PrestaShop Newsletter: Growing Your Email List the Right Way, and why the channel still outperforms the rest in Email Marketing for Online Stores.
- Referrals: rewarding a customer who brings a buying friend turns your best customers into a sales channel. That is a discipline of its own — don't bolt it onto your points scheme; run it properly per Referral Programs for PrestaShop.
Implementation details that decide whether it works
Make the program impossible to miss
A loyalty program promoted only in the footer is a program that doesn't exist. On a PrestaShop store, surface it where attention already is: the points balance in the customer account area (the module adds its own loyalty link under My account), the points earned on the order-confirmation page and email, an "earn X points with this purchase" line on product pages, and — most valuable of all — a nudge when someone is close to a threshold. A "you're 20 points from a 5 EUR reward" email has a legitimate reason to land in the inbox. That kind of triggered message belongs in your broader lifecycle flows; the post-sale sequence it slots into is mapped in Post-Purchase Emails: What to Send After Someone Buys.
Set an expiry — and be transparent about it
Points need to expire, typically after 12 months of inactivity. This isn't meanness; unredeemed points are a liability that grows on your books indefinitely. PrestaShop's generated vouchers already carry a validity window, so use it — and send a reminder before the deadline so customers feel given a chance, not robbed. An expiry with a warning email is honest. A silent one is not, and customers remember which kind they got.
Make redemption a single click
If claiming a reward means emailing support or hunting for a code, the program is dead on arrival. The bar is one click. PrestaShop's cart-rule engine handles this cleanly: the reward is generated as a voucher tied to the customer's account and offered at checkout, applied without anyone typing anything. The moment redemption needs a human, your repeat-purchase lift evaporates.
The honest part
Be direct about what a loyalty program is not. It will not rescue a fundamentally broken business. If your products aren't competitive, your site is frustrating, or your delivery takes weeks, no quantity of points will bring anyone back. Points are a tiebreaker, not a cure.
What a program does do is two real things. First, it tips a close decision: when a customer is choosing between you and a near-identical competitor, the points and status they hold with you are a small, genuine switching cost. Second, it is a reason to stay in contact between orders without sounding like another promotional blast — which is the quiet engine of retention. If you want to compare it against the other tool people reach for here, discount strategies that actually work is the honest counterpart: when a standing discount beats a points scheme, and when it just trains customers to wait for a sale.
Start small, measure, then decide
Don't launch a multi-tier empire. Switch on the official points module with one legible ratio and one threshold, promote it properly, and leave it alone for a real measurement window. Record your repeat-purchase rate before you start, then compare over at least 60–90 days — long enough that a normal second-purchase cycle has had time to complete, so you are reading a trend and not a fortnight of noise. PrestaShop's Stats → Best customers page and the Customers → Customers list help you spot repeat buyers and order counts, but a true repeat-purchase rate isn't a ready-made KPI there — for that figure you'll usually need a reporting/analytics module, a dedicated stats add-on, or a quick SQL query.
Small-store loyalty FAQ
What point-to-currency ratio should I use?
One a customer can read at a glance. "1 EUR spent = 1 point, 100 points = a 5 EUR voucher" is a clean 5% reward rate — high enough to notice, low enough to sustain — and someone who spends 200 EUR on their first order is already halfway to a reward. Avoid awkward ratios that re-introduce the calculator problem; a 1%-in-disguise scheme ("100 points = 1 EUR off") won't move a single decision.
When should loyalty points become spendable?
Only once the order is genuinely complete — Payment accepted or Delivered, never Awaiting payment. In the official PrestaShop loyalty module this is the "order states which should set the voucher as valid" setting, and it's the single control that stops a customer earning, spending, then cancelling and leaving you holding a discount on revenue that never arrived.
Do loyalty points need to expire?
Yes — typically after 12 months of inactivity. Unredeemed points are a liability that grows on your books indefinitely. PrestaShop's generated vouchers already carry a validity window, so use it, and send a reminder before the deadline. An expiry with a warning email is honest; a silent one isn't, and customers remember which kind they got.
Can I run loyalty without installing a program at all?
Yes, and for small stores the surprise approach often works better than a formal scheme. A free sample in a third order, a personal code after the fifth purchase, a handwritten note for your top twenty customers at year end — sort Customers → Customers or the Best customers stat, generate a one-off cart rule for that customer, and send it. The unexpected reward triggers stronger emotion than the expected one, and it's the cheapest program to run because there's nothing to maintain.
How long before I know if the program is working?
Record your repeat-purchase rate before you start, then measure over at least 60–90 days — long enough that a normal second-purchase cycle has completed, so you're reading a trend and not a fortnight of noise. PrestaShop's Best customers stat and the Customers list help you spot repeat buyers, but a true repeat-purchase rate usually needs a reporting/analytics module or a quick SQL query.
If repeat-purchase rate moves up even a few points, the program is earning its place. If it doesn't, simplify further or fall back to the surprise approach — which costs almost nothing to run. The goal was never the most sophisticated loyalty program on PrestaShop. It was the one your customers actually understand, the one you can run honestly, and the one that quietly makes them come back.
Comments
No comments yet. Be the first!
Be the first to ask a question or share useful feedback.
Leave a comment
Share a question, an installation detail, or feedback that could help another reader.