# Manage Cart Discounts Part 2 This page continues with more advanced Cart Discount types, including Buy and Get, Multibuy, and Shipping discounts. To follow use cases 5 through 7, you need to add the following to your Project setup before continuing: - A Category named `Running`. - Two Categories named `Socks` and `Accessories`. - A Category named `Shoes` (if not already created). - Some Product Variants assigned to these Categories. To learn how to configure Categories, see [Categories](/merchant-center/categories.md). ## Use case 5: Buy 2 pairs of running shoes and 1 pair of socks, get $100 off across the bundle Shoes for Feet wants to encourage customers to buy complete outfits by offering a bundle discount: $100 off (spread evenly) when a customer adds 2 pairs of running shoes and 1 pair of socks to their cart. The discount applies to the cheapest items in the bundle and can be used up to 3 times per order. To create this [Cart Discount](/merchant-center/cart-discounts.md#buy-and-get), use the following configuration: | Field | Value | | --- | --- | | **Cart discount name** | `SFF $100 off running bundle` | | **Cart discount description** | `Buy 2 running shoes and 1 pair of socks, Get $100 off across the bundle` | | **Cart discount key** | `sff-USD100offRunningBundle` | | **Discount value** | Absolute: `100`, distributed evenly across all eligible items | | **Rank (sortOrder)** | `0.5` | | **Apply this effect to** | Buy and Get | | **Apply on** | Cheapest items | | **Multiple application** | Up to 3 times per order | ### Trigger criteria (Each time the cart contains) The trigger requires specific items: - **Categories** is `Running` — **Count** is equal to `2` - AND **Categories** is `Socks` — **Count** is equal to `1` ### Target criteria (Apply Discount on) Apply the discount to specific items matching the same pattern: - **Categories** is `Running` — **Count** is equal to `2` - AND **Categories** is `Socks` — **Count** is equal to `1` ![Buy and Get Cart Discount with trigger and target criteria both requiring 2 Running items and 1 Socks item, showing how the bundle trigger and target conditions mirror each other.](https://docs.commercetools.com/learning-price-and-discount-your-productsimages/cart-discounts/use-case-5.png) After saving, [activate the Cart Discount](/merchant-center/cart-discounts.md#activate-a-cart-discount). The following examples highlight how the discount applies in different scenarios: - If a cart contains 4 pairs of socks and 1 pair of running shoes, no item is discounted because the first criterion is not met. - If a cart contains 4 pairs of running shoes, no item is discounted because the second criterion is not fulfilled. - If a cart contains 2 pairs of socks and 3 pairs of running shoes, one bundle of 1 pair of socks and 2 pairs of running shoes (the cheapest ones) is discounted by $100. - If a cart contains 5 pairs of socks and 6 pairs of running shoes, three bundles of 1 pair of socks and 2 pairs of running shoes are discounted. Every time the target pattern is matched, the cheapest bundle is selected with each bundle discounted by $100. - If a cart contains 5 pairs of socks and 12 pairs of running shoes, three bundles of 1 pair of socks and 2 pairs of running shoes are discounted because this discount can be applied only for a maximum of 3 times. ## Use case 6: Buy 2 pairs of shoes, get up to 3 shoe accessories at 20% off Tread Trends wants to encourage customers to accessorize their shoe purchases. The goal is to offer 20% off up to 3 shoe accessories when a customer buys 2 pairs of shoes. The discount applies to the most expensive accessories and can be used up to 4 times per order. To create this [Cart Discount](/merchant-center/cart-discounts.md#buy-and-get), use the following configuration: | Field | Value | | --- | --- | | **Cart discount name** | `TT 20% off up to 3 accessories` | | **Cart discount description** | `Buy 2 pairs of shoes, Get up to 3 shoe accessories at 20% off` | | **Cart discount key** | `tt-3accessories-20off` | | **Discount value** | Relative: `20`% | | **Rank (sortOrder)** | `0.5` | | **Apply this effect to** | Buy and Get | | **Apply on** | Most expensive items | | **Multiple application** | Up to 4 times per order | ### Trigger criteria (Each time the cart contains) The trigger requires specific items: - **Categories** is `Shoes` — **Count** is equal to `2` ### Target criteria (Apply Discount on) Apply the discount to specific items: - **Categories** is `Accessories` — **Count** is up to `3` ![Target criteria panel with Categories set to Accessories, count set to up to 3, and Apply on set to Most expensive items, illustrating how the "up to" count and item selection mode work together.](https://docs.commercetools.com/learning-price-and-discount-your-productsimages/cart-discounts/use-case-6.png) After saving, [activate the Cart Discount](/merchant-center/cart-discounts.md#activate-a-cart-discount). The following examples highlight how the discount applies in different scenarios: - If a cart contains 2 pairs of shoes and 8 accessories, 3 accessories (the most expensive ones) are discounted because the trigger is matched only once. - If a cart contains 4 pairs of shoes and 3 accessories, all 3 accessories are discounted because although the trigger is matched twice, the target is met only once. - If a cart contains 4 pairs of shoes and 5 accessories, all 5 accessories are discounted from two discount applications because the trigger is matched twice and the target is also met twice. - If a cart contains 6 pairs of shoes and 6 accessories, all 6 accessories are discounted from two discount applications because the trigger is matched twice and the target is also met twice. - If a cart contains 20 pairs of shoes and 20 accessories, 12 accessories (the most expensive ones) are discounted because this discount can be applied for a maximum of 4 times. ## Use case 7: Buy 3 pairs of socks, get the next 2 pairs at $5 each Shoes for Feet is running a bulk-buy promotion on socks. The goal is to offer up to 2 pairs of socks at $5 each when 3 other pairs of socks are already in the cart. The discount applies to the cheapest items. To create this [Cart Discount](/merchant-center/cart-discounts.md#buy-and-get), use the following configuration: | Field | Value | | --- | --- | | **Cart discount name** | `SFF next 2 pairs of socks at $5` | | **Cart discount description** | `Buy 3 pairs of socks, Get the next 2 pairs at $5 each` | | **Cart discount key** | `sff-2socks-5each` | | **Discount value** | Amount off: `5`, applied individually to each eligible item | | **Rank (sortOrder)** | `0.5` | | **Apply this effect to** | Buy and Get | | **Apply on** | Cheapest items | | **Multiple application** | Unlimited | ### Trigger criteria (Each time the cart contains) The trigger requires specific items: - **Categories** is `Socks` — **Count** is equal to `3` ### Target criteria (Apply Discount on) Apply the discount to specific items: - **Categories** is `Socks` — **Count** is up to `2` ![Buy and Get Cart Discount showing Socks in both the trigger criteria with a count of 3 and the target criteria with a count of up to 2, demonstrating how the same Category can serve as both the trigger and the discount target.](https://docs.commercetools.com/learning-price-and-discount-your-productsimages/cart-discounts/use-case-7.png) After saving, [activate the Cart Discount](/merchant-center/cart-discounts.md#activate-a-cart-discount). The following examples highlight how the discount applies in different scenarios: - If a cart contains 3 pairs of socks, no pair of socks is discounted because the trigger is not matched. - If a cart contains 4 pairs of socks, 1 pair of socks is discounted from one discount application because the trigger is matched once. - If a cart contains 5 pairs of socks, 2 pairs of socks are discounted from one discount application because the trigger is matched once. - If a cart contains 8 pairs of socks, 2 pairs of socks are discounted from two discount applications. Although the trigger is matched twice, both discounted pairs are included as part of the first trigger. The remaining 3 pairs match the second trigger, but there are no other pairs of socks available in the cart to be discounted. - If a cart contains 9 pairs of socks, 3 pairs of socks are discounted from two discount applications because the trigger is matched twice. 2 discounted pairs are included as part of the first trigger and 1 discounted pair is included as part of the second trigger. ## Use case 8: Multibuy discounts Shoes for Feet wants to set up a discount that moves a higher volume of their Sale category to clear out some space in their warehouse. They want to offer customers a further 20% discount on shoes in the Sale category when they buy 3 or more shoes. commercetools' Multibuy line item discount achieves this type of discount. To create this [Cart Discount](/merchant-center/cart-discounts.md#multibuy), use the following configuration: | Field | Value | | --- | --- | | **Cart discount name** | `Shoes for Feet Multibuy` | | **Store** | `Shoes for Feet` | | **Discount value** | Relative: `20`% | | **Rank (sortOrder)** | `0.4998` | ### Cart Discount conditions For the [cart conditions](/merchant-center/cart-discounts.md#multibuy), apply the discount to specific carts where the following is true: - **Categories** includes at least one of the following: `Sale` ![Set Category to includes at least one of the following: Sale and set to True.](https://docs.commercetools.com/learning-price-and-discount-your-productsimages/cart-discounts/use-case-8-cart-discount-condition.png) ### Cart Discount effects For the [discount effect](/merchant-center/cart-discounts.md#multibuy), configure the Multibuy target with the following settings: - **Eligibility criteria**: **Categories** includes at least one of the following: `Sale` - When customers buy `3` line items, they get `1` (the cheapest item of them) with `20`% off. - Limit this discount to `3` times. You can decide how many times this discount should be applied. Either set a cap or allow it to be used unlimited. ![Set Cart discount effect to multibuy. Customers get 20% off the cheapest item when they buy 3.](https://docs.commercetools.com/learning-price-and-discount-your-productsimages/cart-discounts/use-case-8-cart-discount-effect.png) In this use case, the discount works with [Line Items](/api/carts-orders-overview.md#line-items) in the Cart. The discount applies to customers who purchase multiple quantities of the same Line Item. If you add two items of the same Product Variant but there is some kind of difference between the two Product Variants, then those two Product Variants are added to the Cart as two separate Line Items. For example, a T-shirt offered by a company may allow for custom embroidery, like a staff member's name. Despite being the same Product Variant, if there is a change to any aspect of the Variant, the Cart adds them as separate Line Items and this affects the behavior of the Multibuy discount. After saving, [activate the Cart Discount](/merchant-center/cart-discounts.md#activate-a-cart-discount) and check an order to verify it was set up correctly. ![Cart Discount applied to Order.](https://docs.commercetools.com/learning-price-and-discount-your-productsimages/cart-discounts/use-case-8-order.png) Well done. ## Use case 9: Customer Group specific promotions This use case covers how to offer free shipping through Cart Discounts. Both Tread Trends and Shoes for Feet have decided to offer free shipping to their Gold and Platinum customers when they spend over $50 in a Cart. They use Customer Groups in commercetools to manage their loyalty tiers. Two methods exist to offer [free shipping](/learning-model-your-product-catalog/shipping-methods/manage-shipping-methods-and-zones.md#free-shipping-thresholds) in commercetools: using Free above in Shipping Methods, or Cart Discounts. Using only one option at a time in your Project is strongly recommended. Using both **Free above** and **Cart Discounts** simultaneously can make it challenging to understand which Discounts should be applied to an individual Cart. To follow this use case, which focuses on setting up free shipping using Cart Discounts, you need to add to your Project setup the following: - Two Customer Groups named `Platinum` and `Gold`. To create this [Cart Discount](/merchant-center/cart-discounts.md#shipping), use the following configuration: | Field | Value | | --- | --- | | **Cart discount name** | `Gold and Platinum Free Shipping` | | **Discount value** | Relative: `100`% (effectively free shipping) | | **Rank (sortOrder)** | `0.4997` | | **Apply this effect to** | Shipping | ### Cart Discount conditions For the [cart conditions](/merchant-center/cart-discounts.md#shipping), apply the discount to specific carts where all conditions are true: - **Cart Total** is equal to or greater than `50.00 USD` - AND **Customer Group Key** is one of `platinum`, `gold` The Customer Group key can be copied from the Customer Group list. ![Copy the Group key from the Customer group list.](https://docs.commercetools.com/learning-price-and-discount-your-productsimages/cart-discounts/use-case-9-customer-groups.png) The following image shows the two conditions set up in the Merchant Center. ![Use Cart Total and Customer Group in your discount condition.](https://docs.commercetools.com/learning-price-and-discount-your-productsimages/cart-discounts/use-case-9-cart-discount-condition.png) ### Cart Discount effects For the [discount effect](/merchant-center/cart-discounts.md#shipping), the Shipping target is already selected and applies the 100% discount value to the shipping costs. ![Apply free shipping to the cart discount effect.](https://docs.commercetools.com/learning-price-and-discount-your-productsimages/cart-discounts/use-case-9-cart-discount-effect.png) After saving and activating the discount, check an order to verify the free shipping discount is applied. ![Cart Discount applied to Order.](https://docs.commercetools.com/learning-price-and-discount-your-productsimages/cart-discounts/use-case-9-order.png) A free shipping Cart Discount for Gold and Platinum customers is now set up. ##### Best practice: how to preview a Cart Discount You might want to preview a Cart Discount like the one above and verify it functions properly before making it available to all customers. Activating this discount would mean that any customers belonging to those Customer Groups would start to be eligible for the discount. One solution involves using Customer Groups. You can create a Customer Group that denotes whether the Customer account is staff. Then, in your Cart Discount, add a Cart Discount condition to check if the logged-in Customer matches the staff Customer Group condition. This temporarily and safely enables the Cart condition while ensuring that normal customers do not see the discount. Provided that their Customer accounts have the correct Customer Group associated with them, your stakeholders can preview that the Cart Discount is working as expected. To make this discount ready for actual use, you need to remove the staff Customer Group condition before the campaign launches and replace it with the correct Customer Group. ## Related pages - [Area overview page with navigation](/learning-price-and-discount-your-products.md) - [Previous page: Manage Cart Discounts Part 1](/learning-price-and-discount-your-products/cart-discounts/manage-cart-discounts-part-1.md) - [Next page: Learning check](/learning-price-and-discount-your-products/cart-discounts/learning-check.md) - [Search documentation and API specs](/search.md)