Milestones (Target loyalty)

This page provides you with information on Milestones, including details on what they are, how to configure them, where to configure them, and how to connect a loyalty promotion to a milestone.

The Milestones feature enables brands to set targets for their customers and reward them upon achieving the defined target. A pure gamification mechanism to increase user retention.

📘

Note

Benefits (aka rewards) needs to be configured seperately (in loyalty promotions) and cannot be configured along with the Milestone.

In a Milestone, the target value represents the specific objective or goal that users are required to achieve. This capability empowers brands to gamify their customers' user journey, aiding in user retention, enhancing regular sales, promoting cross-selling, and fostering enriched customer interactions.

With the help of Milestones, tracking can be done on almost any aspect of the user. The following examples help in understanding what variant type of tracking can be done using milestones:

Transactional type of milestones:

  • The user must achieve 10,000 gross sales in a month to receive 100 points.
  • The user has to make 5 transactions in a week to get a premium customer badge.
  • The user has to purchase 5L of petrol of a specific type in a month to get a $5 coupon.

Behavioral type of milestones:

  • The user must update their profile picture 3 times within a quarter to receive a $10 coupon.
  • The user has to walk 5000 steps in a week to get the fitness-freak badge.
  • The user has to give 3 product reviews in a quarter to get 10k points & exteem user badge.

Extended fields type of milestones:

  • The user has to purchase $100k as a tax in a year to get the ultra-rich-high-value user badge, which gives exclusive access to company events, and sessions for free.
  • The user has to purchase 13 grams of gold from a specific store in 6 months to get 15k points.

EMF events types of milestones: aka different customer-level events present in the workflow

  • The user has to redeem the points 5 times in a quarter to get a $2 coupon.
  • The user will be marked with the "fraud" label whenever a user does 10 returns in a quarter.
  • The user has to refer 7 new users in a year to get the elite badge and 5k points.

Unified targets examples:

With the help of milestones, you'll not only be able to track any property of the customer but also will be able to track multiple targets together which has many use cases.

Refer to this to learn more about the unified targets.

In all the above examples, each user is assigned a specific "target" to achieve to receive corresponding benefits. This process mirrors the structure of a game, where teams or players must meet predefined targets or goals to achieve rewards and others. Thus, milestones helps in implementing gamification for your brand.

Accessing the Milestone configuration page

To configure a milestone, use the following direct links to access the Milestones product page:

For the EU cluster: click on this link to open the EU cluster.

For the India cluster: click on this link to open the India cluster.

For the APAC2/SG cluster: click on this link to open the APAC2/SG cluster.

For the USA cluster: click on this link to open the USA cluster.

On the homepage, make sure to adjust the "org" to match your organization.

Home page

After clicking on any of the above URLs depending on your cluster, you'll see the home of Milestones. On the homepage, from the drop-down at the top-left, select your organization to view existing Milestones and configure new Milestones for your organization.

The homepage displays a list of all the Milestones already configured for the brand. You can use the search option to search for a Milestone and can also filter the Milestone list based on:

  1. The date range
  2. Status of the Milestones (Live, Upcoming, Ended, Stopped)
  3. Duration of the Milestone (between the start date X - end date Y)
  4. KPI on which the Milestone is created (Net sales, Gross sales, Quantity, Transactions, etc..)

Creating a milestone

You can build the milestone from the beginning (build from scratch) or use existing templates.

Build from scratch

This option can be used if you cannot find a template that suits your requirements. To build a milestone from the beginning, perform the following:

  1. On the homepage, click New milestone.
  1. Select Build from scratch and click Next.
  1. Enter the following details:
    1. Milestone details
    2. Milestone cycle details
    3. Customer enrolment/audience details
    4. Target details
  2. Click Done.

Milestone details

Enter the following details:

  • Name: Name for the Milestone. Always, try to provide a suitable name depending on your use case. This helps later in easily recognizing your milestone.
  • Description: A brief description of your use case. This helps to understand the purpose of Milestone in the future, and this can be edited later.
  • Duration: Start date & end date for the entire milestone. It is always recommended to give a few days (say 3 days) as extra buffer days to your end date. No tracking will happen during these extra buffer days, these are just to avoid any once-in-a-while situations.
  • Till code: This till code is used to attribute all the points that are being given from this milestone to a specific store. If you are a brand that doesn't have the till concept, please create a dummy till and select that here.
  • The target value for the customer: You can either configure it to be the same target for all the customers or a different target for each customer.
    • Same target for all customers: Select this option to set the same target value for all the customers. This is generally the most used case.
    • The different targets for each customer: Select this option to assign unique target values to different customers. If selected, a CSV file containing information on target values for each customer needs to be uploaded in the subsequent steps

Note: The target values are set in the subsequent steps.

Milestone cycle details

In this section, enter the details of the Milestone's cycles. A cycle in the context of milestones represents a recurring period during which users are expected to achieve a specific goal. For example, if you want your user to achieve $100 gross sales in a month, then the duration of that cycle will be a "month".

Fixed period cycle

In the fixed period cycle, each cycle runs for a defined period from the selected start date. A maximum of 30 different cycles can be configured. You can either define the same duration for each cycle or define a different duration for each cycle.

Same duration for each cycle

In this, each cycle of the Milestone will have the same duration. The supported cycle durations are Monthly, Quarterly, Half-Yearly, and Yearly in all the window types like fixed, cyclic, and period agnostic. Also, all these cycle durations will be in continuous nature without any gap between them.

To define the same duration for each cycle, perform the following

  1. Select the option Same duration for each cycle
  2. From the drop-down, select the duration. The available options are Monthly, Quarterly, Half-yearly, and Yearly.
  3. Select Specific date to select and start the cycle from a specific date. If you select today's date, the cycle starts immediately. This is also called a "fixed calendar window"
  4. Select the option After customer's 1st transaction post enrolment to start the cycle after the customer's first transaction within the milestone duration. This is also called a “cyclic calendar window”.
  5. In the Total cycles text box, define the number of cycles. The maximum number of cycles supported is 30.
Different duration for each cycle

This cycle type is suitable when the predefined cycle durations, such as Monthly or Quarterly, don't align with the brand's campaign strategy. Brands opt for customized cycle durations like weekly or every 10 days. This is supported only for the "fixed window" type of milestones, requiring users to manually provide the start and end dates for each cycle as per their use case.

To define different durations for each cycle, perform the following

  1. Select the option Different duration for each cycle.
  2. Enter the Start date and End date.
  3. To add more cycles, click +Add cycle.

Till target achievement cycle (Period agnostic cycle)

👍

Note

This is applicable only if the target is set as "same for all customers" in the Milestone details (aka, the config in the previous step).

Till target achievement also called a "period agnostic cycle" is a type of Milestone cycle where the cycle continues until the user achieves the specified target, and resets again immediately. In this configuration:

  • The Milestone cycle doesn't have a predefined duration. Instead, the cycle runs until the user reaches the specified target or goal. You can also define a maximum number of cycles.
  • The cycle starts after the customer's first transaction within the milestone duration.
  • There is no fixed end date for each cycle; it dynamically adjusts based on individual user achievements.
  • This type of Milestone cycle is particularly useful when the focus is on individual user progress toward a target rather than adhering to fixed time intervals.

To define a Till target achievement cycle, perform the following

  1. Select Till target achievement.
  2. Select Max limit, and in the Total Cycles text field, enter the maximum limit of cycle numbers to define the maximum number of cycles. The maximum number of cycles that you can set is 30.
  3. Select No limit, to run the cycle continuously until the target is achieved or until the end of the milestone.

Milestone window mapping - fixed window, cyclic window, and period agnostic window

These are the terminologies used in the legacy Milestone workflow and this information is provided for familiarisation purposes only.

  • For configuring a fixed calendar window:
    Select the combination: (Fixed duration - On a specific date) in this new flow.
  • For configuring a cyclic calendar window:
    Select the combination: (Fixed duration - On the customer's first transaction) in this new flow.
  • For configuring a period agnostic window:
    Select the combination: (Till target achievement) in this new flow.

Customer enrolment details

In this section, enter the details of the customers for whom you are creating the Milestones.

The option to enroll customers in this step depends on the selection made for the config "Target value" in the 1st step. The option "same for all the customers" has more enrollment options, whereas the "different for all the customers" will have only flow. More details below:

Same target value for all customers

When setting the same target value for all customers, you have two options to add customers:

  1. All customers - All the loyal customers of the organization who make a transaction after this milestone is configured automatically become part of the milestones.

  2. Audience group: This feature is the same as the feature available in Engage+. In this option, customers can be enrolled using:

    1. A CSV upload file: A list of all the target customers needs to be present in the CSV with their respective user identifiers. A sample CSV can be found in the same section.
    2. Audience filter: The audience can be enrolled into the Milestone based on various filters. This capability is the same as the capability present in Engage+. To create filters based on "targets", search for "target" in the search box. This will work only when the org is enabled for targets in Insights (please raise a ticket for the same if this is not available in your org).
    3. Merging the existing audience groups: The audience groups that are already created in the org can be merged to enroll all those customers into the Milestones. If you want to merge 3 groups, merge 2 groups first and then merge the 3rd group to it.

Example of an advanced audience enrollment:

There is a fuel brand that wants to create 3 different targets. However, they want to enroll their users into targets depending on the user's performance in some other target.

  • Target 1: The user must purchase 100L of petrol.
  • Target 2: The user must purchase 200L of petrol.
  • Target 3: The user must purchase 300L of petrol.

The brand wants to enroll customers in each target as follows:

  • All customers are part of Target 1.
  • Target 2 customers: Only those who achieved Target 1.
  • Target 3 customers: Only those who achieved Target 2.

In the Audience filter (search for "target" in the filter search box to use filters based on targets), provide values such as the minimum target value that needs to be achieved, time factor, target name, and cycle name (optional). Based on those values, customers are automatically filtered. See below image:

For more information, refer to the documentation on Audience group.

Different target value for all customers

When setting different target values for each customer, upload the customer details in a CSV file containing the customer identifier information, cycle, and target values, and map the corresponding fields in the UI.

Perform the following:

  1. Upload the CSV file.

    1. Click sample.csv and download the sample CSV file.
    2. In the identifier type column, enter the customer identifier. You can change the column header as required.
    3. In the periodHeader column, enter the target value. You can change the column header as required. If you do not enter any target values, the default target value set in the Target section will be used as the target value.
    4. To add target details for additional cycles, add the necessary columns and enter the values.
    5. Drag and drop the CSV file or select the file and upload the file.
  2. From the Unique identifier drop-down, select the identifier that is used to identify the customer.

  3. In the Map fields section, map the fields in the CSV file to the Capillary identifiers.

  4. Click Confirm & upload .

📘

Note

If the number of cycle defined is 1 but the csv contains two columns with the target values, the second target value should be mapped to Do not import.

For more information on the CSV upload, refer to the documentation on CSV upload.

Target details

This is the most important step in the entire flow. The target value determines the value that the customers need to achieve in a cycle to receive the associated benefits.

For example, if a brand sets a $100 monthly purchase target for achieving certain additional benefits, $100 is the target value. To define the target value and other details, click Target and define the target details.

A preview of the "Target" section in the create flow:

Define the following values correctly to successfully implement your use case:

Target value for each cycle will be

There are two options for setting target values for cycles within a Milestone:

  1. The same target value for each cycle:
    1. For example, the brand wants its users to achieve the same 1000 gross sales in all the cycles.

Choose this option if you have the same target value for each cycle.

  1. A different target value for each cycle:
    1. For example, the brand wants its users to achieve 1000, 1500, and 2000 gross sales in the 1st, 2nd, and 3rd cycles. This is a classic case of incremental/decremental targets.

What should the customer do to achieve the target?

In this section, the core tracking properties of the milestone need to be configured. They are:

  1. Tracking configurations
  2. Target value
  3. Filters (scope & rule-box)
  4. Sub-target

Tracking configurations: Based on what entity, and what KPI, the Milestone should track the customer activities. Following are the 3 types that cover all the customer activities:

  • Transactional activities
  • Behavioral activities
  • All other customer-level activities:
    • Number of returns made by the customer
    • Number of point transfers made by the user
    • Number of point redemptions made by the user
    • Number of successful referrals made by the user
    • and all other activities**
  1. Transactional activities: Helps in tracking transactional properties
    1. Gross sales (both bill level & line item level)
      1. The total gross sales made by the user in the cycle. The gross amount is the amount on the bill before the user avails any kind of discount.
    2. Net sales (both bill level & line item level)
      1. The total net sales made by the user in the cycle. The net amount is the final amount that the user has paid. This means the discounts will be excluded from the tracking.
    3. Quantity (line item level)
      1. The number of quantities purchased by the user in the cycle. When used with a specific line item rule, the brand can track the number of specific line items bought by the user in the cycle.
    4. Transactions count (bill level)
      1. The total number of transactions made by the user in the cycle.
    5. Days of activity (bill level)
      1. The total number of unique days on which the user has made at least 1 transaction.
    6. Transactional extended fields
      1. The following KPIs are supported:
        1. COUNT: The number of times a transactional extended field came with a specific value. This specific value needs to be configured in the rule box.
          1. E.g.: The number of transactions that came with extended field value as "Gold".
        2. SUM: The sum of the selected transactional extended field in the cycle.
    7. Lineitem extended fields
      1. The following KPIs are supported:
        1. COUNT: The number of times a line-item extended field came with a specific value. This specific value needs to be configured in the rule box.
          1. E.g: The number of line items that came with the extended field value as "edible food".
        2. SUM: The sum of the selected line-item extended field in the cycle.
    8. Reward currencies (aka points):
      1. Regular points: Number of regular points earned by the user in the cycle
      2. Promotional points: Number of promotional points earned by the user in the cycle
      3. Both: Number of total regular & promotional points earned by the user in the cycle

The following image shows the screen when "transaction" is selected:

  1. Behavioral activities:Helps in tracking behavioral events
    1. All the Behavioural events configured for the org will be available here.
    2. The following KPIs are supported in behavioral events tracking:
      1. COUNT: The number of times the event has been triggered in a cycle.
      2. VISIT: The number of unique days on which the event has been triggered in a cycle.
      3. SUM: Summing the attribute value of the behavioral event in a cycle.
        1. E.g.: Assume there is a behavioral event called "walking" with an attribute called "steps walked". Now, this attribute value can be summed in a period & based on that rewards can be assigned.

The following image shows the screen when the "behavioral event" is selected:

  1. All other customer level activities: Helps in tracking all other customer level activities/events (aka different customer level events present in the workflow in the loyalty)
    1. Number of points redemptions made
    2. Number of returns made
    3. Number of points transfer made
    4. Number of referrals made
    5. The following KPIs are supported for all the above events:
      1. COUNT: The number of times the specific event selected is triggered in a cycle
      2. VISIT: The number of unique days on which the specific event has been triggered in a cycle.
        Note: Tracking for all the other events also will be available soon

The following example shows the screen when one of the EMF events (points redemption is selected):

An eagle-eye view of the above looks like this:

note: In the above table, EMF-level events are nothing but all other customer-level events/activities described in the previous paragraphs.

Target value: Once the above configurations are selected, then the target value needs to be provided. This is the value the user has to achieve in each cycle of the milestone.

In the case of "same target value for each cycle":

  • The target value has to be filled only once.
  • In the case of "different target value for all customers", whenever the value is not defined in the CSV for any reason, the value given here will act as the default value.

In the case of "different target value for each cycle":

  • The target value for each cycle has to be filled separately in the right pane after clicking the "Add target values".
  • In the case of "different target value for all customers", whenever the value for each cycle is not given or whenever the value for a specific cycle is not given, the target value provided here will act as the default value.

Filter activity

This section allows you to tailor the Milestones to meet specific needs and use cases for the brands. You can define the scope and filter criteria for the Milestone, ensuring it applies to the desired customer segments and activities.

Scope based filtering:

  • Stores: Limit the Milestone to specific retail locations.
  • Zones: Apply the Milestone to defined geographical areas.
  • Concepts: Limits the milestones to specific OUs

To define the Milestones for complete stores, zones, and concepts, select All store, zone, and concept.

To define the Milestones for a specific store, zone, and concept, select Specific store, zone, and concept and select the stores/zones/concept.

Rule-based filtering:

For further refinement, you can define the rules in the rule box. For example, rules can be written to target specific line items, categories, minimum transaction amounts, etc.

  • Categories: Target specific product categories within the Milestone.
  • Line items: Apply the Milestone to specific products or SKUs.
  • Transaction amount: Set minimum or maximum purchase amounts for Milestone progress.

Important tip:

For lineitem releated rules, make sure "lineitem" is selected as the target-entity. If lineitem related rules are written when "transaction" is selected as target-entity, it will lead to error".

Tender-based rules won't be supported in the rule-box of milestones. For use cases related to this, please reach out to anyone in the product team.

For more information on rules, refer to the Profiles documentation.

Sub-targets on the total target

Sub-targets are smaller goals configured at key stages within a larger target. This allows brands to nudge and motivate customers through targeted communications (SMS, email, etc.) and timely rewards at various points in their journey.

To set a sub-target, perform the following,

  1. Click Add sub-target.
  1. Enter the name of the sub-target.
  1. Enter the percentage of the main target at which the sub-target should be triggered.

Example:

Consider a scenario where a brand wants to incentivize customers to purchase specific accessories within particular stores. They set a Milestone with a target value of $100 and established the following sub-targets:

  • 20% Achievement ($20): Send a congratulatory message acknowledging progress and encouraging further effort.
  • 50% Achievement ($50): Provide a small reward, like a discount or coupon, to motivate continued progress.
  • 100% Achievement ($100): Upon reaching the full target, grant a substantial reward, such as a free accessory or exclusive offer.

These sub-targets enable the brand to actively engage with customers throughout their journey, providing personalized communication and motivating them with timely rewards.

Creating milestones using templates

Templates are pre-configured milestones based on a pre-defined use case. These templates expedite the milestone creation process by automatically populating essential values for various use cases. As a user, you only need to provide the remaining information.

Note: Templates for all kinds of use cases might not be available.

For example, the following are some of the templates available:

Template on "Catalyze product sales

Whenever a brand wants to boost the sales of a particular product using the Milestone, they can choose this milestone template. This template comes pre-filled with all the essential information required to configure and achieve the intended use case. As a brand, your responsibility is to complete the remaining details, such as the number of cycles, dates, etc.

Template on "Boost customer spend

This template is tailor-made to increase customer spending and comes pre-filled with all the necessary information, including rules, filters, etc. As a brand, your task is to fill in the remaining details.

Note: Upon selecting a template, you can also edit the pre-filled data. As a brand, if you wish to change the pre-filled values to other specific values, that option is also available.

Cloning/Duplicating a Milestone

Once a Milestone is created, it can be cloned to create another Milestones. This helps the brands in saving time when they are creating similar milestones.

To clone a Milestone, hover over the Milestone that you want to clone and click the Duplicate icon.

For example:

A brand 'Jaffna' has created a milestone that a user has to achieve $100 gross sales in a month to get 100 points. For this milestone, they have configured 5 cycles. However, they also want to create another Milestone and the only difference is, this time the brand wants the KPI as $100 net sales.

Here, as the entire information is the same, now brand can clone the previous milestone and change the KPI from gross sales to net sales.

📘

Notes

  • Cloning can be done only from a Live/Upcoming Milestone.
  • When the cloning is completed, the "customer enrollment" step won't be cloned. Customer enrollment details needs to be entered before saving the clone.

Configuring benefits

This step involves defining benefits for end-users upon achieving the configured milestone. The configuration is performed by setting upLoyalty promotions.

To create Milestone-related promotions, you need to use the "target period elapses" customer activity and define rules based on your Milestones to configure actions such as benefits, communication, etc.

How the EMF behaves b/w Milestones & Loyalty promotions

The below flow chart provides you with an overview of EMF (Engagement Metric Factor) flow in Capillary and how Milestones and loyalty promotions are connected via EMF.

In this flow, the orange line indicates that after milestone evaluation, if necessary, an event will be sent to promotions via EMF.

This happens in two ways:

  1. Immediate effect - When a customer's "target achieved" surpasses the "target defined," the brand aims to provide benefits immediately. Therefore, an i
  2. mmediate event request will be sent only when "targetAchieved > targetDefined" in this process.
  3. End of the cycle - The milestone evaluation for all customers occurs only at the end of the cycle. This is similar to a scheduled task that runs after each cycle, triggering an event request. In this approach, an event request is sent even if "targetAchieved < targetDefined," enabling a broader range of use cases with the assistance of rules.

Generally, the B2C use cases follow method (1) where instant gratification is required and B2B use cases follow method (2) where instant gratification has no role & the brand wants to wait till the end of the cycle to let their customers achieve as high as possible so that they can be awarded accordingly.

As a brand, if you want to enable immediate effect (Immediate effect), make sure the following config is enabled (mark as "Active") in your org settings. When this config is enabled, only then, Milestone will send an event request to EMF as soon as a customer's "target achieved" is greater than "target defined".

When this config is "Inactive", no event request will be sent to EMF on immediate basis. By default, this will be in "Active" phase.

Once the event reaches loyalty promotions through either of the two methods mentioned above, the promotion undergoes evaluation based on the rules, scope, etc., specified in that promotion. After all evaluations are complete, the associated actions, such as awarding points, distributing coupons, communication, etc., will be triggered.

Rules for the Loyalty promotions about Milestones

This applies only to targets for which the benefits are not immediately provided.

Prerequisite

  1. Make sure that the vertical 'Target Loyalty' is enabled. To add the vertical to enabled verticals, perform the following:
    1. Navigate to Organisation settings > Master Data Management> Extended Field > Extended Fields Vertical Mapping.
    2. Select Target Loyalty from Disabled Verticals.
    3. Click add to add it to the Enabled Verticals.

Rules

All the rules related to milestones come under the "currentEvent" profile. This means that the "currentEvent" profile has many attributes about Milestones. They are:

  1. currentEvent.targetAchieved
  2. currentEvent.targetDefined
  3. currentEvent.isTargetAchievedEvent
  4. currentEvent.milestoneValueDefined
  5. currentEvent.targetGaps
  6. currentEvent.targetMilestoneTrigger
  7. currentEvent.targetName
  8. currentEvent.targetPeriod

currentEvent.targetAchieved

This rule helps in getting the current target achieved value of the customer. Make sure that, you are entering the name of the milestone inside the parenthesis.

E.g: currentEvent.targetAchieved("ABC")

currentEvent.targetDefined

This rule helps in getting the target defined value by the brand for that Milestone. Similar to the above, make sure you are entering the name of the milestone in the parenthesis.

E.g: currentEvent.targetDefined("ABC")

For example, if you write a rule: currentEvent.targetAchieved("ABC")>currentEvent.targetDefined("ABC"), this rule will become true only when the customer's achieved value is more than the defined value.

currentEvent.isTargetAchievedEvent

This rule verifies whether a customer has completed the allotted target before the target period ends.

For instance, if you've set up a Milestone where a user needs to achieve $1000 in sales from Jan 1st to Jan 20th. If the user reaches this target by Jan 5th, brands have two options:

  1. Instant Gratification: Provide benefits right away to the customer, which is common in B2C industries.
  2. End-of-Cycle Evaluation: Delay the evaluation until the end of the cycle, allowing customers to achieve more. This approach is common in B2B industries.

By including the "ENABLE_AWARDS_WHEN_TARGET_ACHIEVED" rule in the rule box (assuming it's marked as "Active" as shown above), benefits will be immediately given to customers when the target is achieved.

For example, if you write a rule: (currentEvent.targetAchieved("ABC") > currentEvent.targetDefined("ABC")) && (currentEvent.isTargetAchievedEvent == true), then the benefits will be given immediatley.

Please note that, if you want to do the evaluation ONLY at the end of the cycle, you have to make the "ENABLE_AWARD_WHEN_TARGET_ACHIEVED" as "Inactive" in the EMF configuration page of org settings.

ENABLE_AWARD_WHEN_TARGET_ACHIEVED
(config)
isTargetAchievedEvent
(rule expression)
The behaviour of the EMF
ActivetrueThe event will come to promotions twice. Once when the targetAchieved > target Defined. Again, at the end of the cycle/period.

The rule expression becomes true when the targetAchieved > target Defined.
ActivefalseThe event will come to promotions twice. Once when the, targetAchieved > target Defined. Again, at the end of the cycle.

The rule expression becomes true at the end of the cycle/period.
ActiveThis rule is not written.The event will come to promotions twice. Once when the, targetAchieved > targetDefined. Again, at the end of the cycle.

However, because of not writing the rule in the promotions, the evaluation also happens twice. Once when achieved > defined, and again at the end of the cycle.

So, a customer will get benefits twice.
InactivetrueEvent will come to loyalty at the end of the cycle or period as the config is "Inactive".
InactivefalseEvent will come to loyalty at the end of the cycle or period asthe config is "Inactive".

currentEvent.targetMilestoneTrigger

This rule configures actions for various triggers of the Milestone, such as "sub-targets."

For example, if you set a condition that "a user has to make 1000 gross sales in a month to get 100 points," and you also want to send a message when 70% of the target is achieved, you can use sub-targets.

If you have created one sub-target named "ABC1" at 30% & another sub-target named "ABC2" at 60%, the rule currentEvent.targetMilestoneTrigger.contains("ABC1") will be triggered when 30% is achieved and the rule currentEvent.targetMilestoneTrigger.contains("ABC2") will be triggered when 60% is achieved.

currentEvent.milestoneValueDefined

This rule provides the value of the sub-target configured on the total target. For instance, if you set a milestone that "a user has to make 20 transactions in a quarter to get 100 points" and configure a sub-target at 80% of the total target, this rule can be useful. Suppose a user has made 18 transactions in that quarter. A sub-target event will be sent to loyalty promotions from the milestones as the sub-target has been achieved.

In the event evaluation, the rule currentEvent.milestoneValueDefined will return the value as 16 (80% of 20 is 16, the sub-target value). Brands can use this rule to achieve various use cases where the sub-target value is needed in their strategy.

currentEvent.targetGaps

This rule returns the difference between the "targetDefined" and "targetAchieved" values of the customer. Use this rule to address use cases where strategic decisions need to be made based on gaps.

For example, writing the rule currentEvent.targetGaps("ABC") where "ABC" is the name of the milestone will return the difference between these values. If user 'X' has achieved a target value of 700 while the defined value is 500, this rule will return the gap between those values.

currentEvent.targetName

This rule enables the creation of rules based on the names of milestones. For instance, as a brand, if you want to execute specific actions for a particular milestone, you can use this rule.

For example, if you have a milestone named "ABC" and you wish to perform specific actions exclusively for this milestone, you can utilize the rule currentEvent.targetName.contains("ABC").

currentEvent.targetPeriod

This rule enables you to execute specific actions or implement particular strategies based on the name of the period. For instance, if you have a milestone named "ABC" with three periods—'X', 'Y', 'Z'—you may want to perform certain actions when the event for the period 'X' is sent to loyalty promotions. This rule, currentEvent.targetPeriod.contains("X"), helps you achieve that.

Note: The target names and period names are unique across the entire organization, eliminating any duplication issues.

Sample use cases & their configuration

Use case 1: Instant benefit delivery

Step 1: Set the "ENABLE_AWARD_WHEN_TARGET_ACHIEVED" config to "Active".

Step 2:Configure the rules in the loyalty promotions.

Result: When a customer's "targetAchieved" exceeds "targetDefined," an event is sent to loyalty promotions, triggering configured actions.

Use Case 2: Delayed benefits at the end of the cycle

Step 1:Set the "ENABLE_AWARD_WHEN_TARGET_ACHIEVED" config to "Inactive".

Step 2: Configure the rules in the loyalty promotions.

Result: At the end of each cycle, an automated process will run, sending an event to the loyalty promotions for all customers associated with the milestones. Subsequently, the loyalty promotions module will assess the rules and activate the pre-configured actions.

Use Case 3: Sending a message at the end of a cycle

Step 1: Set the "ENABLE_AWARD_WHEN_TARGET_ACHIEVED" config to "Inactive".

Step 2: Configure the rules in the loyalty promotions.

Result: At the end of each cycle, a message will be sent to all the customers.

Use Case 4: Sending message immediately on achieving the target

Step 1: Set the "ENABLE_AWARD_WHEN_TARGET_ACHIEVED" config to "Active".

Step 2: Configure the rules in the loyalty promotions.

Result: A message will be sent immediately once the achieved value is more than the defined target value.

Use Case 5: Configuring two targets in a single promotion

The "immediate effect" method is used here. Make the necessary config & rule change for the "end of cycle" method, keeping the targetName rule intact.

Step 1: Set the "ENABLE_AWARD_WHEN_TARGET_ACHIEVED" config to "Active".

Step 2: Configure the rules in the loyalty promotions.

Result: Two milestones (ABC & XYZ) are defined and both of them are configured in a single promotion.

🚧

Warning

Having two milestones (ABC & XYZ) configured in a single promotion creates a challenge for auditing. It becomes difficult to determine the points allocated to each milestone as a liability.

Use Case 6: Configuring sub-Target actions

A brand configured a sub-target, that at 70% of the target achievement, they want to send a communication to their users.

A sub-target at 70% should be created first in the Milestone to achieve this use case.

Step 1: Set the "ENABLE_AWARD_WHEN_TARGET_ACHIEVED" config to "Active" or "Inactive' as required.

Step 2: Configure the rules in the loyalty promotions as follows:

In this case, the rule becomes "true" when the customer achieves 70% of the target, indicating the fulfilment of the sub-target. The configuration settings determine whether sub-target actions take effect immediately or at the end of the period.

👍

Note

The above usecases are some of the examples only. You can configure and achieve more usecases using these rules. Read the document and use cases properly before configuring the Mielstones.