In this article you will learn how to create a points-based Loyalty Campaign in Talon.One. Before you start, your system must be integrated with Talon.One and have at least one active Application with a connected Loyalty Program.

Points-based Loyalty Campaigns

With a points-based Loyalty Campaign, you give each customer a virtual wallet, then set rules to determine how customers can earn points and how those points can be spent.

If you haven't set up a Loyalty Program yet, check out this article before we get started.

We're going to set up a simple reward points campaign which will give points to customers based on how much they spend in the session and allow them to spend those points on a future order.
When creating your Loyalty program, you might want to turn on Sub-Ledgers, which would allow customer profiles to hold loyalty points for multiple outlets or on multiple products operating under the same program. We'll cover any differences in approach below as optional steps.

Step 1. Create Campaign

The first step is creating the new campaign we'll need.
  • From your Talon.One dashboard, click on your Application.
  • On the Campaigns tab click "New Campaign".
  • Select 'Loyalty' as a feature to activate on this campaign.
Now click on this campaign and when you reach the Dashboard, select Rule Builder.

Step 2. Rule for earning points

First up we're going to create the rule for customers earning points.
  • Click "Add Rule".
  • Give your rule a name.
  • Under Conditions, click "Always Trigger Effects", so this rule will apply to all customer sessions.
  • Under Effects, click Add Effect and select "Add Loyalty Points".
  • Select Loyalty Program should be set to your desired Loyalty Program.
    • If your selected Loyalty Program has Sub-Ledgers enabled, click on the Sub-Ledger field now.
    • Select a string attribute. This will tell the rule which sub-ledger wallet these newly-earned points should go to.
    • This attribute will be set up by your development team and could hold, for example, the name of the store, brand or product family the qualifying purchases belong to, so that any points earned on a purchase at 'RestaurantA' will be added to that customer's loyalty balance for 'RestaurantA'.
  • Recipient ID should be set to "Current Customer".
  • Amount of Points should be set to "[Session.Total]*10% for this example.
  • Confirm this Effect and click Save to finalise this rule.


So far, so good! This rule means that customers will earn points equal to 10% of the total amount they spent every completed transaction.

Step 3. Rule for spending points

Now that your customers can earn points, we'll create a rule which allows them to spend the points as currency.
  • Click "Add Rule".
  • Under Conditions, click Add Condition and choose "Loyalty Points can be Redeemed".
  • Select Loyalty Program should be set to your desired Loyalty Program.
    • As above, if your selected Loyalty Program has Sub-Ledgers enabled, click on the Sub-ledgers field and enter an attribute to let the rule know which sub-ledger wallet we should check the balance on.
  • Amount of Points should be set to [Session.Total].
  • Confirm this Condition
  • Under Effects, click Add Effect and select "Set a discount".
  • Give the discount a suitable name, like "Pay with points."
  • Discount Value should be set to [Session.Total].
  • Confirm this Effect and click Save to finalise this rule.


And there we have a simple point redemption rule; if the customer has enough points in their loyalty wallet to cover the session total, they'll redeem those points for a session total discount.
It's important to note that if the condition "Loyalty Points can be Redeemed" is true, the points will be deducted automatically, so the only Effect we need is the discount itself.


Now you know how to create and get started with your first Loyalty Campaign in Talon.One.
This is just one example of what is possible with your Talon.One integration.
Depending on the data points you send, you can build rules to meet your promotion requirements.

Next you might want to check out: