Promotions Integration

The ESW cartridge support all of the promotions offered by the native SFCC promotion engine

SFCC Promotion Support in the ESW Cartridge

The ESW cartridge supports all promotion types provided by the native Salesforce Commerce Cloud (SFCC) promotion engine.

  • Promotion Configuration: Promotions are configured through Business Manager (BM) under Merchant Tools > Online Marketing > Promotions.
  • Compatibility: Once a promotion meets the defined promotion criteria (e.g. qualifying basket total, eligible products, valid date range), it will be automatically recognized and applied by the ESW cartridge.

Promotion Class: Product

These configurations apply to product-level promotions. All discount types listed are compatible with both Dynamic and Fixed/Hybrid pricing models.

Without Qualifying Product

Amount Off
  • ✅ Dynamic Pricing
  • ✅ Fixed/Hybrid Pricing

Comment: Discount amount is based on the retailer’s default or price book currency. For Dynamic Pricing Model, the maximum discount amount cannot exceed the final product price. Final prices in cart may differ from PDP/PLP display.

Percentage Off
  • ✅ Dynamic Pricing
  • ✅ Fixed/Hybrid Pricing

Comment: Final prices in cart may differ from PDP/PLP display.

Other Supported Discounts
  • ✅ Fixed Price
  • ✅ Price From PriceBook
  • ✅ Percentage Off Product Option
  • ✅ Bonus Product(s)
  • ✅ Choice of Bonus Products (List)
  • ✅ Choice of Bonus Products (Rule)
  • ✅ Fixed Price Shipping
  • ✅ Free Shipping

With Amount of Qualifying Products

Percent Off / Amount Off
  • ✅ Dynamic Pricing
  • ✅ Fixed/Hybrid Pricing

Comment: Discount amount is based on the retailer’s default currency or price book currency. For Dynamic Pricing Model, the maximum discount amount cannot exceed the final product price.

Bonus Product(s) & Choice

✅ Fixed Price
✅ Price From PriceBook
✅ Percent Off Product Options
✅ Bonus Product(s)
✅ Choice of Bonus Products (List & Rule)
✅ Fixed Price Shipping
✅ Free Shipping

With Number of Qualifying Products

Percent Off / Amount Off
  • ✅ Dynamic Pricing
  • ✅ Fixed/Hybrid Pricing

Comment: Discount amount is based on the retailer’s default currency or price book currency. For Dynamic Pricing Model, the maximum discount amount cannot exceed the final product price.

Bonus Product(s) & Choice

✅ Fixed Price
✅ Price From PriceBook
✅ Percent Off Product Options
✅ Bonus Product(s)
✅ Choice of Bonus Products (List & Rule)
✅ Fixed Price Shipping
✅ Free Shipping

With Combination of Products

Percent Off / Amount Off / Fixed Price / Total Price
  • ✅ Dynamic Pricing
  • ✅ Fixed/Hybrid Pricing

Comment: Discount amount is based on the retailer’s default currency or price book currency. For Dynamic Pricing Model, the maximum discount amount cannot exceed the final product price.

Bonus Product(s) & Choice

✅ Price From PriceBook
✅ Bonus Product(s)
✅ Choice of Bonus Products (List & Rule)
✅ Fixed Price Shipping
✅ Free Shipping

Buy X / Get Y

Percent Off / Amount Off / Fixed Price
  • ✅ Dynamic Pricing
  • ✅ Fixed/Hybrid Pricing

Comment: Discount amount is based on the retailer’s default currency or price book currency. For Dynamic Pricing Model, the maximum discount amount cannot exceed the final product price.

Free & Price From PriceBook

✅ Free
✅ Price From PriceBook

Buy X and Y / Get Z

Percent Off / Amount Off / Fixed Price
  • ✅ Dynamic Pricing
  • ✅ Fixed/Hybrid Pricing

Comment: Discount amount is based on the retailer’s default currency or price book currency. For Dynamic Pricing Model, the maximum discount amount cannot exceed the final product price.

Free & Price From PriceBook

✅ Free
✅ Price From PriceBook

Buy N Products for Total

Buy X quantity for Total Price Y
  • ✅ Dynamic Pricing
  • ✅ Fixed/Hybrid Pricing

Shipping Threshold Promotion

The native SFCC promotion engine threshold logic does not function with dynamic pricing models. This is because, under dynamic pricing, localized prices are calculated in real time at the template level, while the SFCC backend only recognizes base currency or price book values. As a result, threshold-based promotions relying on cart totals are not accurately evaluated.

This is where the ESW cartridge enhances functionality:

  • Enables support for threshold promotions in international markets, overcoming native SFCC limitations
  • Allows threshold promotions in the shopper’s currency, aligning with real-time localized pricing
  • Helps increase average order value (AOV) by encouraging shoppers to meet local thresholds
  • Reduces manual effort required to configure and maintain promotions across multiple markets

The ESW cartridge ensures accurate promotion evaluation even when pricing is dynamically calculated, improving the shopper experience and operational efficiency.

Using the ESW Shipping Threshold

The Shipping Threshold feature works with countries where shipping override is enabled. Follow the steps below to configure it:

Configure Promotion in Business Manager

  • Navigate to Merchant Tools → Online Marketing → Promotions
  • Open the relevant shipping promotion. If it does not exist, create a new one. You can find a sample promotion meta file under sitesdata/demo.

Configure Custom Attributes

Set the following custom attributes in the promotion:

Parameter Type Description
Enable Localized ThresholdBooleanEnables the use of this feature.
Promotion Discount TypeDropdownDiscount type: Amount Off, Percentage, or Free.
Minimum Thresholds AmountSet of StringsFormat: [threshold]:[discount].
Example: 50:10, 75:15, 100:25

Example Threshold Logic

Order Total Discount
≥ 5010 off
≥ 7515 off
≥ 10025 off

To offer free shipping for large-value orders, pass 0 as the discount value 200:0 → Free shipping when the order is ≥ 200

  • Estimated shipping cost: €500
  • Order total: €120
  • Threshold applied: €100 → €25 discount applied

In the following example, The estimated shipping cost was 500 and we are getting a 25 discount because the order total is greater than 100.

::

Supported Discount types for the shipping promotions are:

  • Free
  • Amount off
  • Percentage Off

Shipping Discount Scenarios

Shipping Discount Scenarios

Scenario Threshold Discount Type Condition Outcome
11000:0Amount OffOrder total ≥ 1000 (localized currency)Shipping is free (cost = 0)
2800:100Amount Off800 ≤ Order total < 1000Save 100 (e.g. 100 SEK) on shipping
3800:10PercentageOrder total ≥ 80010% off shipping
4800:100FreeOrder total ≥ 800Shipping is completely free

Order Threshold Promotion

Using the ESW Order Threshold

Follow the following steps to incorporate the order threshold feature:

Configure Promotion in Business Manager

  • Navigate to Merchant Tools → Online Marketing → Promotions
  • Open the relevant order threshold promotion.
    If it does not exist, create a new one. You can find a sample promotion meta file under sitesdata/demo.

Configure Custom Attributes

Set the following custom attributes in the promotion:

Parameter Type Description
Enable Localized ThresholdBooleanEnables the use of this feature.
Promotion Discount TypeDropdownDiscount type: Amount Off, Percentage, or Free.
Minimum Thresholds AmountSet of StringsFormat: [threshold]:[discount].
Example: 50:10, 75:15, 100:25

Example Threshold Logic

Order Total Discount
≥ 5010 off
≥ 7515 off
≥ 10025 off

To offer free shipping for large-value orders, pass 0 as the discount value 200:0 → Free shipping when the order is ≥ 200

Sample Scenario

  • Estimated shipping cost: €500
  • Order total: €120
  • Threshold applied: 100 → €25 discount applied

Examples

Examples

Here are some scenarios to better understand how the feature works:

Scenario 1

  • Threshold: 800:100
  • Promotion Discount Type: Amount Off
  • Condition: Order total ≥ 800 and < 1000 in localized currency
  • Effect: 100 SEK off the order total

In this case, there will be a 100 amount off discount on order totals.


Scenario 2

  • Threshold: 800:10
  • Promotion Discount Type: Percentage
  • Condition: Order total ≥ 800 in localized currency
  • Effect: 10% off the order total

In this case, there will be a 10% off order discount.

ESW Customer Groups

The ESW-SFCC cartridge exposes a set of session-based custom attributes that enable you to create Dynamic Customer Groups based on ESW context. These groups can be leveraged in:

  • Content Slots
  • Promotion Campaigns
  • Experiences targeting international shoppers

This gives retailers granular control over international personalization and promotional logic.

Available Session Variables

The following session variables are made available by the ESW cartridge:

VariableDescription
eswEnabledIndicates whether ESW functionality is enabled for the current session.
eswCountryReturns the country code (e.g., GB, US, FR) selected by the shopper.
eswOperatedCountryReturns true if the selected country is supported by ESW.
eswSupportsFixedPricesReturns true if the pricing model is fixed price for this country.
eswCurrencyReturns the shopper's currency ISO code (e.g., USD, EUR, GBP).

Usage

You can create Customer Groups in SFCC using these session variables via dynamic group rules. This allows you to:

  • Display localized content for specific countries.
  • Enable targeted promotions for countries with fixed or dynamic pricing.
  • Restrict or customize shipping/payment options based on region.

Example Use Cases

  • Show free shipping banners only in countries where eswOperatedCountry = true.
  • Enable a GBP-specific promo for shoppers with eswCurrency = GBP.
  • Target dynamic pricing promotions where eswSupportsFixedPrices = false.

Customer Group Targeting Examples

These examples illustrate how to use custom customer groups to control promotion or content slot visibility based on ESW session variables.

Scenario 1: Target by Currency

Goal: Show the promotion or content slot only for customers shopping in Euro (EUR).

Solution:
Create a customer group with the following rule:

session.custom.eswCurrency == "EUR"

Scenario 2: Target by Country

Goal: Show the promotion or content slot only for customers from Ireland (IE).

Solution:
Create a customer group with the following rule:

session.custom.eswCountry == "IE"

Note: Sample customer group metadata can be found in the site's data/demo folder.