Skip to content
Operator handbook
Tier Discounts
Commercetools
Commercetools

Tier Discounts

This article explains Tier discounts in CommerceTools, and how to set them up.

Contents

Tier discounts in CommerceTools allow the configuration of an increasing discount dependent on the amount of a product that is selected. This is reflected not just in the cart but also in the Buybox of the PDP on the storefront.

Tier discounts use a category that is assigned to products, which has multiple discounts that use the category as a condition. The products assigned to a Tier discount category then fall within the conditions of the discounts targeting the category and this results in the discount being applied to it.

Tier Discounts

Tier Discounts

This category is not intended to be displayed on the storefront; it exists purely to be targeted by the discount’s condition. This allows different types of tier discounts to be able to exist alongside each other for different types of products.

Example

Let’s look at a pre-existing Tier Discounts set up used in Vitamin Express. There exists the Category, aptly named, Tier discounts.

Example

Example

Example

Example

This example is compromised of the following Cart discounts.

And here is an example of the ‘Buy 2 or 3, get 5% off’ discount’s conditions. First of all, take note that the Cart discount targets an Item, that it has the option ‘Apply to specific Items’ enabled, and that the ‘Where’ logic is set to ‘all of these are true’.

Example

The two Quantity conditions then determine the unit amount of the tier: this targets 2 or 3 units.

Example

Thereafter, the ‘Tier discounts’ category is targeted as a condition, so only products that belong to the category will meet the discount’s conditions.

Example

Following this is the declaration that the ‘Price - Discount ID’ predicate cannot have a value; this means that another discount cannot already be targeting the product. If this is so the tier discount will be overruled. Finally, the ‘Custom field’ ‘Personal offer key’ also cannot have a value.

Example

Creation

The value of the tier discounts themselves can vary but the Tier discounts all have the same basic configuration in CommerceTools.

Category

First of all, the category itself must be created, it must always be a main category. As this category will not be visible on the website, the name conventions are purely descriptive. The Category Name and Category description should be informative and differentiate the Tier Discount category from other Tier Discount categories that may exist.

Creation

An Important field that tells the backend that this category is unlike one displayed on the front end is the ‘External ID’ field, which much contain the value “tier-discount”.

Creation

The Category order field is a required field and although not specifically relevant as the category is not visible on the front end. It should be the lowest in the hierarchy so that it will never be shown before another visible category.

Creation

The Custom fields section must be set to ‘Category custom type’ with thereunder the selection set to ‘Purpose’.

Creation

Discounts

Then create the discounts for however many tiers you would like, typically there are 3 tiers, but less can be configured. It is important to note that the discounts used in Tier Discounts are Cart

discounts. Avoid using a discount template from CommerceTools visible on the create discount page and instead just create an empty cart discount using the ‘+ Add discount’ button. Or using the ‘+ Add cart discount’ button from the cart discount list page.

Discounts

Discounts

First of all the ‘Cart discount type’ should be toggled to Numeric.

Discounts

Thereunder, within the ‘General information’ section the ‘Cart discount name’ and ‘Cart discount description’ must clearly indicate the product unit

Discounts

amount that the discount is targeting and the numerical discount percentage of the discount.

Discounts

The ‘Cart discount key’ field should contain a unique identifier which links the discount to the specific tier discount category. Make sure thus that the naming convention chosen can be differentiated from other Tier discounts. Especially if it is a temporary campaign or product specific tier discount.

The ‘Store’ section allows you to specify specifically specific (zucht) which channels the discount will be valid in. This theoretically allows different discounts specific to a sales channel to be configured within the same tier discount category.

Discounts

It is important to note, that sales channel not included will thus not display or use the discount for the product on the storefront. But multiple discounts applied to a storefront will both be applied (if it’s conditions are met). The Rank (sortOrder) should be very high in the hierarchy, Tier Discounts should be applied before other discounts and typically always exist, in that, they are not typically connected to a campaign or event.

The ‘Staking options’ should not be toggled, it should always be possible for other cart discounts to be applied in combination with a Tier Discount. The ‘Discount code’ should always be toggled to ‘Not required’.

Discounts

Typically the valid from / until fields are not used for a tier discount, but with them you can activate or deactivate it.

Discounts

Then in the Discount configurations section the conditions of the tier discount are specified.

Discounts

First of all, the Cart discount must target an Item, ‘Apply this effect to’ must have Item selected.

Discounts

that it The ‘Eligibility criteria’ must be toggle to the option ‘Apply to specific Items’, and that the ‘Where’ logic is set to ‘all of these are true’.

The Quantity conditions that determine the unit amount of the tier discount is configured in this condition. Here is an example from a Tier discount configuration that that has three tiers, and so three cart discounts

Discounts

with the following Quantity conditions configured

The lowest tier specifies the tier to be 2 or 3 units

Discounts

The second tier specifies the tier to be 4 or 5 units

Discounts

And the third tier defines any unit amount greater than 6

Discounts

Thereafter, the ‘Tier discounts’ category created earlier is targeted as a condition, so only products that belong to the category will meet the discount’s conditions.

Discounts

Following this is the declaration that the ‘Price - Discount ID’ predicate cannot have a value; this means that another discount cannot already be targeting the product. If this is so the tier discount will be overruled.

Finally, the ‘Custom field’ ‘Personal offer key’ also cannot have a value.

Discounts

The ‘Discount type’ for a tier discount must always be toggled to ‘Percentage off’, with the associated numerical percentage value entered in

Discounts

the ‘Discount value’

Discounts

There is flexibility here, but typically the tiers are 5%, 10% and 15%. In the ‘Under these cart conditions’ section, the ‘Eligibility criteria’ for a tier

discount must always be toggled to ‘Apply to all carts’

Discounts

When the Discount is finished make sure it has been activated, this toggle is at the top right corner of the discount configuration page.

Discounts

Next to it is the Copy icon, you may use this to quickly create the different tiers as their configuration is very similar, pay close attention to the name, description and key fields to differentiate the various tiers and tier discount groupings.

Products

Once the Category and the Tier discounts have been configure the only thing left to do is to add the product to the category. You may do this individually per product, by selecting each product from the product list in CommerceTools.

It is also possible to add multiple products to a category simultaneously. On the product list page you can use a combination of filters to refine the displayed products, select them, and via the actions drop-down menu click

‘Bulk edit categories’

Products

Products

Products

This opens a secondary page where you can add, as well as remove product from a tier discount category.

Products

This is especially useful when you are transferring a subset of products from one tier discount category to another. You can also review the products in tier discount category by selecting it form the category list page and navigating to the Product tab

Products

Discount Rank (sort Order)

In CommerceTools, to ensure that discounts function correctly with each other and to determine the precedence of one discount over another, the value of the field ‘Rank (sortOrder)’ is used.

The value of this field determines the order, sorting and stacking of various discounts.

Range 1.0 - 0.900

This range is for discounts that should take precedence over all others, typically those that you do not want to stack. Therefore, make sure to check the 'do not stack' option. This ensures that the discount applied will be the only one. For instance, a code with a large relative discount will fall into this category. Additionally, tier discounts will not be applied concurrently with this discount.

Discount Rank (sort Order)

Range 0.899 - 0.8

This range is reserved for tier discounts. Tier discounts need to be in a relatively high sort order because if they are placed under another discount, the relative discount will be incorrect. For example, if a 5% discount is applied first, a subsequent 10% tier discount will be calculated on the already reduced price, leading to an incorrect 10% discount on the original price.

Range 0.799 – 0.0

This range is designated for discounts that can be stacked under tier discounts. For instance, a 5% cart volume discount that is applied when the cart reaches a certain value. The rationale for placing this discount under tier discounts is to prevent it from affecting the price of the tier discounts, and to ensure that tier discounts are calculated before applying volume discounts. These discounts can be stacked regularly.

Tier Pricing

An important thing to be aware of is that you should not set up both tier discounts and tier pricing on the same product, thus you cannot activate tier discounts on older products that still use tier pricing.