Create a Loyalty Rule
This page covers the Legacy Rules Engine. For the new engine, see Earning Rules.
A Loyalty Rule defines when a customer earns points (or a reward) and how many. Go to Promotional Campaigns β Points & Wallet β Rules β Create new loyalty rule.
How It Worksβ
- You define the rule with a trigger event and an accumulation type (fixed, per currency spent, per chunks, etc.).
- Victory conditions narrow eligibility: specific products, store, tier, payment method, or customer attributes.
- Limits cap how many times the rule can fire per customer.
- Validity settings control the rule's active date range and recurrence.
- When the trigger fires, all active matching rules are evaluated. Qualifying rules award points, subject to activation delay and expiration settings.
Configuration changes take effect within up to 5 minutes after saving.
Configurationβ
Section 1: Detailsβ
| Field | Description |
|---|---|
| Languages | Select one or more languages for the rule name and description |
| Name | Display name of the rule (required per selected language) |
| Description | Brief explanation of the rule's purpose (per language) |
Section 2: Award Valueβ
First, select the event (trigger) that activates the rule β this is the action or moment that will award the customer. Then choose the award type:
| Award type | When available | Description |
|---|---|---|
| Points | All events | Customer earns a points balance |
| Rewards | Challenges and custom events only | Customer receives an automatic reward or coupon redemption |
Accumulation Types (when Award type = Points)β
| Type | Behavior | Applies to |
|---|---|---|
| Per amount spent | Points proportional to currency spent. Multiplier Γ total amount (rounded). Calculated line by line. | After creating a ticket |
| Fixed amount | Flat points per event. Applies once per ticket (or once per trigger). | All events |
| Fixed amount per line | Flat points per eligible line item in the ticket. Useful for product-specific rewards. | After creating a ticket |
| Per chunks | Fixed points for each threshold of currency reached. E.g., 1 point per β¬5 spent. Points distributed across lines by weighted criteria. | After creating a ticket |
| Percent amount (based on line total) | Points = X% of each line's monetary value (decimal values accepted, e.g., 0.8%). Calculated line by line. | After creating a ticket |
| Percent amount (based on cashback conversion) | Points = X% of each line total converted to points using the Score Exchange rate. Requires a Score Exchange to be defined for each currency. | After creating a ticket |
:::note Accumulation type availability Per chunks and Per amount spent can only be used with the After creating a ticket trigger. Manual and Refer a friend moments only support Fixed amount. :::
Points transferability: Check Transferable points to allow customers to transfer points earned by this rule to other customers.
Reward Rules (when Award type = Rewards)β
Select from rewards previously created with redemption type = Loyalty Rule. This award type is only available for challenges and custom entities β not yet available for purchases or trigger-based events.
Section 3: Victory Conditionsβ
Victory conditions are restrictions that must be met for the customer to receive the award. A rule without any conditions grants points to all qualifying customers for any purchase.
| Condition | Description |
|---|---|
| Selected countries | Country of the purchase store, or customer's registration country for trigger events |
| Tiers | Restrict to customers in specific loyalty tiers |
| Stores | Restrict to specific store locations |
| Store categories | Restrict to store category groups |
| Products | Restrict to a specific list of products |
| Product features | Restrict to specific product categories |
| Payment methods | Restrict to specific payment methods |
| Total ticket amount | Set min/max cart value β rule only fires if total is within range |
| Customer registration countries | Restrict to customers registered in specific countries (independent of purchase store country) |
| Necessary properties of the line | Restrict by custom ticket line fields (only for After create activity moment) |
| Necessary properties of the customer | Restrict by custom customer fields |
Condition operatorsβ
| Operator | Behavior |
|---|---|
| Include some | Award points if the ticket/customer contains any of the selected values |
| Exclude all | Award points if the ticket/customer contains none of the selected values |
| Equal | Award points if the line or customer field matches the specified value |
| Not equal | Award points if the line or customer field does not match the specified value |
:::note Registration country example A rule defined for stores in Spain, Argentina, and Chile with customer registration = Spain will apply when a Spain-registered customer purchases in Argentina β but NOT when a France-registered customer purchases in Argentina. :::
Section 4: Limitsβ
Control how many times a customer can earn from this rule:
| Option | Behavior |
|---|---|
| Always | No limit β the customer can earn from this rule indefinitely |
| Number of times per year (relative) | Max wins in the last rolling 12 months |
| Number of times per month (relative) | Max wins in the last rolling month |
| Number of times per year (natural) | Max wins in the current calendar year |
| Number of times per month (natural) | Max wins in the current calendar month |
| Number of times per natural day | Max wins in the current calendar day (00:00β23:59) |
| Total number of times | Max wins across all history (no date limit) |
The ticket creation date (not the API request time) is used when checking win limits. This matters for backdated ticket imports.
Section 5: Validity of Points Awardedβ
Configure when earned points become available and when they expire.
Activationβ
Set a delay before earned points can be spent:
- Since its obtaining: number of days or months after earning before points activate
- At the beginning of the month: if using months, optionally activate points on the 1st of the month instead of the exact date
Setting activation to 0 days makes points immediately available.
Expirationβ
Two modes:
Relative period β expiry calculated from when the customer earns the points:
- Set number of days or months after earning
- Optional: expire on the last day of the natural month
Fixed period β expiry at a calendar milestone regardless of earn date:
| Option | Expiry date |
|---|---|
| End of calendar month | Last day of the month points were earned |
| End of calendar quarter | March 31, June 30, September 30, or December 31 |
| End of calendar semester | June 30 or December 31 |
| End of calendar year | December 31 |
:::note First-to-expire, first-to-use When a customer redeems points, the system always uses points closest to expiry first β regardless of when they were earned. This minimizes accidental expiry. :::
:::note Customer timezone Points activation and expiration are calculated based on the customer's timezone, not the store's timezone. A purchase in Spain by an Australian customer will have a different activation date than the same purchase by a Hawaiian customer. :::
Section 6: Validity of the Loyalty Ruleβ
Define when the loyalty rule itself is active:
| Field | Description |
|---|---|
| Valid since | Start date β rule becomes active and begins awarding from this date |
| Valid until | End date β rule stops awarding after this date |
| Status | Manually set to Enabled or Disabled independent of dates |
Recurrence type: control which days within the validity period the rule applies:
| Recurrence | Behavior |
|---|---|
| Daily (default) | Rule applies every day within the validity period |
| Weekly | Select specific days of the week (e.g., Wednesdays and Fridays only) |
| Monthly | Select specific days of the month (e.g., 1st and 15th). Note: months with fewer days than selected will be skipped |
| Monthly (last day of month) | Applies only on the last day of each month (28th/29th for February, 30th or 31st for other months) |
Section 7: Partnerβ
Optionally associate a partner (supplier or sponsor) with this loyalty rule for cost attribution and reporting.