Promotion Priority Rules

Promotion priority rules exist to prevent unpredictable or undesirable effects when multiple promotions are applicable for a basket. You can customize some of the rules, while others are hardcoded.

Prioritize External (Non-Customizable)

Promotions entered programatically through APIs, that aren't represented by promotions in the system, apply before promotions entered through Business Manager.

Prioritize by Promotion Class (Non-Customizable)

B2C Commerce always applies promotions in the following order:
  1. Product promotions
  2. Order promotions
  3. Shipping promotions
This is non-customizable. B2C Commerce calculates order promotions based on the merchandise total after it calculates product promotions. After B2C Commerce applies order promotions, it prorates order-level discounts across all products in the order. Finally, it calculates shipping promotions.

Prioritize by Exclusivity Type (Customizable)

Within each class, promotions are prioritized by exclusivity type, which you can define per promotion. B2C Commerce always applies class exclusive promotions before promotions without a specified exclusivity type. See below for more details on exclusivity rules. See Promotion Compatibility.

Prioritize by Rank (Customizable)

Rank is a numeric attribute that you can specify. B2C Commerce always calculates promotions with a defined rank before promotions without a defined rank. If two promotions have a rank, B2C Commerce calculates the promotion with the lowest rank. For example, a promotion with rank 10 is calculated before one with rank 30.

Prioritize by Discount Type and Value (Non-Customizable)

In general, promotions are sorted by discount type. If there are multiple promotions of the same discount type, they are sorted so that promotions providing the best value to the shopper are evaluated first.

Promotions can be tiered and offer multiple discounts. When B2C Commerce prioritizes two promotions by discount, it pre-evaluates the discount tiers of each and determines which tier, if any, apply for each. For example, a promotion had two tiers, buy 3 or more of product PXget $5 off and Buy 5 or more of product X and get 30% off.

A basket has four of product X. The lower discount tier ($5 off) is the pre-evaluated discount, so the discount type is amount-off. After this pre-evaluation process, each promotion is associated with zero or one discounts.

Promotions are then sorted by discount type according to the following sequence.
  1. Fixed price
  2. Total fixed price
  3. Free
  4. Price book price
  5. Amount-off
  6. Percent-off
  7. Bonus-product
  8. Choice of bonus products
  9. Free product-shipping
  10. Fixed price product-shipping
Simple discounts apply in the following order: fixed, amount-off, percent-off. If two promotions have the same pre-evaluated discount type, the promotion that offers the shopper the best value is prioritized first. For example, a promotion offering 20% off takes priority over a promotion offering 10% off.
Note: If there are multiple fixed-price (or total fixed price or free) promotions, the order of application is irrelevant because fixed-price promotions don't stack. B2C Commerce has special logic so that if multiple fixed-price promotions qualify, only the best value promotion applies.
Note: B2C Commerce doesn't evaluate all sequences of promotions. The sequencing resulting from this prioritization process doesn't always provide the best value to shoppers.

Maximum Application

Setting a maximum application affects the order that product promotions apply and when the discount calculation occurs. When a promotion with a maximum application applies, the most expensive product is discounted first, followed by the second most expensive, until the maximum application limit is reached.

For example, you have two promotions.

The customer buys six shirts: two of Shirt A costing $100 each, two of Shirt B costing $75 each, and two of Shirt C costing $50 each.

According to promotion priority rules, percent off is applied first, followed by bonus - so Promotion 2 is applied first. It discounts the most expensive shirts to give the shopper the best deal.

3 shirts (2 at $100 and 1 at $75) for 20% off, with one application.
$275 - $55 (discount) = $220

If exclusivity is None, per Promotion 1, the customer also receives two silk ties. If exclusivity is Class or Global, Promotion 1 doesn't apply.

Percent off contrasts with buy x get y discount, where if the same products are eligible as qualifying and conditional products, the promotion sorts the products based on price. The promotion uses the most expensive products to satisfy the condition. The discount applies to the next product in the list that is of equal or lesser value to the conditional products, depending on the site promotion preference setting. See Buy X Get Y Promotions.


In this example, a merchant has ranked promotions as follows :

Promotion Name Description Rank
Prod1 10% off product 60
Prod2 $2 off product 0
Prod3 $1 off product 0
Prod4 $2.99 product fixed price 30
Ord1 15% off order 70
Ord2 20% off order 65
Ord3 $5 off order 0

The basket with applied discounts shows the discounts applied in the following order:

  1. Product:
    1. Prod4: $2.99 product fixed price
    2. Prod1: 10% off product
    3. Prod2: $2 off product
    4. Prod3: $1 off product
  2. Order
    1. Ord2: 20% off order
    2. Ord1: 15% off order
    3. Ord3: $5 off order
X Privacy Update: We use cookies to make interactions with our websites and services easy and meaningful, to better understand how they are used. By continuing to use this site you are giving us your consent to do this. Privacy Policy.