Discounts and Composable Commerce
Learn how Composable Commerce can meet your discount requirements.
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
It is crucial for digital commerce administrators or coordinators to understand how to use discounts in their day-to-day operations. 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: They 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: They are applied to the entire Cart value based on certain conditions like Cart subtotal, specific Product Variants in the Cart, or customer segments. They 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: Discount Codes are customer-specific or general codes that customers can enter during the checkout process to receive a discount. They trigger a Cart Discount to a Cart when they are entered.
Using Composable Commerce's Discounts is a great way to ensure proper performance in your Project. See our Pricing setup module for further information.
The following table highlights how some of the most common discounts can be modeled with either Product or Cart Discounts in Composable Commerce (this list is not exhaustive). Composable Commerce also offers further discounting needs (such as geofencing, bulk discount codes, stacked discounts and so on) when supported with API Extensions.
Use case | Description | Composable Commerce solution |
---|---|---|
Product or catalog discount | Percentage or fixed value off the original price of items matching set conditions (these use predicates and can include categories). | Product Discount |
Product volume pricing | Reduced base Price for an item when multiple quantities of that item is purchased. | Tiered prices |
Time window discount | Time-based discount. | Cart Discount and Product Discount |
Tiered percentage discount by spend | Example: 10% off the cart for customers who spend $30 or more, 15% off if they spend $50 or more, or 20% off if they spend $100 or more. | Cart Discount |
Tiered fixed discount by spend | Example: $25 off the cart total for customers who spend more than $150, $50 off if they spend more than $300, or $75 off if they spend more than $400. | Cart Discount |
Discount by discount code | Percentage or fixed value off the cart or subset of cart items when customers use a discount code. | Cart Discount + Discount Code |
Buy x, get 1 free | When customers buy x items, they get one quantity of a defined item for free. | Cart Discount |
Cart value is greater than x, get y free | When a cart value is greater than a set target, customers get one quantity of a defined item for free. | Cart Discount |
Website-specific promotions | A merchant may want to discount only a specific website, in the case a Project supports multiple websites. | Cart Discount |
Bundle Product Type discount | Percentage or fixed value off the bundle to customers who purchase a custom Product Type of bundled Products. | Cart Discount and/or External Discount |
Marketing opt in discount | One-time fixed discount offered to customers who opt in (subscribe) for marketing emails. | Cart Discount and/or External Discount |
Create an account discount | One-time discount for customers who sign up for an account. | Cart Discount and/or External Discount |
Product Discounts vs Cart Discounts
Product Discounts share some common features with Cart Discounts:
Flexible Discount Predicates: Discounts need to be applied under certain conditions. Composable Commerce allows you to define predicates–statements or functions that evaluate to true or false based on specific conditions. You can set up simple predicates like
"SKU = 'AB-123'"
or more complex ones involving multiple Attributes and Categories for both Product Discounts and Cart Discounts in the Merchant Center.Discount ranking: Each Discount is assigned a rank or sort order, representing its precedence. As you may have multiple Discounts in your Project, the rank helps Composable Commerce prioritize and apply the appropriate Discount to a Product or Cart.
Relative and absolute Discounts: When creating a Discount, you can decide whether it's relative to the Product's Price or an absolute value. A relative Discount might reduce a price by a percentage, while an absolute Discount requires specifying a number. Both types of discount support relative and absolute values.
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.
What are Predicates?
A discount always requires you to specify the condition it should be applied in. In Composable Commerce, this is possible by creating a Predicate, which is a statement or function that checks for the specified conditions to be true or false. Both Product Discounts and Cart Discounts require the use of Predicates.
A predicate comprises of a field identifier, an operator, and a value, for example:
Field identifier | Operator | Value |
---|---|---|
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.