To reward customers for referring friends in PrestaShop, a store needs to define three things: how to identify the person who made the referral, when the referral counts, and who receives the reward. This can be done with referral links or codes, rewards triggered by registration or orders, and incentives for the existing customer, the new customer, or both.
The mechanics sound simple. In practice, a referral program quickly raises a few questions that are easy to overlook.
A customer recommends your store to a friend. The friend visits, places an order, and everyone is happy.
Except there is one small problem: how does your store know who brought that customer in?
And what should happen next?
A referral needs an identity
Imagine a customer sends their friend a message:
“You should try this store. Use my link.”
That is easy enough. The friend clicks the link and eventually registers or places an order.
But what if they are standing next to each other and the customer simply says:
“Use my code.”
That can work too.
I think both cases are useful. People do not always recommend a store in the same way, so I would not want a referral program to depend on one sharing method.
The important part is simply being able to connect the new customer with the person who referred them.
When should the referral count?
Suppose a friend registers using a referral link.
Should the sponsor get a reward immediately?
Maybe.
If the goal is to encourage registrations, that can make sense. The new customer could receive a welcome voucher, for example.
But a store may care more about actual purchases.
In that case, the rule could be:
Friend registers → nothing happens yet → friend places a qualifying order → reward is created.
And then there is the question of the order itself.
Should any order count?
Should there be a minimum amount?
What if the order is cancelled?
There is no universal answer here. It depends on what you actually want to reward.
Who should get the reward?
The obvious option is to reward the customer who made the referral.
But the new customer can also receive an incentive.
For example:
Existing customer: receives a reward for bringing someone new.
New customer: receives a welcome voucher.
Or both can receive something, with different reward types or amounts.
This matters because the two rewards serve different purposes. The new customer gets a reason to try the store, while the existing customer gets a reason to recommend it.
What happens after the first order?
The usual referral campaign is simple:
Customer A refers Customer B.
Customer B places an order.
Customer A gets a reward.
That is probably enough for many stores.
But then I got requests for something different: what if the referred customer keeps buying?
If Customer B places another order next month, should Customer A still get something?
It is a very different model.
You can reward the first referred order only, or you can keep rewarding the sponsor when the referred customer places subsequent orders.
I ended up supporting both approaches because they solve different problems.
A lot of the flexibility came from real requests
When I first started working on the Referral Program – Refer a Friend Rewards module, I expected the basic idea to be fairly small: customers invite friends, and referrals get rewarded.
Then store owners started asking for different versions of that idea.
Some wanted to reward both sides. Some wanted the reward on registration instead of an order. Some wanted loyalty points instead of a voucher. Others wanted the sponsor to keep earning from repeat orders.
So several of the options that are in the module today were added because someone actually needed that particular referral scenario.
That is also why I do not think there is one “correct” way to build a referral program.
The useful part is being able to define the rules that make sense for your store.
You can see the current referral features and examples on the Referral Program – Refer a Friend Rewards module page.
The coupon is the easy part
Once you start setting the rules, there are a few more things to think about.
Should every customer be allowed to sponsor referrals?
Should there be a minimum number of previous orders?
How many invitations can one customer send?
Should discounted products be excluded?
Which order statuses should trigger a reward?
These details can make a big difference.
For example, one store might use:
Existing customer refers a friend → friend gets a €10 welcome voucher → friend places an order over €50 → sponsor gets 3% of the order as a voucher.
Another might use:
Existing customer refers a friend → friend places an order → sponsor receives loyalty points → later orders from that customer can generate another reward.
Neither is inherently better. They simply fit different businesses.
Making referrals work like a normal part of the store
Your customers may already recommend your products to friends.
The problem is that those recommendations usually happen outside the store, so there is nothing to connect them to the customer who made the introduction.
A referral program gives that recommendation a simple structure:
Someone recommends your store → the new customer is identified → the referral meets your rules → the right person gets the reward.
That is really all it needs to do.
The difficult part is deciding what those rules should be.