Promotions evaluation and prioritization

Abstract

Understand the overall evaluation process that the Commerce Engine uses to determine the promotion benefits that are applicable to a shopping cart.

To ensure your promotional strategy is implemented properly, it is important to understand how promotions are applied, and in what order.

The overall process by which the Commerce Engine evaluates promotions to determine what promotion benefits are applicable to a shopping cart can be summarized into the following stages:

  • Prequalifying promotions

  • Processing exclusive promotions

  • Processing non-exclusive promotions

Note

Any reference to date in this topic implies a combination of date and time.

The Commerce Engine uses search filters to prequalify promotions and reduce the evaluation workload. The filter values match parameter values that are set in the promotion configuration. When the Commerce Engine searches for a promotion, it filters out promotions that are outside of the set parameters, and retrieves prequalifying promotions only.

The following table details the prequalifying filters and requirements:

Filter by...

Prequalifying requirement

Approval status

The promotion approval status is equal to approved, and has not been disabled.

Date range

The promotion from and to date range is valid.

Catalog

The promotion book is associated with the same catalog as items in the shopper's cart.

Items

The items in the shopping cart match the items included in the promotion.

The promotion's excluded items exclude the promotion from evaluation if they match any items in the user's cart.

Coupons

A valid coupon code is entered, otherwise the promotion is filtered out.

The prequalifying promotion search results provide the initial list of valid, potentially applicable promotions that the Commerce Engine processes further through evaluating logic to identify the promotions to apply to line items, and to the shopping cart. First, the Commerce Engine considers exclusive promotions. In the absence of qualifying exclusive promotions, then the Commerce Engine processes qualifying non-exclusive promotions.

The Commerce Engine evaluates exclusive promotions first

Where there is only one qualifying exclusive promotion associated with an order, that exclusive promotion applies. All other promotions are ignored.

Where there are multiple qualifying exclusive promotions, the Commerce Engine applies the following rules to determine the a sole exclusive promotion to apply:

Where...

Then...

Otherwise...

Exclusive promotions have priority values set...

The promotion with the highest priority applies.

  • The promotion with the oldest valid from date applies, or if still not decisive...

  • The promotion with the oldest created date applies.

At least one exclusive promotion in the cart is an automatic promotion...

The promotion with the oldest valid from date applies.

The promotion with the oldest created date applies.

All exclusive promotions in the shopping cart are coupon promotions...

The first coupon promotion used applies.

(no fallback required)

Non-exclusive promotions apply only in the absence of exclusive promotions.

A promotion can contain a combination of two types of benefit actions, that is, benefit actions that apply to line items, and benefit actions affecting the cart. The Commerce Engine applies promotions in the following order, according to the benefit action types it contains:

  1. Promotions where all benefit actions apply to line items are calculated first.

  2. The Commerce Engine calculates promotions that contain a combination of line items and cart-level benefit actions.

  3. Promotions where all benefit actions apply at the cart-level are calculated last.

Promotions with line item benefits apply first

Before it can calculate a shopping cart's total, the Commerce Engine must first work out the subtotal of each line items contained in the cart.

The Commerce Engine applies line item benefits in the following order:

  1. Promotions with line item benefits of highest priorities apply first.

    • Promotions apply in order of ascending priority value.

      Note

      Priority is evaluated across automatic and coupon promotions. For example, a coupon promotion with a priority value set to 25 applies before an automatic promotion with a priority value set to 100.

  2. Where promotion priority values are equal, automatic promotions apply first, ordered by earliest (oldest) Valid From date.

    • Where multiple automatic promotions share the same earliest Valid From date, the promotions apply in the order created, starting with the earliest date.

  3. Coupon promotions apply after automatic promotions, ordered by earliest (oldest) Valid From date.

    • Where multiple coupon promotions share the same earliest Valid From date, the first coupon added to cart (oldest added to cart date) applies.

Cart level benefits apply after line item benefits

After the Commerce Engine applied line item benefits and calculated line item subtotals, the Commerce Engine applies cart level benefits and calculates the cart.

The Commerce Engine applies cart level benefits in the following order:

  1. Cart level benefits apply in order of priority value.

    • Promotions apply in order of ascending priority value.

      Note

      Priority is evaluated across automatic and coupon promotions. For example, a coupon promotion with a priority value set to 25 applies before an automatic promotion with a priority value set to 100.

  2. Where promotion priority values are equal, automatic promotions apply first, ordered by earliest (oldest) Valid From date.

    • Where multiple automatic promotions share the same earliest Valid From date, the promotions apply in the order created, starting with the earliest date.

  3. Coupon promotions apply after automatic promotions, where the first coupon added to cart applies (the coupon with the oldest added to cart date).

The following table provides promotions calculation examples.

Note

The cart total is recalculated for each cart line as soon as the promotion is applied. This means that a promotion might not apply if the recalculated cart line total falls below the minimum value required.

Example

Promotions (in the order calculated)

Result

1

  1. Cart Line 1 automatic 10% off list price, valid from 2019-06-23

  2. Cart Line 1 automatic 5% off list price, valid from 2019-06-27

  3. Cart Line 2 automatic 15% off list price

  4. Cart automatic free shipping for cart prices over $100 promotion.

15% off Cart Line 1 list price.

15% off Cart Line 2 list price.

Shipping is free (if the cart’s calculated sell price exceeds $100).

2

With a $10.00 product in the cart:

  1. Cart Line 1 coupon $5 off when total cart price is $10 or more.

  2. Cart Line 2 coupon 5% off when total cart price is $10 or more.

$5 off Cart 1 list price.

Cart totals are re-calculated after each line and since the first offer reduces the cart total to $5, the customer is no longer eligible for the second offer.

3

  1. Cart Line 1 coupon 5% off list price.

  2. Cart Line 2 coupon 20% off list price.

5% off Cart Line 1 list price.

Only one exclusive promotion is applied per cart.