Loyalty Use Cases
Configuring a Loyalty Program with Streaks
Example 1: Exercise 30 Minutes a Day / 5 Times a Week / 3 Weeks a Month
Assumption:
- The brand sends a daily event with the number of minutes the user has exercised.
Implementation Steps
1. Behavioural Event Configuration:
- Event Creation:
- Event Name:
Exercise
- Attributes:
Customer ID
Minutes Exercised
(attribute name:minutes
)
- Webhook Sharing:
- Share the created webhook with the brand.
- Ensure the brand submits data in the correct format and schema.
- Optionally, include the
eventDateTime
attribute to allow overriding the default date (useful for retroactive or future events).
- Event Frequency: Only one event per customer per day.
- Event Name:
2. Streak Configuration:
-
Create a Streak:
- Metadata:
- Name: [Streak Name]
- Description: [Streak Description]
- Till Code: [Unique Code]
- Date Settings:
- Start Date: [Enter Start Date]
- End Date: [Enter End Date]
- Audience:
- Target All customers or a Specific audience group.
- Metadata:
-
Configure Target Levels:
- Activity: Behavioral Event
- Event:
Exercise
- KPI: Count
- Target Value: 5 (indicating 5 exercise events per week)
- Frequency: Weekly
- Rule:
currentEvent.minutes >= 30
(only counts days with at least 30 minutes of exercise)
-
Configure Streak Levels:
- Streak Level: 3 (for 3 weeks)
- Additional Levels: (e.g., 5 weeks, 7 weeks, 10 weeks as needed)
- Non-Continuous Option: Enable/disable based on whether the streak must be continuous.
- Level Name: Find the level name in the "info" icon at the end of each level row, necessary for writing loyalty promotion rules.
3. Loyalty Promotion Configuration:
-
Create a Loyalty Promotion:
- Metadata:
- Name: [Promotion Name]
- Description: [Promotion Description]
- Loyalty Program: Link to the relevant loyalty program.
- Metadata:
-
Select Customer Activity:
- Choose Milestone or Streak is updated.
-
Select Promotion Type:
- Choose Available without issue (or another suitable option).
-
Set Duration:
- Align the promotion duration with the streak creation timeline.
- Optionally, add buffer days to the end date.
-
Set Condition:
- Add the following rule in the rule-box:
currentEvent.streakName == "name" && currentEvent.streakExists("name") && currentEvent.isStreakAchievedEvent
- Replace
"name"
with the specific streak level name.
- Add the following rule in the rule-box:
-
Configure Actions:
- Points: Issue points (previously “target point allocation”).
- Alternate Currencies: Use
Issue {{name_of_AC}}
. - Coupons: (if applicable).
- Badges: (if applicable).
-
Save & Publish: Save and publish the promotion to make it live.
Example 2: Summing Exercise Time Across Multiple Sessions / 30 Minutes Total per Day / 5 Times a Week / 3 Weeks a Month
Assumption:
The brand sends multiple events per day, with Capillary summing the total exercise time. For example:
- Morning: 10 minutes
- Evening: 15 minutes
- Night: 20 minutes
Instead of sending a single event with a "minutes" attribute of 45, the brand sends three separate events, and Capillary aggregates the total.
Implementation Steps
1. Behavioral Event Configuration:
-
Event Creation:
- Event Name:
exercise
- Attributes:
Customer ID
Minutes Exercised
(attribute name:minutes
)
- Event Name:
-
Webhook Sharing:
- Share the webhook with the brand for event submissions.
- Ensure the brand submits data in the correct format.
-
Add
eventDateTime
Attribute:- Include this attribute in the schema to override the current date (useful for retroactive or future entries).
2. Target Configuration:
-
Create a Target:
- Meta Details:
- Name: [Target Name]
- Description: [Target Description]
- Till Code: [Enter Till Code]
- Start & End Dates: Cover the entire duration of the use case.
- Meta Details:
-
Audience:
- Include all customers or a specific customer group.
-
Cycles:
- Create daily cycles with a fixed window type.
- Set the start and end dates to match the use case period.
-
Target Activity Details:
- Activity: Behavioral event
- Event:
exercise
- KPI: SUM
- Attribute:
minutes
- Target Value: 30 (total minutes per day)
- Frequency: Daily
- Rule: Leave as
true
.
3. Streak Configuration:
-
Create a Streak:
- Metadata:
- Name: [Streak Name]
- Description: [Streak Description]
- Till Code: [Enter Till Code]
- Metadata:
-
Date Settings:
- Start Date: Match with target creation start date.
- End Date: Match with target creation end date.
-
Audience:
- All customers or a specific audience group.
-
Target Level Configurations:
- Activity:
target completed event
- KPI: COUNT
- Target Value: 5 (times per week)
- Frequency: Weekly
- Activity:
-
Streak Level Configurations:
- Streak Level: 3 (indicating 3 weeks)
- Additional Levels: (e.g., 5 weeks, 7 weeks, 10 weeks if needed)
- Non-Continuous Option: Enable/disable depending on whether the streak must be continuous or allow breaks.
- Level Name: This is found in the "info" icon at the end of each level row. It's important for rule writing in promotions.
4. Loyalty Promotion Configuration:
-
Create a Loyalty Promotion:
- Metadata:
- Name: [Promotion Name]
- Description: [Promotion Description]
- Loyalty Program: Link with the relevant loyalty program.
- Metadata:
-
Customer Activity:
- Choose Milestone or Streak is updated.
-
Promotion Type:
- Choose Available without issue (or another suitable option).
-
Duration:
- Align the promotion duration with the streak.
- Optionally add a few buffer days to the end date.
-
Condition Setup:
- In the rule-box, use the rule:
ReplacecurrentEvent.streakName == "name" && currentEvent.streakExists("name") && currentEvent.isStreakAchievedEvent
"name"
with the specific streak level name.
- In the rule-box, use the rule:
-
Actions:
- Points: Use "Issue points" (previously "target point allocation").
- Alternate Currencies: Use "Issue {{name_of_AC}}".
- Coupons: (if applicable).
- Badges: (if applicable).
-
Save & Publish:
- Save and publish the promotion to make it live.
Example 3: Purchase $150 and Record 3 Basketball Sessions in a Week
Assumption:
Recording basketball sessions is considered a behavioral event.
Implementation Steps
1. Behavioral Event Configuration
-
Create a Behavioral Event:
- Name:
basketball_session
- Attributes: Include necessary attributes such as
customer ID
.
- Name:
-
Share Webhook:
- Provide the webhook to the brand for event submission.
- Ensure the brand sends data in the correct format.
-
Add
eventDateTime
Attribute:- Include this attribute to override the current date as needed (useful for retroactive or future dates).
2. Unified Target Creation
-
Create the Unified Target:
- Meta Details:
- Name: [Enter Name]
- Description: [Enter Description]
- Till Code: [Enter Code]
- Start & End Date: Cover the entire duration of the use case.
- Meta Details:
-
Audience:
- All customers or a specific audience group.
-
Cycles:
- Create weekly cycles starting from a specific date or from the customer’s first activity post-enrollment, depending on the use case.
-
Target 1 Details:
- Activity: Transaction
- Entity: Transaction
- KPI: Gross sales
- Target Value: 150
- Rule-box: Leave as “true”.
-
Target 2 Details:
- Activity: Behavioral event
- Event:
basketball_session
- KPI: COUNT
- Target Value: 3
- Rule-box: Leave as “true”.
-
Operator:
- Use “ALL” to require both targets to be met. Use “ANY” if meeting any one target is sufficient.
-
Save & Continue
3. Loyalty Promotions Configuration
-
Create a Loyalty Promotion:
- Metadata:
- Name: [Enter Name]
- Description: [Enter Description]
- Loyalty Program Linkage: [Link with relevant loyalty program]
- Metadata:
-
Customer Activity:
- Select “Milestone or Streak is updated”.
-
Promotion Type:
- Choose the appropriate option based on the use case, typically “Available without issue”.
-
Duration:
- Match the duration to the unified target creation.
- Optionally, add a few buffer days to the end date.
-
Condition Setup:
- Add a condition such as:
currentEvent.isUnifiedTargetAchievement
- If rewards are given for individual targets as well as the unified achievement, add conditions for each target:
currentEvent.isTargetAchieved && currentEvent.targetExists("name of the specific target")
- Add a condition such as:
-
Actions:
- Points: Use Issue points (previously “target point allocation”). Select options based on whether rewarding is for the unified achievement or individual targets.
- Alternate Currencies: Use Issue {{name_of_AC}}.
- Coupons: [Provide details if applicable].
- Badges: [Provide details if applicable].
-
Save & Continue
Updated 3 months ago