From 22286aaeb2215fb81c31ff23ce71bfe14e8d0d71 Mon Sep 17 00:00:00 2001
From: MaciekVoucherify <130568368+MaciekVoucherify@users.noreply.github.com>
Date: Wed, 27 May 2026 17:13:46 +0200
Subject: [PATCH 1/4] version1
---
documentation/build/loyalty-earning-rule.mdx | 415 +++++++++++++++++++
documentation/docs.json | 3 +-
2 files changed, 417 insertions(+), 1 deletion(-)
create mode 100644 documentation/build/loyalty-earning-rule.mdx
diff --git a/documentation/build/loyalty-earning-rule.mdx b/documentation/build/loyalty-earning-rule.mdx
new file mode 100644
index 000000000..7dc11cc1c
--- /dev/null
+++ b/documentation/build/loyalty-earning-rule.mdx
@@ -0,0 +1,415 @@
+---
+title: Earning rule builder
+description: Create and manage rules that control how loyalty points are awarded
+keywords: ['earning rules', 'earning rule builder', 'loyalty earning rules', 'points earning', 'loyalty rules', 'earning conditions']
+---
+
+import MetaConfig from '/snippets/metadata-configuration.mdx'
+
+Earning rules define when customers receive points for selected activities and transactions.
+
+Go to **Loyalty hub** > **Earning rules**.
+
+From the **Earning rules** view, you can:
+- view all existing earning rules and their status
+- search earning rules using the search bar
+- filter earning rules using **Add filter**
+- reload the earning rules list using **Reload**
+- create earning rules using **+ Create earning rule**
+- open existing earning rules to review or edit their configuration
+
+## Create an earning rule
+
+Earning rules are configured in a multi-step builder. Some settings depend on each other. If something is missing or incompatible, the builder displays an Action required status.
+
+You can also use **Save draft** and complete the configuration later.
+
+Go to **Loyalty hub** > **Earning rules** and use **+ Create earning rule**.
+
+Enter the earning rule name in **Name earning rule**.
+
+
+
+
+
+## Trigger
+
+Define the event that activates the earning rule.
+
+Configure:
+- **Trigger event**: selects the event that activates the rule.
+- **Custom error message**: optional message displayed when the earning rule cannot be applied.
+
+Available trigger events:
+- **Order paid**: triggers the earning rule after an order is successfully paid.
+- **Custom event**: triggers the earning rule when a selected custom event is sent to Voucherify.
+- **Segment entered**: triggers the earning rule when a customer enters a selected segment.
+
+Additional configuration depends on the selected trigger event.
+
+
+
+
+
+No additional configuration is required.
+
+
+
+
+
+Select the event in **Custom event**.
+
+Use the search field to find existing custom events or use the **+** icon to create a new one without leaving the builder.
+
+
+
+
+
+Select the segment in **Segment**.
+
+Use the search field to find existing segments or use the **+** icon to create a new one without leaving the builder.
+
+
+
+
+
+
+
+
+
+## Earnings
+
+Define the conditions and effects used to award points.
+
+Use **+ Add earning** to create additional earning configurations within the same earning rule.
+
+Each earning configuration contains:
+- **Earning name**: internal name used to identify the earning configuration.
+- **When**: conditions that must be matched.
+- **Then**: effects applied after the conditions are matched.
+
+### When
+
+Use **Add rule** to define conditions for the earning configuration.
+
+Use **Add brackets** to group multiple conditions into logical expressions.
+
+Available rule groups:
+
+
+
+
+
+Audience rules define customer-based conditions.
+
+Available rules:
+- **Customer segment**: checks whether the customer belongs to a selected segment.
+- **Customer loyalty tier**: checks whether the customer belongs to a selected loyalty tier.
+
+
+
+
+
+Product rules define conditions related to items in the order.
+
+Available rules:
+- **Any order item**: checks whether at least one order item matches the condition.
+- **Every order item**: checks whether all order items match the condition.
+- **None of the order items**: checks whether no order items match the condition.
+- **Most expensive of the order items**: checks the most expensive item in the order.
+- **Cheapest of the order items**: checks the cheapest item in the order.
+
+
+
+
+
+Price and quantity rules define conditions related to order values and quantities.
+
+Available rules:
+- **Total amount before discounts**: checks the order value before discounts are applied.
+- **Total amount after discounts**: checks the order value after discounts are applied.
+- **Initial amount**: checks the original order amount.
+- **Items quantity**: checks the number of items in the order.
+- **Price of each item**: checks the price of every item in the order.
+- **Price of any item**: checks the price of at least one item in the order.
+
+
+
+
+
+Customer metadata rules define conditions based on customer metadata values.
+
+Available metadata keys depend on the customer metadata schema configured in your project.
+
+Use **Add to schema** to create a new metadata key without leaving the builder.
+
+
+
+
+
+Order metadata rules define conditions based on order metadata values.
+
+Available metadata keys depend on the order metadata schema configured in your project.
+
+Use **Add to schema** to create a new metadata key without leaving the builder.
+
+
+
+
+
+After you add a rule, use the three-dot menu next to the rule name to manage rule actions.
+
+Available actions:
+- **Error message**: defines a custom validation message for the selected rule.
+- **Edit rule**: updates the selected rule configuration.
+- **Duplicate rule**: creates a copy of the selected rule.
+- **Add next rule**: adds another rule after the selected rule.
+- **Add next brackets**: adds a new bracket group after the selected rule.
+- **Remove rule**: removes the selected rule from the earning configuration.
+- **Surround with brackets**: groups the selected rule inside brackets.
+
+Use the three-dot menu on the right side of the bracket group to manage bracket actions.
+
+Available actions:
+- **Add rule**: adds a new rule inside the selected bracket group.
+- **Add next rule**:adds a new rule after the selected bracket group.
+- **Add brackets**: adds a nested bracket group inside the selected bracket group.
+- **Add next brackets**: adds a new bracket group after the selected bracket group.
+- **Remove brackets & rules inside**: removes the selected bracket group together with all rules inside it.
+
+### Then
+
+Use the **Then** section to define the effects applied when the earning conditions are matched.
+
+Each earning can contain multiple effects. Use **+ Add effect** to create additional effects within the same earning.
+
+Available effect types:
+- **Fixed points**
+- **Proportional points**
+- **Incentive**
+
+
+
+
+Award a fixed number of points to the selected loyalty wallet.
+
+Configure the following fields:
+
+- **Card definition**: select the loyalty wallet that receives the points.
+- **Points**: number of points awarded when the earning rule is triggered.
+
+Use the **+** icon next to **Card definition** to create a new loyalty wallet without leaving the builder.
+
+
+
+
+
+Award points proportionally based on order values, quantities, or metadata values.
+
+Configure the following fields:
+
+- **Calculation type**: defines how the proportional points are calculated.
+- **Card definition**: select the wallet that receives points.
+- **Points**: number of points awarded.
+
+Available calculation types:
+
+- **Pre-discount order amount**: uses the total order amount before discounts. Configure **Amount**.
+- **Post-discount order amount**: uses the total order amount after discounts. Configure **Amount**.
+- **Pre-discount order items amount**: uses selected order items before discounts. Configure **Amount** and **Applicable to**.
+- **Post-discount order items amount**: uses selected order items after discounts. Configure **Amount** and **Applicable to**.
+- **Order items quantity**: uses the quantity of selected order items. Configure **Quantity** and **Applicable to**.
+- **Customer metadata value**: uses a selected customer metadata property. Configure **Value** and **Metadata property**.
+- **Order metadata value**: uses a selected order metadata property. Configure **Value** and **Metadata property**.
+
+Use **Applicable to** to select products or product collections included in the calculation. You can select multiple products or collections.
+
+Use the **+** icon next to **Card definition** to create a new wallet without leaving the builder.
+
+Use the **+** icon next to **Metadata property** to create a new metadata property without leaving the builder.
+
+
+
+
+
+Award predefined incentives instead of loyalty points.
+
+Configure the following field:
+
+- **Incentive**: select the incentive awarded when the earning rule is triggered.
+
+Use the **+** icon next to **Incentive** to create a new incentive without leaving the builder.
+
+
+
+
+
+
+
+
+## Trigger limits
+
+Define cooldown and frequency limits for triggering the earning rule.
+
+### Cooldown
+
+Cooldown defines the minimum time that must pass before the earning rule can be triggered again for the same customer.
+
+Available options:
+- **No cooldown**: the earning rule can be triggered at any time.
+- **Fixed cooldown**: limits how often the earning rule can be triggered for the same customer.
+
+When **Fixed cooldown** is selected, configure:
+- **Period**: cooldown duration value.
+- **Period unit**: cooldown duration unit.
+
+Available period units:
+- **Hour**
+- **Day**
+- **Week**
+- **Month**
+- **Year**
+
+Maximum values depend on the selected period unit.
+
+### Frequency
+
+Frequency defines how many times the earning rule can be triggered within a selected time period.
+
+Available options:
+- **No limit**: no restriction on how often the earning rule can be triggered.
+- **Limited**: limits the number of eligible triggers within a selected time period.
+
+When **Limited** is selected, configure:
+- **Max triggers**: maximum number of allowed triggers.
+- **Period**: time period used for the frequency limit.
+
+Available period units:
+- **Day**
+- **Week**
+- **Month**
+- **Quarter**
+- **Year**
+
+
+
+
+
+## Timeframe
+
+Define when the earning rule becomes active and when it expires.
+
+### Start date
+
+Define when the earning rule becomes active.
+
+Available options:
+- **Creation**: the earning rule becomes active immediately after creation.
+- **Specific date**: the earning rule becomes active at a selected date and time.
+
+When **Specific date** is selected, configure:
+- **Date**: activation date.
+- **Time**: activation time.
+
+### Expiration
+
+Define when the earning rule expires.
+
+Available options:
+- **Never**: the earning rule does not expire.
+- **On specific date**: the earning rule expires at a selected date and time.
+
+When **On specific date** is selected, configure:
+- **Date**: expiration date.
+- **Time**: expiration time.
+
+
+### Valid hours per day
+
+By default, the earning rule is applicable all days of the week, all day long.
+
+Use **+ Add valid hours per day** to limit when the earning rule can be triggered during the week.
+
+When configuring valid hours, define:
+- **Start time**: beginning of the valid time range.
+- **Expiration time**: end of the valid time range.
+- **Days of the week**: days when the earning rule is active within the selected time range.
+
+Available days:
+- Sunday
+- Monday
+- Tuesday
+- Wednesday
+- Thursday
+- Friday
+- Saturday
+
+Multiple valid hour ranges can be configured.
+
+
+
+
+
+## Metadata
+
+
+
+
+
+
+
+## Summary
+
+Review the earning rule configuration before saving.
+
+The summary page displays all configured sections:
+- Trigger
+- Earnings
+- Trigger limits
+- Timeframe
+- Metadata
+
+Use **Go to step** to return to a selected section and make changes before saving the earning rule.
+
+
+
+
+
+## Manage earning rules in the loyalty designer
+
+Earning rules can be assigned and managed directly from the loyalty campaign designer.
+
+The **Earning rules** section displays all earning rules currently assigned to the campaign.
+
+To assign an earning rule:
+1. Ensure that at least one wallet is already assigned to the campaign.
+2. In the **Earning rules** section, select:
+ - the **+** icon, or
+ - the **No earning rules assigned** field.
+3. Select an existing earning rule from the list.
+
+Assigned earning rules can later be unassigned or deleted from:
+- the loyalty designer workspace,
+- or the **Building blocks** panel.
+
+The **Building blocks** panel also allows you to:
+- browse available earning rules,
+- assign earning rules to campaigns,
+- create new earning rules,
+- delete existing earning rules.
+
+## Create earning rules from the loyalty designer
+
+You can create earning rules directly from the loyalty designer.
+
+To create a new earning rule:
+1. Open the **Earning rules** section.
+2. Select the **+** icon.
+3. Select **+ Create new**.
+
+The loyalty designer opens a simplified earning rule builder that supports:
+- selecting the trigger event,
+- configuring effects,
+- assigning wallets.
+
+Select **Advanced options** to open the full earning rule builder with additional configuration options.
\ No newline at end of file
diff --git a/documentation/docs.json b/documentation/docs.json
index bf0e14c54..a311bd915 100644
--- a/documentation/docs.json
+++ b/documentation/docs.json
@@ -255,7 +255,8 @@
"build/earning-rules",
"build/loyalty-points",
"build/loyalty-tiers",
- "build/loyalty-card-import"
+ "build/loyalty-card-import",
+ "build/loyalty-earning-rule"
]
},
{
From d56bc186a4f2cc51f06f378cf9bfcd27c4199408 Mon Sep 17 00:00:00 2001
From: MaciekVoucherify <130568368+MaciekVoucherify@users.noreply.github.com>
Date: Thu, 28 May 2026 11:52:11 +0200
Subject: [PATCH 2/4] Update loyalty-earning-rule.mdx
---
documentation/build/loyalty-earning-rule.mdx | 111 ++++++++++++-------
1 file changed, 69 insertions(+), 42 deletions(-)
diff --git a/documentation/build/loyalty-earning-rule.mdx b/documentation/build/loyalty-earning-rule.mdx
index 7dc11cc1c..d960f0116 100644
--- a/documentation/build/loyalty-earning-rule.mdx
+++ b/documentation/build/loyalty-earning-rule.mdx
@@ -40,7 +40,7 @@ Configure:
- **Trigger event**: selects the event that activates the rule.
- **Custom error message**: optional message displayed when the earning rule cannot be applied.
-Available trigger events:
+Supported trigger events:
- **Order paid**: triggers the earning rule after an order is successfully paid.
- **Custom event**: triggers the earning rule when a selected custom event is sent to Voucherify.
- **Segment entered**: triggers the earning rule when a customer enters a selected segment.
@@ -59,7 +59,7 @@ No additional configuration is required.
Select the event in **Custom event**.
-Use the search field to find existing custom events or use the **+** icon to create a new one without leaving the builder.
+Use the search field to find existing custom events or use the **+** icon to create a new one directly from the builder.
@@ -67,7 +67,7 @@ Use the search field to find existing custom events or use the **+** icon to cre
Select the segment in **Segment**.
-Use the search field to find existing segments or use the **+** icon to create a new one without leaving the builder.
+Use the search field to find existing segments or use the **+** icon to create a new one directly from the builder.
@@ -90,11 +90,13 @@ Each earning configuration contains:
### When
+Use the **When** section to define conditions for the earning configuration.
+
Use **Add rule** to define conditions for the earning configuration.
Use **Add brackets** to group multiple conditions into logical expressions.
-Available rule groups:
+Conditions are grouped by category.
@@ -102,7 +104,6 @@ Available rule groups:
Audience rules define customer-based conditions.
-Available rules:
- **Customer segment**: checks whether the customer belongs to a selected segment.
- **Customer loyalty tier**: checks whether the customer belongs to a selected loyalty tier.
@@ -112,7 +113,6 @@ Available rules:
Product rules define conditions related to items in the order.
-Available rules:
- **Any order item**: checks whether at least one order item matches the condition.
- **Every order item**: checks whether all order items match the condition.
- **None of the order items**: checks whether no order items match the condition.
@@ -125,7 +125,6 @@ Available rules:
Price and quantity rules define conditions related to order values and quantities.
-Available rules:
- **Total amount before discounts**: checks the order value before discounts are applied.
- **Total amount after discounts**: checks the order value after discounts are applied.
- **Initial amount**: checks the original order amount.
@@ -141,7 +140,7 @@ Customer metadata rules define conditions based on customer metadata values.
Available metadata keys depend on the customer metadata schema configured in your project.
-Use **Add to schema** to create a new metadata key without leaving the builder.
+Use **Add to schema** to create a new metadata key directly from the builder.
@@ -151,15 +150,19 @@ Order metadata rules define conditions based on order metadata values.
Available metadata keys depend on the order metadata schema configured in your project.
-Use **Add to schema** to create a new metadata key without leaving the builder.
+Use **Add to schema** to create a new metadata key directly from the builder.
-After you add a rule, use the three-dot menu next to the rule name to manage rule actions.
+
+
+
-Available actions:
+After adding a rule, use the three-dot menu next to the rule name to manage rule actions.
+
+Available rule actions:
- **Error message**: defines a custom validation message for the selected rule.
- **Edit rule**: updates the selected rule configuration.
- **Duplicate rule**: creates a copy of the selected rule.
@@ -168,37 +171,45 @@ Available actions:
- **Remove rule**: removes the selected rule from the earning configuration.
- **Surround with brackets**: groups the selected rule inside brackets.
+
+
+
+
Use the three-dot menu on the right side of the bracket group to manage bracket actions.
-Available actions:
+Available bracket actions:
- **Add rule**: adds a new rule inside the selected bracket group.
-- **Add next rule**:adds a new rule after the selected bracket group.
+- **Add next rule**: adds a new rule after the selected bracket group.
- **Add brackets**: adds a nested bracket group inside the selected bracket group.
- **Add next brackets**: adds a new bracket group after the selected bracket group.
- **Remove brackets & rules inside**: removes the selected bracket group together with all rules inside it.
+
+
+
+
### Then
Use the **Then** section to define the effects applied when the earning conditions are matched.
Each earning can contain multiple effects. Use **+ Add effect** to create additional effects within the same earning.
-Available effect types:
+Choose one of the following effect types:
- **Fixed points**
- **Proportional points**
- **Incentive**
+
-Award a fixed number of points to the selected loyalty wallet.
+Award a fixed number of points to the selected wallet.
Configure the following fields:
-
-- **Card definition**: select the loyalty wallet that receives the points.
+- **Card definition**: selects the wallet that receives the points.
- **Points**: number of points awarded when the earning rule is triggered.
-Use the **+** icon next to **Card definition** to create a new loyalty wallet without leaving the builder.
+You can create a new wallet directly from the builder using the **+** icon.
@@ -207,40 +218,53 @@ Use the **+** icon next to **Card definition** to create a new loyalty wallet wi
Award points proportionally based on order values, quantities, or metadata values.
Configure the following fields:
-
- **Calculation type**: defines how the proportional points are calculated.
-- **Card definition**: select the wallet that receives points.
+- **Card definition**: selects the wallet that receives the points.
- **Points**: number of points awarded.
-Available calculation types:
+Calculation methods are grouped by type.
+
+**Order amount calculations**
+
+Use order amount calculations to award points based on total order values.
+
+- **Pre-discount order amount**: uses the total order amount before discounts are applied. Configure **Amount**.
+- **Post-discount order amount**: uses the total order amount after discounts are applied. Configure **Amount**.
+
+**Order item calculations**
-- **Pre-discount order amount**: uses the total order amount before discounts. Configure **Amount**.
-- **Post-discount order amount**: uses the total order amount after discounts. Configure **Amount**.
-- **Pre-discount order items amount**: uses selected order items before discounts. Configure **Amount** and **Applicable to**.
-- **Post-discount order items amount**: uses selected order items after discounts. Configure **Amount** and **Applicable to**.
+Use order item calculations to award points based on selected order items.
+
+- **Pre-discount order items amount**: uses selected order item values before discounts are applied. Configure **Amount** and **Applicable to**.
+- **Post-discount order items amount**: uses selected order item values after discounts are applied. Configure **Amount** and **Applicable to**.
- **Order items quantity**: uses the quantity of selected order items. Configure **Quantity** and **Applicable to**.
-- **Customer metadata value**: uses a selected customer metadata property. Configure **Value** and **Metadata property**.
-- **Order metadata value**: uses a selected order metadata property. Configure **Value** and **Metadata property**.
Use **Applicable to** to select products or product collections included in the calculation. You can select multiple products or collections.
-Use the **+** icon next to **Card definition** to create a new wallet without leaving the builder.
+**Metadata calculations**
+
+Use metadata calculations to award points based on metadata values.
+
+- **Customer metadata value**: uses a selected customer metadata property. Configure **Value** and **Metadata property**.
+- **Order metadata value**: uses a selected order metadata property. Configure **Value** and **Metadata property**.
-Use the **+** icon next to **Metadata property** to create a new metadata property without leaving the builder.
+You can create a new metadata property directly from the builder using the **+** icon.
+
+You can create a new wallet directly from the builder using the **+** icon.
-Award predefined incentives instead of loyalty points.
+Award incentives instead of loyalty points.
Configure the following field:
+- **Incentive**: selects the incentive awarded when the earning rule is triggered.
-- **Incentive**: select the incentive awarded when the earning rule is triggered.
-
-Use the **+** icon next to **Incentive** to create a new incentive without leaving the builder.
+You can create a new incentive directly from the builder using the **+** icon.
+
@@ -253,17 +277,17 @@ Define cooldown and frequency limits for triggering the earning rule.
### Cooldown
-Cooldown defines the minimum time that must pass before the earning rule can be triggered again for the same customer.
+Control how often the earning rule can be triggered for the same customer.
Available options:
- **No cooldown**: the earning rule can be triggered at any time.
- **Fixed cooldown**: limits how often the earning rule can be triggered for the same customer.
-When **Fixed cooldown** is selected, configure:
+When **Fixed cooldown** is selected, configure the following fields:
- **Period**: cooldown duration value.
- **Period unit**: cooldown duration unit.
-Available period units:
+Supported period units:
- **Hour**
- **Day**
- **Week**
@@ -274,17 +298,17 @@ Maximum values depend on the selected period unit.
### Frequency
-Frequency defines how many times the earning rule can be triggered within a selected time period.
+Limit how many times the earning rule can be triggered within a selected time period.
Available options:
- **No limit**: no restriction on how often the earning rule can be triggered.
- **Limited**: limits the number of eligible triggers within a selected time period.
-When **Limited** is selected, configure:
+When **Limited** is selected, configure the following fields:
- **Max triggers**: maximum number of allowed triggers.
- **Period**: time period used for the frequency limit.
-Available period units:
+Supported period units:
- **Day**
- **Week**
- **Month**
@@ -304,7 +328,7 @@ Define when the earning rule becomes active and when it expires.
Define when the earning rule becomes active.
Available options:
-- **Creation**: the earning rule becomes active immediately after creation.
+- **Creation**: the earning rule becomes active immediately after it is created.
- **Specific date**: the earning rule becomes active at a selected date and time.
When **Specific date** is selected, configure:
@@ -323,9 +347,10 @@ When **On specific date** is selected, configure:
- **Date**: expiration date.
- **Time**: expiration time.
-
### Valid hours per day
+Limit when the earning rule can be triggered during the week.
+
By default, the earning rule is applicable all days of the week, all day long.
Use **+ Add valid hours per day** to limit when the earning rule can be triggered during the week.
@@ -371,6 +396,8 @@ The summary page displays all configured sections:
Use **Go to step** to return to a selected section and make changes before saving the earning rule.
+After reviewing the configuration, save the earning rule as a draft and activate it later.
+
@@ -392,7 +419,7 @@ Assigned earning rules can later be unassigned or deleted from:
- the loyalty designer workspace,
- or the **Building blocks** panel.
-The **Building blocks** panel also allows you to:
+The **Building blocks** panel allows you to:
- browse available earning rules,
- assign earning rules to campaigns,
- create new earning rules,
From 4cdfa331c89719d305858f2a7d00330016eecab1 Mon Sep 17 00:00:00 2001
From: MaciekVoucherify <130568368+MaciekVoucherify@users.noreply.github.com>
Date: Thu, 28 May 2026 17:02:55 +0200
Subject: [PATCH 3/4] Update loyalty-earning-rule.mdx
---
documentation/build/loyalty-earning-rule.mdx | 96 ++++++++++++++------
1 file changed, 66 insertions(+), 30 deletions(-)
diff --git a/documentation/build/loyalty-earning-rule.mdx b/documentation/build/loyalty-earning-rule.mdx
index d960f0116..4e1f259e6 100644
--- a/documentation/build/loyalty-earning-rule.mdx
+++ b/documentation/build/loyalty-earning-rule.mdx
@@ -12,11 +12,12 @@ Go to **Loyalty hub** > **Earning rules**.
From the **Earning rules** view, you can:
- view all existing earning rules and their status
+- open earning rules to review their configuration and activate or deactivate them
- search earning rules using the search bar
- filter earning rules using **Add filter**
- reload the earning rules list using **Reload**
- create earning rules using **+ Create earning rule**
-- open existing earning rules to review or edit their configuration
+- edit, change status, or delete earning rules using the contextual actions menu (`⋮`)
## Create an earning rule
@@ -92,9 +93,7 @@ Each earning configuration contains:
Use the **When** section to define conditions for the earning configuration.
-Use **Add rule** to define conditions for the earning configuration.
-
-Use **Add brackets** to group multiple conditions into logical expressions.
+Use **Add rule** to create conditions and **Add brackets** to group multiple conditions into logical expressions.
Conditions are grouped by category.
@@ -156,6 +155,8 @@ Use **Add to schema** to create a new metadata key directly from the builder.
+> The following actions are available when configuring rules and brackets:
+
@@ -305,7 +306,7 @@ Available options:
- **Limited**: limits the number of eligible triggers within a selected time period.
When **Limited** is selected, configure the following fields:
-- **Max triggers**: maximum number of allowed triggers.
+- **Max triggers**: maximum number of allowed triggers. The maximum supported value is `10,000`.
- **Period**: time period used for the frequency limit.
Supported period units:
@@ -396,7 +397,9 @@ The summary page displays all configured sections:
Use **Go to step** to return to a selected section and make changes before saving the earning rule.
-After reviewing the configuration, save the earning rule as a draft and activate it later.
+After reviewing the configuration:
+- use **Save draft** to save the earning rule without activating it
+- use **Save** to create and activate the earning rule immediately
@@ -408,35 +411,68 @@ Earning rules can be assigned and managed directly from the loyalty campaign des
The **Earning rules** section displays all earning rules currently assigned to the campaign.
-To assign an earning rule:
-1. Ensure that at least one wallet is already assigned to the campaign.
-2. In the **Earning rules** section, select:
- - the **+** icon, or
- - the **No earning rules assigned** field.
-3. Select an existing earning rule from the list.
+Earning rules award points to wallets selected in the **Card definition** field.
+
+When assigning an earning rule to a loyalty campaign, the loyalty designer verifies whether all required wallets are already assigned to the campaign.
+
+If required wallets are missing, the loyalty designer displays the **Assign required wallets** dialog.
+
+Select **Assign wallets and rule** to automatically assign the required wallets together with the earning rule.
-Assigned earning rules can later be unassigned or deleted from:
-- the loyalty designer workspace,
-- or the **Building blocks** panel.
+To assign an earning rule from the loyalty designer:
+1. In the **Earning rules** section, select:
+ - the **+** icon,
+ - or the **No earning rules assigned** field.
+2. In the assignment dialog:
+ - select an existing earning rule from the list,
+ - or select **+ Create new** to open the simplified earning rule builder.
+
+The simplified earning rule builder supports:
+- defining the earning rule name
+- selecting the trigger event
+- configuring earning effects
+- assigning wallets
+- multiple earning effects
+
+Select **Advanced options** to open the full earning rule builder with additional configuration options, including earning conditions and trigger limits.
+
+You can also assign earning rules from the **Building blocks** panel.
The **Building blocks** panel allows you to:
-- browse available earning rules,
-- assign earning rules to campaigns,
-- create new earning rules,
-- delete existing earning rules.
+- browse available wallets, earning rules, bonus rules, and rewards
+- search building blocks by name using the search field
+- filter displayed building block categories using the filter menu
+- filter earning rules by assignment status using the **All**, **Not assigned**, and **Assigned** tabs
+- assign earning rules to campaigns
+- unassign earning rules from campaigns
+- delete earning rules
+- create new earning rules using the **+** icon
+
+Earning rules can be assigned regardless of their current status. Assigning or unassigning earning rules does not change whether the earning rule is active or inactive.
+
+Assigned earning rules can later be:
+- edited from the loyalty designer workspace
+- unassigned from the loyalty campaign
+- deleted from the **Building blocks** panel
-## Create earning rules from the loyalty designer
+Deleting an earning rule removes it from all loyalty campaigns where it is currently assigned.
-You can create earning rules directly from the loyalty designer.
+Selecting the edit icon from the loyalty designer opens the full earning rule builder.
-To create a new earning rule:
-1. Open the **Earning rules** section.
-2. Select the **+** icon.
-3. Select **+ Create new**.
+## Related features
-The loyalty designer opens a simplified earning rule builder that supports:
-- selecting the trigger event,
-- configuring effects,
-- assigning wallets.
+
+
+
+
+Learn how to create and manage wallets used in earning rules through the **Card definition** configuration.
+
+
+
+
+
+Learn how to configure loyalty campaigns and manage campaign building blocks.
+
+
-Select **Advanced options** to open the full earning rule builder with additional configuration options.
\ No newline at end of file
+
\ No newline at end of file
From 0467b352a72a9347ecc68696247fd9fd6790791c Mon Sep 17 00:00:00 2001
From: MaciekVoucherify <130568368+MaciekVoucherify@users.noreply.github.com>
Date: Mon, 15 Jun 2026 15:44:51 +0200
Subject: [PATCH 4/4] Update loyalty-earning-rule.mdx
---
documentation/build/loyalty-earning-rule.mdx | 43 ++++++++++++++------
1 file changed, 30 insertions(+), 13 deletions(-)
diff --git a/documentation/build/loyalty-earning-rule.mdx b/documentation/build/loyalty-earning-rule.mdx
index 4e1f259e6..11a6b6792 100644
--- a/documentation/build/loyalty-earning-rule.mdx
+++ b/documentation/build/loyalty-earning-rule.mdx
@@ -8,6 +8,12 @@ import MetaConfig from '/snippets/metadata-configuration.mdx'
Earning rules define when customers receive points for selected activities and transactions.
+
+
+Time-related settings in earning rule configuration use the time zone configured in project settings. They are not calculated in UTC.
+
+
+
Go to **Loyalty hub** > **Earning rules**.
From the **Earning rules** view, you can:
@@ -33,7 +39,7 @@ Enter the earning rule name in **Name earning rule**.
-## Trigger
+### Trigger
Define the event that activates the earning rule.
@@ -78,18 +84,29 @@ Use the search field to find existing segments or use the **+** icon to create a
-## Earnings
+### Earnings
Define the conditions and effects used to award points.
Use **+ Add earning** to create additional earning configurations within the same earning rule.
+Earning configurations are evaluated in the order they appear in the builder. **Earning #1** has the highest priority.
+
+If the customer does not match the first earning configuration, Voucherify checks the next one in order until an earning is fulfilled. If no earning is fulfilled, no points or benefits are awarded.
+
Each earning configuration contains:
- **Earning name**: internal name used to identify the earning configuration.
+- **Tier**: loyalty tiers that the earning configuration applies to.
- **When**: conditions that must be matched.
- **Then**: effects applied after the conditions are matched.
-### When
+**Tier**
+
+Use the **Tier** section to select which loyalty tiers the earning configuration applies to.
+
+You can select one or more tiers from different tier structures.
+
+**When**
Use the **When** section to define conditions for the earning configuration.
@@ -189,7 +206,7 @@ Available bracket actions:
-### Then
+**Then**
Use the **Then** section to define the effects applied when the earning conditions are matched.
@@ -272,11 +289,11 @@ You can create a new incentive directly from the builder using the **+** icon.
-## Trigger limits
+### Trigger limits
Define cooldown and frequency limits for triggering the earning rule.
-### Cooldown
+**Cooldown**
Control how often the earning rule can be triggered for the same customer.
@@ -297,7 +314,7 @@ Supported period units:
Maximum values depend on the selected period unit.
-### Frequency
+**Frequency**
Limit how many times the earning rule can be triggered within a selected time period.
@@ -320,11 +337,11 @@ Supported period units:
-## Timeframe
+### Timeframe
Define when the earning rule becomes active and when it expires.
-### Start date
+**Start date**
Define when the earning rule becomes active.
@@ -336,7 +353,7 @@ When **Specific date** is selected, configure:
- **Date**: activation date.
- **Time**: activation time.
-### Expiration
+**Expiration**
Define when the earning rule expires.
@@ -348,7 +365,7 @@ When **On specific date** is selected, configure:
- **Date**: expiration date.
- **Time**: expiration time.
-### Valid hours per day
+**Valid hours per day**
Limit when the earning rule can be triggered during the week.
@@ -376,7 +393,7 @@ Multiple valid hour ranges can be configured.
-## Metadata
+### Metadata
@@ -384,7 +401,7 @@ Multiple valid hour ranges can be configured.
-## Summary
+### Summary
Review the earning rule configuration before saving.