Discounts and Composable Commerce

Learn how Composable Commerce can meet your discount requirements.

Ask about this Page
Copy for LLM
View as Markdown

After completing this page, you should be able to:

  • Describe some of the common features of Product and Cart Discounts in Composable Commerce.

  • Identify some of the ways Product and Cart Discounts can be used to model common promotional needs.

Discounts in commerce

Discounts play a multi-faceted role in commerce and significantly impact the success of a business, some of which include:

  • Attracting customers
  • Increasing sales
  • Clearing inventory
  • Establishing and maintaining customer loyalty and retention
  • Setting up seasonal and promotion campaigns
  • Competing with competitors
  • Upselling and cross-selling
  • Collecting and managing data

Understanding how to use discounts in day-to-day operations is crucial for digital commerce administrators and coordinators. Some of the most common discounts used by businesses are as follows:

  • 10% off items in a special category like tops, pants, shoes and don't already have a special price
  • 5% off items in any sale category
  • $10 off specific SKUs or attributes
Digital commerce administrators or coordinators can use the Merchant Center to create such discounts in Composable Commerce.

Discounts in Composable Commerce

Composable Commerce offers the following types of Discounts:

  • Product Discounts are applied directly to specific Products or Product Variants even before they are added to the Cart. For example, take $5 off a single variant's price.
  • Cart Discounts are applied to the entire Cart value based on certain conditions like Cart subtotal, specific Product Variants in the Cart, or customer segments. Cart Discounts affect the overall Cart value rather than individual Products. For example, you can apply a discount when a customer purchases multiple items of the same variant, and only then.
  • Discount Codes are customer-specific or general codes that customers can enter during the checkout process to receive a discount. When entered at checkout, Discount Codes trigger the associated Cart Discount.
Using Composable Commerce's Discounts is a great way to ensure proper performance in your Project. See our Calculate Prices module for further information.
Product and Cart Discounts can model common promotions such as percentage discounts, volume pricing, and gift items. For the full list of use cases, see Common discount use cases.

Product Discounts vs Cart Discounts

Product Discounts share some common features with Cart Discounts:

Although some similarities exist between Product Discounts and Cart Discounts, some noteworthy differences exist too:

  • Only one Product Discount can apply to a Product at any given time (the highest ranked active Product Discount) as opposed to multiple Cart Discounts that can apply simultaneously at any given time.
  • While Product Discounts can be applied directly to a Product, Cart Discounts offer more variety. For example, Cart Discounts can be applied to the Cart Total, to Shipping Methods or even to offer free gifts.

Discount interaction configuration

The Project's DiscountsConfiguration determines how Product Discounts and Cart Discounts interact when both would apply to a Cart. Configure discountCombinationMode to either Stacking (apply both discount types sequentially) or BestDeal (apply only the discount type offering the lowest Cart total).
Strategic implications:
  • Stacking: Maximizes customer savings by applying Product Discounts first, then Cart Discounts to reduced prices. Use for customer acquisition campaigns or loyalty programs. Trade-off: higher discount costs and complex interaction planning.
  • BestDeal: Applies only one discount type per Cart (whichever yields lower total). Use for controlled discount budgets or simplified discount strategies. Trade-off: some Line Item prices may be higher if switching discount types provides overall better deal.
Configure via Project settings or the Set Discounts Configuration update action. Default is Stacking. Learn more about discount interaction in the Cart Discounts module.

What are Predicates?

Discounts require conditions specified through Predicates, which evaluate whether specified conditions are true or false for Product and Cart Discounts.

A predicate comprises of a field identifier, an operator, and a value, for example:

Field identifierOperatorValue
SKU=AB-123

In the above case, if a Product Variant matching the specified SKU exists, its Price would be discounted according to the rest of the Product Discount.

To use Predicates in more complicated scenarios, see Discount Predicates and Discount Predicate Field Identifiers to learn the predicate syntax and to know how to specify it.

Test your knowledge