Rewarding customers in loyalty program for custom activities

Published September 19, 2022
Selected Clients
zabka logo

When building a loyalty program, you usually want improve customer engagement and experience, increase revenue and sales, and increase customer lifetime value. To achieve these goals, you need tools that make the whole process simple to build and attractive to the customer, so they want to feel as a part of your company. Synerise has your back. We ensure you have the best experience building loyalty scenarios, including the most flexible way to calculate and charge loyalty points.

A flexible approach to collecting loyalty points allows them to be earned through interaction in the mobile app, website, and by interaction with external tools. If any machine, tool, or device can send us a custom event, we can assign points in the loyalty program without having to create advanced integrations. As an example, we consider the bottle machines of one of our clients. The company created this solution for customers to encourage them to use green solutions that help protect the environment.

In this use case, we describe the process of adding points in the loyalty program for returning used bottles to the bottle machine. The bottle machine sends a custom event to Synerise, informing about the bottles’ return, the number of bottles, and their description. Based on this information, Synerise assigns loyalty points for the activity to customers who have previously scanned their barcode from the app. All the collected parameters are used in the push notification sent to the customer when the bottles are returned to the bottle machine.


  • Integrate Synerise mobile SDK in your mobile application.

  • Implement mobile pushes in your mobile application: iOS, Android.

  • Use custom events to save data to customers’ profiles when they perform an activity.
    In this particular use case:

    • The bottle machine reads the barcodes on the bottles.
    • A custom client.returnBottles event is sent from the machine to Synerise.
    • The custom event’s parameters include:
      • the number of bottles (productsCount)
      • the customer’s identifier (custom_identify)
        Note: The event name and parameters are examples. You can define your own names and parameters depending on your business needs.
  • Create a mobile push template that will be used later in a workflow. It should inform customers who use mobile app about points added for returned bottles. To do it, use {{event.params.points}} in code of your message.

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. 

Create a workflow

This use case is based on a workflow triggered by the client.returnBottles event. The workflow generates an event with the number of points rewarded to the specific customer for this activity and sends them a push notification with this information.

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

Define the Profile Event trigger node

At this stage, you should configure the conditions that trigger the workflow. Use the client.returnBottles event as a trigger.

  1. As the first node of the workflow, add Profile Event.
  2. From the Choose event dropdown menu, choose the client.returnBottles event.
  3. Confirm by clicking Apply.
Configuration of the Profile Event node
Configuration of the Profile Event node

Define the Generate Event node

At this stage, an event with information about the number of points added for returning bottles for specific customer will be generated.

  1. As the second node of the workflow, add Generate Event.

  2. In the Event name, enter the name of the event that will be generated on the customer’s profile. In this case, it is points.upcharge. This event cause counting the points for customers.

    Important: While naming your custom event, follow the context.action pattern used for the default events in the application, such as page.visit,, and so on.
  3. In the Label add the text which will be visible in the header of the event details on a profile card.

  4. In the Body section, define the parameters of this event, and click Apply.

Example content of Body section:

  "description": "Points for returning bottles",
  "displayHeader": "Eco - second life of your bottle",
  "points": "{{event.params.productsCount|multiply(10)|int}}"

In the jinjava code presented above, points is the number of points added to the profile. This number is counted based on the productsCount from the client.returnBottles event, which stores the number of returned bottles. In our use case, the number of points is the number of bottles multiplied by 10.

Note: The event body is an example. You can add more parameters or change the point calculation formula according to your business needs.

Define the Profile Filter node

As the next step, you should add the Profile Filter node, which checks if the customer agreed to receive notifications about the points status.

  1. Add Profile Filter node.

  2. In the settings of the node choose Profiles > Attributes and select the attribute that is assigned to customers who have agreed to receive push notifications. In our case it is receive_push_messages.

  3. As the Operator, choose Boolean - Is true.

  4. Click Apply.

    The Profile Filter node configuration
    The Profile Filter node configuration

Configure the Send Mobile Push node

  1. To the Matched path, add a Send Mobile Push node.
  2. In the settings of the node, choose the Template type of the mobile push and add the template you have prepared in the prerequisites.
  3. Click Apply.

Prepare the final settings

  1. To the Not matched path and after Send Mobile Push, add End nodes.
  2. Optionally, define capping.
  3. Optionally, add titles to each node so the workflow will be more understandable to your colleagues.
  4. Activate the workflow by clicking Save & Run.
The workflow configuration
The workflow configuration

Check the use case set up on the Synerise Demo workspace

You can also check the workflow configuration directly in Synerise Demo workspace.

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.



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