Promotion Rule Configuration Templates
Use promotion rule configuration templates to define event and reward structures for each rule. This reference explains each supported template and includes JSON examples for each variant.
| Template Name | Category | Event Configuration | Supported Reward Types |
|---|---|---|---|
| SimpleCartRewards | Spend-based | spendRange (minimum, maximum) | ProvideDiscount, IssueVoucher, AssignBadge, CreditFixedPoints |
| SimpleLineLevelRewards | Spend-based | spendRange (minimum, maximum) | ProvideDiscount (discountLevel: LineItem) |
| SimpleUnitPriceRewards | Spend-based | spendRange (minimum, maximum) | ProvideDiscount (with discountedItems) |
| SimpleComboRewards | Spend-based | spendRange (minimum, maximum) | ProvideDiscountedCombo |
| BuyXToGetRewards | Purchase-based | allOf -> anyOf (purchaseType, applicablePurchaseList, purchaseCriteria) | ProvideDiscount, IssueVoucher |
| BuyXToGetDiscountOnY | Purchase-based | allOf -> anyOf (purchaseType, applicablePurchaseList, purchaseCriteria) | ProvideDiscount (with discountedItems), GiveFreeProduct |
| BuyXToGetUnitPriceDiscount | Purchase-based | allOf -> anyOf (purchaseType, applicablePurchaseList, purchaseCriteria) | ProvideDiscount (PriceOverride), GiveFreeProduct |
| BuyXToGetY | Purchase-based | allOf -> anyOf (purchaseType, applicablePurchaseList, purchaseCriteria) | ProvideDiscountedCombo, IssueVoucher, CreditFixedPoints, CreditMultiplierPoints, AssignBadge, AssignGame |
| CustomPromotion | Custom | criteriaList (conditionList with contextTagName, operator, valueList) + aggregationConfiguration | ProvideDiscount (with subType) |
| GetRewardsBasedOnSellingModel | Selling Model | allOf -> anyOf (with sellingModelType) | ProvideDiscount |
| AccrualPromotion | Loyalty | spendRange (minimum) or criterionType-based | CreditFixedPoints, CreditMultiplierPoints, Vouchers, Badges |
Use the SimpleCartRewards template to provide cart-level rewards such as discounts, vouchers, badges, or loyalty points when the customer cart total falls within a configured spend range.
- Category: Spend-based
- Event Configuration:
spendRangewithminimum(required) andmaximum(optional) - Supported Reward Types:
ProvideDiscount,IssueVoucher,AssignBadge,CreditFixedPoints
JSON example
Percentage discount on cart spend range
JSON example
Voucher reward with journal type targeted at loyalty members
Use the SimpleLineLevelRewards template to provide line-item discounts on specific products when the customer cart total falls within a configured spend range.
- Category: Spend-based
- Event Configuration:
spendRangewithminimum(required) andmaximum(optional) - Supported Reward Types:
ProvideDiscount(withdiscountLevel: "LineItem")
JSON example
Line-item discount on specific products
Use the SimpleUnitPriceRewards template to provide unit-price or amount-off discounts on specific products when the customer cart total falls within a configured spend range.
- Category: Spend-based
- Event Configuration:
spendRangewithminimum(required) andmaximum(optional) - Supported Reward Types:
ProvideDiscount(withdiscountedItems)
JSON example
Amount-off discount on specific products
Use the SimpleComboRewards template to provide discounted combo or bundle offers on qualifying products when the customer cart total falls within a configured spend range.
- Category: Spend-based
- Event Configuration:
spendRangewithminimum(required) andmaximum(optional) - Supported Reward Types:
ProvideDiscountedCombo
JSON example
Discounted combo offer on products
JSON example
Discounted combo targeted at loyalty tier members
Use the BuyXToGetRewards template to provide discounts, vouchers, or other rewards when customers purchase qualifying products or product categories.
- Category: Purchase-based
- Event Configuration:
allOfarray containinganyOfobjects withpurchaseType,applicablePurchaseList, andpurchaseCriteria. SupportsbuyNoPreCondition,buyFromAnyProduct, andeventExclusionInfo. - Supported Reward Types:
ProvideDiscount,IssueVoucher
JSON example
Discount when specific products are purchased
JSON example
No purchase pre-condition
JSON example
With product exclusions
Use the BuyXToGetDiscountOnY template to provide discounts or free-product rewards on target products when customers purchase qualifying products.
- Category: Purchase-based
- Event Configuration:
allOfarray containinganyOfobjects withpurchaseType,applicablePurchaseList, andpurchaseCriteria - Supported Reward Types:
ProvideDiscount(withdiscountedItems),GiveFreeProduct
JSON example
Discount on product Y when product X is purchased
JSON example
Free product reward
Use the BuyXToGetUnitPriceDiscount template to provide unit-price discounts or price overrides on products when customers purchase qualifying products or quantities.
- Category: Purchase-based
- Event Configuration:
allOfarray containinganyOfobjects withpurchaseType,applicablePurchaseList, andpurchaseCriteria - Supported Reward Types:
ProvideDiscount(PriceOverride),GiveFreeProduct
JSON example
Price override reward on multiple products
JSON example
“For every X” quantity criteria
Use the BuyXToGetY template to provide combo discounts, vouchers, loyalty rewards, badges, games, or other incentives when customers purchase qualifying products or product categories.
- Category: Purchase-based
- Event Configuration:
allOfarray containinganyOfobjects withpurchaseType,applicablePurchaseList, andpurchaseCriteria - Supported Reward Types:
ProvideDiscountedCombo,IssueVoucher,CreditFixedPoints,CreditMultiplierPoints,AssignBadge,AssignGame
JSON example
Discounted combo when purchasing specific products
JSON example
Voucher reward for loyalty tier members
JSON example
Loyalty points (CreditFixedPoints)
JSON example
Multiplier points
JSON example
Badge reward
JSON example
Game reward
Use the CustomPromotion template to define promotions using advanced criteria, custom logic, aggregation rules, and runtime context evaluation.
- Category: Custom
- Event Configuration:
criteriaListwithconditionListentries specifyingcontextTagName,operator,valueList,dataType, andsequenceNumber. Optionally includesaggregationConfiguration. Criteria types:AllConditionsMatch,AnyConditionMatches, andCustomLogicMatches. - Supported Reward Types:
ProvideDiscount(withsubType: DiscountOnCart,DiscountOnLineItem, orDiscountOnUnitPrice)
JSON example
AnyConditionMatches criteria with aggregation and cart discount
JSON example
CustomLogicMatches criteria with cart discount
JSON example
Line-item reward on specific products
Use the AccrualPromotion template to provide loyalty points, vouchers, badges, or multiplier rewards based on transaction activity, purchase thresholds, or loyalty criteria.
- Category: Loyalty
- Event Configuration: Uses
criterionType,minimumPurchaseAmountEnabled,minPurchaseAmount,minimumQuantityEnabled,minPurchaseQuantity, andisPromotionForCustomRules - Supported Reward Types:
CreditFixedPoints,CreditMultiplierPoints, Vouchers, Badges
JSON example
Fixed points accrual on spend threshold
JSON example
Tier-based rewards with multiple reward types (points, vouchers, badges, multiplier)
Use the GetRewardsBasedOnSellingModel template to provide rewards or discounts based on the selling model associated with purchased products, such as subscription or term-based models.
- Category: Selling Model
- Event Configuration:
allOfarray containinganyOfobjects withpurchaseType,applicablePurchaseList,purchaseCriteria, andsellingModelType(for example,TermDefined) - Supported Reward Types:
ProvideDiscount
JSON example
Subscription-based promotion with TermDefined selling model