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.
Important: Since the country uses a dynamic price model, the promotion must be configured with either Base Currency or All (for global applicability)
Required Promotion Config
- Shipping Methods must be the override shipping methods configured for the specific country (via custom preferences).
- Qualifying Products should be left empty to apply the promotion to all products in the basket.
Configure Custom Attributes
Set the following custom attributes in the promotion:
| Parameter | Type | Description |
|---|---|---|
Enable Localized Threshold | Boolean | Enables the use of this feature. |
Promotion Discount Type | Dropdown | Discount type: Amount Off, Percentage, or Free. |
Minimum Thresholds Amount | Set of Strings | Format: [threshold]:[discount].Example: 50:10, 75:15, 100:25 |
Example Threshold Logic
| Order Total | Discount |
|---|---|
| ≥ 50 | 10 off |
| ≥ 75 | 15 off |
| ≥ 100 | 25 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
You can also mix the amount of the discount with free shipping for large value orders by passing 0 as the discount value. For example, 200
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 |
|---|---|---|---|---|
| 1 | 1000:0 | Amount Off | Order total ≥ 1000 (localized currency) | Shipping is free (cost = 0) |
| 2 | 800:100 | Amount Off | 800 ≤ Order total < 1000 | Save 100 (e.g. 100 SEK) on shipping |
| 3 | 800:10 | Percentage | Order total ≥ 800 | 10% off shipping |
| 4 | 800:100 | Free | Order total ≥ 800 | Shipping 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 undersitesdata/demo.
Important: Since the country uses a dynamic price model, the promotion must be configured with either Base Currency or All (for global applicability)
Required Promotion Config
- Qualifying Products should be left empty to apply the promotion to all products in the basket.
Configure Custom Attributes
Set the following custom attributes in the promotion:
| Parameter | Type | Description |
|---|---|---|
Enable Localized Threshold | Boolean | Enables the use of this feature. |
Promotion Discount Type | Dropdown | Discount type: Amount Off, Percentage, or Free. |
Minimum Thresholds Amount | Set of Strings | Format: [threshold]:[discount].Example: 50:10, 75:15, 100:25 |
Example Threshold Logic
| Order Total | Discount |
|---|---|
| ≥ 50 | 10 off |
| ≥ 75 | 15 off |
| ≥ 100 | 25 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
You can also mix the amount of the discount with free shipping for large value orders by passing 0 as the discount value.
Example: 50:10, 75:15, 100:25, 200:0
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:
| Variable | Description |
|---|---|
eswEnabled | Indicates whether ESW functionality is enabled for the current session. |
eswCountry | Returns the country code (e.g., GB, US, FR) selected by the shopper. |
eswOperatedCountry | Returns true if the selected country is supported by ESW. |
eswSupportsFixedPrices | Returns true if the pricing model is fixed price for this country. |
eswCurrency | Returns 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:
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:
Note: Sample customer group metadata can be found in the site's
data/demofolder.