Award loyalty points for reaching the specific number of transactions

Published September 22, 2022
Modules
Difficulty
Selected Clients
zabka logo

Loyalty programs can build customer loyalty at a very low cost and make your customers more willing to shop in your store. You can award your customers with points for various activities which can be exchanged for specific products from your offer.

You can use different types of mechanisms of awarding points, based on your business needs. For example, awarding points for making a specific number of transactions during the specific time period, helps you encourage customers to spend more money and increases the number of bought products. What is more, if we use this mechanism in the FMCG brand, awarding points for buying specific products regularly, can develop a new habit in customers’ daily routine.

In this use case, we create a mechanism for awarding 1000 points for buying 10 coffees in the last 14 days. Then, we send a mobile push message with the information about awarded points. The workflow works only for the members of the loyalty program.

Prerequisites


  • Implement transaction events using SDK or API. Make sure that you implement category parameter in the transaction events.

  • Integrate mechanism for awarding loyalty points.
    For example, you can award loyalty points after transaction. In such case, create an expression that counts how many loyalty points are assigned to a customer for a transaction. Once you prepare the expression, please contact Support Team to configure materialization of loyalty points. After such configuration, every time loyalty points are assigned to a customer, the points.loyalty event will be generated in a customer’s profile with information about the number of loyalty points they received after a transaction (the points parameter). During implementation of points.loyalty event remember about adding parameter description which describe for which activity customer get points.

    Tip: Learn more about events here.

  • Collect the custom event which sends information to Synerise about joining a loyalty program (for example account.status with parameter accountStatus equal to active). Such an event with the appropriate status should be sent each time the membership status changes (when the customer resigns from the program or joins again).

Tip: In this case, when a customer joins the loyalty program, a custom event is generated on their card. However, these conditions and the scenario can be adapted to your business needs, for example, you can count the customers who joined the loyalty program using the registration event in the mobile application.

Security configuration


Before you start working with this module, if you are a Synerise customer or partner, consider reading the section about denylisting events. This natively accessible configuration will allow you to manage the restrictions in points management that may help you prevent fraud. 

Process


In this use case, you will go through the following steps:

  1. Create an aggregate which returns the current status of customer’s membership.
  2. Create an aggregate which counts bought products from category coffee in last 14 days.
  3. Create a workflow in which you award the specific number of points and send mobile push to customers who meet the conditions of the promotion.

Create an aggregate checking the status of the membership


In this part of the process, you will create the aggregate that returns the current status of the customer’s membership.

  1. Go to Analytics iconAnalytics > Aggregates > New aggregate.
  2. Enter the name of the aggregate.
  3. As the type of the aggregate, select Last.
  4. From the Choose event dropdown list, select the account.status event.
  5. As the event parameter, choose accountStatus.
  6. Set the date range for this aggregate to Lifetime.
  7. To save the aggregate, click Save.
Configuration of the aggregate
Configuration of the aggregate

Create an aggregate which counts the bought products in last 14 days


In this part of the process, you will create an aggregate which counts the bought products from the coffee category in last 14 days.

  1. Go to Analytics iconAnalytics > Aggregates > New aggregate.
  2. Enter the name of the aggregate.
  3. As the type of the aggregate, select Count.
  4. From the Choose event dropdown, select the product.buy event.
  5. As the event parameter, choose category.
  6. As the operator, choose Equal.
  7. As the value of the parameter, add coffee.
  8. Set the period for the aggregate to last 14 days.
  9. To save the aggregate, click Save.
Configuration of the aggregate
Configuration of the aggregate

Create a workflow


At this stage, you will create a workflow which is triggered by the transaction event. The workflow progresses to the filter which checks if:

  • the customer has purchased at least 10 coffees in the last 14 days,
  • the customer is a member of the loyalty program,
  • the customer hasn’t received points for purchasing 10 coffees yet

If the conditions are met, the system generates an event that awards loyalty points for the customer and sends the mobile push to that customer. If the conditions are not met, the customer finishes the workflow.

  1. Go to Automation icon Automation > Workflows > New workflow.
  2. Enter the name of the workflow.

Define the Profile Event trigger node


Configure the conditions that trigger the workflow. Use the product.buy event and the coffee category as the event parameter.

  1. As the first node of the workflow, add Profile Event.
  2. From the Choose event dropdown menu, choose the product.buy event.
  3. As the parameter, choose category.
  4. As the operator, choose Equal.
  5. As the value of the parameter, add coffee.
  6. Confirm by clicking Apply.
Configuration of the Profile Event node
Configuration of the Profile Event node

Define the Profile Filter node


As the next step, add the Profile Filter node which contains the conditions a customer must meet be awarded with loyalty points:

  • the customer has purchased at least 10 coffees in the last 14 days,
  • the customer is a member of the loyalty program,
  • the customer hasn’t received points for purchasing 10 coffees yet
  1. Add the Profile Filter node.

  2. Click Choose filter button.

  3. Choose Profiles > Aggregates and select the aggregate counting the number of coffees bought created in the previous part of the process.

  4. As the Operator, choose More or equal to.

  5. As the value, enter 10.

  6. Click Choose filter button.

  7. As the next condition, select the Events and select the points.loyalty event from the list.

  8. Click + where and select the description parameter.

  9. As the operator, choose Equal.

  10. As the value of the parameter, enter the name of the promotion. In our case we called it Points for Coffee.

  11. Change the Profiles matching funnel expression to Profiles not matching funnel by clicking the matching word.

  12. Set the time range to last 14 days.

  13. Click Choose filter button.

  14. As the last condition, choose Profiles > Aggregates and select the aggregate which returns the current status of customer’s membership created in the previous part of the process.

  15. As the operator, choose Equal.

  16. As the value of the aggregate, enter active.

  17. Click Apply.

    The Profile Filter node configuration
    The Profile Filter node configuration

Define the Generate Event node


At this stage, the workflow will generate an event on the customer’s profile with loyalty points awarded for the purchase of 10 coffees during last 14 days.

  1. To the matched path, add Generate Event. In the configuration of the node: 2. In the Event name field, enter the name of the event that will be generated on the customer’s profile. In this case, it is points.loyalty.

    Note: While naming your custom event, follow the pattern used for the default events in the application, such as page.visit, product.buy, and so on.
    1. In the Label field, add the text which will be visible in the header of the event details on a profile card.
    2. In the Body section, define the parameters of this event, and click Apply.

Example content of Body section:

{
  "description": "Points for Coffee",
  "points": 1000
}
Important: The action of this event and the description parameter must correspond to the condition in the Profile Filter that checks if a customer received points for purchasing 10 coffees already.
Note: The event body is an example. You can add more parameters or change the point calculation formula according to your business needs.
The Generate Event node configuration
The Generate Event node configuration

Define the Send Mobile Push node


Add Send Mobile Push node. This node will send the mobile push to customers who meet the conditions and gained 1000 points.

  1. Select the type of the mobile push notification as Simple Push.
  2. Select the push template, created as the part of prerequisites with the information about points gained.
  3. Skip the Additional parameters.
  4. Confirm the settings by clicking Apply.
The Send Mobile Push node configuration
The Send Mobile Push Event node configuration

Set up final settings of the workflow


  1. Add End nodes to:
  • Not matched path from the Profile Filter node.
  • After the Send Mobile Push node.
  1. Set the capping for the workflow to one time for 14 days.
  2. Optionally, add titles to each node so the workflow will be more understandable to your colleagues.
  3. To save it as a draft, click Save or activate by clicking Save & Run.
The workflow configuration
The workflow configuration

Check the use case set up on the Synerise Demo workspace


You can check directly in Synerise Demo account the configuration of the:

  • aggregate which returns the current status of customer membership,
  • aggregate which counts bought products from category “coffee” in last 14 days,
  • workflow in which you add the specific number of points and send mobile push to customers who meet the conditions of the promotion.

If you don’t have access to the Synerise Demo workspace, please leave your contact details in this form, and our representative will contact you shortly.

Read more


😕

We are sorry to hear that

Thank you for helping improve out documentation. If you need help or have any questions, please consider contacting support.

😉

Awesome!

Thank you for helping improve out documentation. If you need help or have any questions, please consider contacting support.

Close modal icon Placeholder alt for modal to satisfy link checker