Creating a point-based loyalty campaign
After you create a profile-based loyalty program, you can define rules to determine how your customers earn points and how they can spend them.
Let's set up a reward campaign. The objective is to give points to customers based on how much they spend on one order and allow them to use those points as currency on future orders. If they spend $1000 or more, we give them 1 loyalty point for every 10 dollars they spend. For example, if the session total value is $5000, the customer receives 500 points after the session is closed.
You can get information about the loyalty point balances of a customer in the Loyalty Points tab of their customer profile in the Campaign Manager, or programmatically using the Get customer's loyalty points endpoint.
In a standard campaign with the loyalty feature enabled, let's create:
- A promotion rule to award loyalty points to customers who spend $1000 or more on one order.
- A promotion rule for customers to pay for new orders with their loyalty points when their point balance is equal to or greater than the session total.
- A promotion rule for customers to spend their loyalty points on new orders when their point balance is less than the session total.
Awarding points to customers who spend $1000 or more
Let's create a rule for customers to receive points corresponding to 10% of the total value of their session if they spend $1000 or more.
Let's name the rule Reward 10% loyalty points
. It has 2 conditions and 1 effect.
Rule 1: Conditions
-
Check attribute value:
- Attribute is Cart items total (current session).
- Is greater than or equal to
1000
.
-
Check for event types and custom event values:
- Event type is
Customer session closing
.
- Event type is
Rule 1: Effect
Add loyalty points:
- We select the loyalty program we have created. Let's imagine that it is called
Special reward
. - Recipient is
Current customer
. - Reason is
10% of current total
. - Amount of points is
[Session.Total]*10%
.
Paying for an entire order with loyalty points
Let's build a second rule for customers to spend their loyalty points on new orders, using them directly as currency, when their loyalty point balance is equal to or greater than the total value of the session
Let's name the rule Paying with loyalty points
. It has 1 condition and 1 effect.
Rule 2: Condition
Check attribute value: Current balance (Special reward
) is greater than or
equal to Session total (current session)
.
Rule 2: Effect
Discount session total: Name is Pay with points
and Discount value is [Session.Total]
.
Paying for part of an order with loyalty points
Let's build a third rule for our customers to use their loyalty points on new orders when their loyalty point balance is less than the total value of the session.
Let's name it Spend loyalty points
. It has 1 condition and 1 effect.
Rule 3: Condition
Check attribute value: Current balance (Special reward
) is less than
Session total (current session)
.
Rule 3: Effect
Discount session total: Name is Discount for points
and Discount value is
Current balance (Special reward)
.