Manage Cart Discounts Part 2

Learn how to set up buy and get, multibuy, and shipping Cart Discounts in the Merchant Center.

Ask about this Page
Copy for LLM
View as Markdown

After completing this page, you should be able to:

  • Use buy and get, multibuy, and shipping Cart Discount predicates and conditions correctly in common discount or promotion use cases.

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.

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, use the following configuration:
FieldValue
Cart discount nameSFF $100 off running bundle
Cart discount descriptionBuy 2 running shoes and 1 pair of socks, Get $100 off across the bundle
Cart discount keysff-USD100offRunningBundle
Discount valueAbsolute: 100, distributed evenly across all eligible items
Rank (sortOrder)0.5
Apply this effect toBuy and Get
Apply onCheapest items
Multiple applicationUp to 3 times per order

Trigger criteria (Each time the cart contains)

The trigger requires specific items:

  • Categories is RunningCount is equal to 2
  • AND Categories is SocksCount is equal to 1

Target criteria (Apply Discount on)

Apply the discount to specific items matching the same pattern:

  • Categories is RunningCount is equal to 2
  • AND Categories is SocksCount 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.

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, use the following configuration:
FieldValue
Cart discount nameTT 20% off up to 3 accessories
Cart discount descriptionBuy 2 pairs of shoes, Get up to 3 shoe accessories at 20% off
Cart discount keytt-3accessories-20off
Discount valueRelative: 20%
Rank (sortOrder)0.5
Apply this effect toBuy and Get
Apply onMost expensive items
Multiple applicationUp to 4 times per order

Trigger criteria (Each time the cart contains)

The trigger requires specific items:

  • Categories is ShoesCount is equal to 2

Target criteria (Apply Discount on)

Apply the discount to specific items:

  • Categories is AccessoriesCount 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.

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, use the following configuration:
FieldValue
Cart discount nameSFF next 2 pairs of socks at $5
Cart discount descriptionBuy 3 pairs of socks, Get the next 2 pairs at $5 each
Cart discount keysff-2socks-5each
Discount valueAmount off: 5, applied individually to each eligible item
Rank (sortOrder)0.5
Apply this effect toBuy and Get
Apply onCheapest items
Multiple applicationUnlimited

Trigger criteria (Each time the cart contains)

The trigger requires specific items:

  • Categories is SocksCount is equal to 3

Target criteria (Apply Discount on)

Apply the discount to specific items:

  • Categories is SocksCount 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.

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. Composable Commerce's Multibuy line item discount achieves this type of discount.
To create this Cart Discount, use the following configuration:
FieldValue
Cart discount nameShoes for Feet Multibuy
StoreShoes for Feet
Discount valueRelative: 20%
Rank (sortOrder)0.4998

Cart Discount conditions

For the cart conditions, 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.

Cart Discount effects

For the discount effect, 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.
In this use case, the discount works with 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 and check an order to verify it was set up correctly.
Cart Discount applied to Order.

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 Composable Commerce to manage their loyalty tiers.
Two methods exist to offer free shipping in Composable Commerce: 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, use the following configuration:
FieldValue
Cart discount nameGold and Platinum Free Shipping
Discount valueRelative: 100% (effectively free shipping)
Rank (sortOrder)0.4997
Apply this effect toShipping

Cart Discount conditions

For the cart conditions, 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.

The following image shows the two conditions set up in the Merchant Center.

Use Cart Total and Customer Group in your discount condition.

Cart Discount effects

For the discount effect, the Shipping target is already selected and applies the 100% discount value to the shipping costs.
Apply free shipping to the cart discount effect.

After saving and activating the discount, check an order to verify the free shipping discount is applied.

Cart Discount applied to Order.

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.

Test your knowledge