Skip to main content

Cart-Level Promotions

Use cart-level promotions to set up pricing promotions that affect the cart subtotal. Price Rules only allows for a "percentage off" and "fixed amount off" discounts: if customers spend a certain dollar amount, they receive a percentage or fixed dollar amount off of their purchase at checkout.

note
  • Cart level promotions are evaluated in the last layer after all other promotions are evaluated.
  • Only one cart level promotion may be active at a time on a store.

Fixed-Amount-Off Cart Subtotal Discount

The fixed amount off cart subtotal discount takes a fixed amount off of a customer's purchase when the cart subtotal is greater than or equal to a certain value.

In the following example, Bold Brew would like to offer a "Get $15 off on orders of $100 or more" promotion in their store. This discount method calculates the customer's cart subtotal (the total of all line items, excluding fees and taxes); if the cart subtotal is $100 or more, the customer recieves a $15 discount on their entire cart.

This discount is calculated after all other product-specific pricing promotions are applied. For example, if an item in the cart is discounted because of a promotion, the promotion will be applied first and will affect the cart subtotal.

Cart SubtotalDiscountCart Subtotal After Discount
$100$15 off when the cart subtotal is greater than or equal to $100$85

Since the pricing promotion affects the cart subtotal, the product_selection must be PRODUCTS_ALL. In this example, use the CART_LEVEL_DISCOUNT_CONDITION condition and CART_LEVEL_DISCOUNT_RELATIVE action.

{
"ruleset": {
"external_id": "CART_DISCOUNT_Test",
"internal_name": "Example of fixed-amount-off cart subtotal discount",
"product_selection": {
"type": "PRODUCTS_ALL"
},
"rules": [
{
"type": "CART_LEVEL_DISCOUNT",
"conditions": [
{
"type": "CART_LEVEL_DISCOUNT_CONDITION",
"operator": ">=",
"value": 10000
}
],
"actions": [
{
"type": "CART_LEVEL_DISCOUNT_RELATIVE",
"name": "Get $15 off on orders $100 or more",
"value": 1500
}
]
}
]
}
}

Percentage-Off Cart Subtotal Discount

The percentage-off cart subtotal discount takes a percentage off of a customer's purchase when the cart subtotal is greater than or equal to a certain value.

In the following example, Bold Brew would like to offer a "Get 15% off on orders of $100 or more" promotion in their store. This discount method calculates the customer's cart subtotal (the total of all line items, excluding fees and taxes); if the cart subtotal is $100 or more, the customer recieves a 15% discount on their entire cart.

This discount is calculated after all other product-specific pricing promotions are applied. For example, if an item in the cart is discounted because of a promotion, the promotion will be applied first and will affect the cart subtotal.

Cart SubtotalDiscountCart Subtotal After Discount
$10015% off when the cart subtotal is greater than or equal to $100$85

Since the pricing promotion affects the cart subtotal, the product_selection must be PRODUCTS_ALL. In this example, use the CART_LEVEL_DISCOUNT_CONDITION condition and CART_LEVEL_DISCOUNT_PERCENT action.

{
"ruleset": {
"external_id": "CART_DISCOUNT_Test",
"internal_name": "Example of percentage-off cart subtotal discount",
"product_selection": {
"type": "PRODUCTS_ALL"
},
"rules": [
{
"type": "CART_LEVEL_DISCOUNT",
"conditions": [
{
"type": "CART_LEVEL_DISCOUNT_CONDITION",
"operator": ">=",
"value": 10000
}
],
"actions": [
{
"type": "CART_LEVEL_DISCOUNT_PERCENT",
"name": "Get 15% off on orders $100 or more",
"value": -15
}
]
}
]
}
}

Tiered Percentage-Off Cart Subtotal Discount

The tiered percentage-off cart subtotal discount gives customers a discount based on how much they spend. The more a customer spends, the higher discount they receive.

In the following example, Bold Brew offers a tiered promotion. In this particular tiered promotion, the customer receives:

  • 10% off when a customer spends between $100 and $200
  • 15% off when a customer spends $200 or more

As with the previous example, the customer's cart subtotal — excluding fees and taxes — is calculated before applying the discount.

Cart SubtotalDiscountCart Subtotal After Discount
$11010% off where the cart subtotal is greater than or equal to $100 and less than $200$99
$21015% off where the cart subtotal is less than or equal to $200$178.50

Since this pricing promotion affects the cart subtotal, the product_selection must be PRODUCTS_ALL. In this example, use the CART_LEVEL_DISCOUNT_CONDITION condition and CART_LEVEL_DISCOUNT_PERCENT action. The rules must be in one ruleset. In addition, the rules must be added in sequential order, with the lowest discount tier first.

{
"ruleset": {
"external_id": "CART_DISCOUNT_Test",
"internal_name": "Example of tiered percentage-off cart subtotal discount",
"product_selection": {
"type": "PRODUCTS_ALL"
},
"rules": [
{
"type": "CART_LEVEL_DISCOUNT",
"conditions": [
{
"type": "CART_LEVEL_DISCOUNT_CONDITION",
"operator": ">=",
"value": 10000
},
{
"type": "CART_LEVEL_DISCOUNT_CONDITION",
"operator": "<",
"value": 20000
}
],
"actions": [
{
"type": "CART_LEVEL_DISCOUNT_PERCENT",
"name": "Get 10% off on orders between $100 and $200",
"value": -10
}
]
},
{
"type": "CART_LEVEL_DISCOUNT",
"conditions": [
{
"type": "CART_LEVEL_DISCOUNT_CONDITION",
"operator": ">=",
"value": 20000
}
],
"actions": [
{
"type": "CART_LEVEL_DISCOUNT_PERCENT",
"name": "Get 15% off on orders $200 or more",
"value": -15
}
]
}
]
}
}

Discounted Product in the Cart

The discounted product in the cart promotion gives customers a product at a discounted price (or for free) if they spend a certain amount.

In the following example, Bold Brew offers a promotion for customers who spend $100 in their store by giving a 1lb bag of their newest dark roast coffee product for free.

Cart SubtotalDiscounted ProductDiscountCart Subtotal After Discount
$110Dark Roast Beans (1lb) - SKU: DRB-12345100% off SKU: DRB-12345 when cart subtotal is >= $100$110
note
  • The customer must add the discounted product to the cart for the product to be discounted.
  • The cart subtotal sum does not include the discounted product.

In this example, use the SPEND_X_GET_Y condition. In order to limit the free product to one per order, use the PRICE_ADJUST_ABSOLUTE_WITH_LIMIT action. A customer can add more than one 1lb bag of Dark Roast Beans to their cart, but only one bag is discounted.

{
"ruleset": {
"external_id": "SPEND_X_GET_Y_Test",
"internal_name": "Example of Spend X Get Y discounts",
"product_selection": {
"type": "PRODUCT_SEARCH",
"sku_ids": ["DRB-12345"]
},
"rules": [
{
"type": "CART_LEVEL_DISCOUNT",
"conditions": [
{
"type": "SPEND_X_GET_Y",
"operator": ">=",
"value": 10000
}
],
"actions": [
{
"type": "PRICE_ADJUST_ABSOLUTE_WITH_LIMIT",
"value": 0,
"limit": 1
}
]
}
]
}
}