Skip to main content

Product Discounts - Overview

Apply percentage or fixed amount discounts to specific products in the cart.

What are Product Discounts?

Product discounts modify the price of individual line items in a cart. They can target specific products, variants, collections, or use complex selectors to choose which items receive the discount.

Use Cases

  • Percentage discounts (15% off)
  • Fixed amount discounts ($10 off per item)
  • BOGO (Buy One Get One) offers
  • Volume/quantity-based pricing
  • Customer segment pricing
  • Collection or tag-based sales
  • Vendor-specific discounts
  • Dynamic pricing based on metafields
  • Tiered pricing structures

Key Features

Multiple Targeting Strategies

  • Direct: Target by variant IDs or product handles
  • Attribute-Based: Target by vendor, title, tags
  • Selector-Based: Use JMESPath/filters to target by any attribute
  • Collection-Based: Target all items in a collection

Discount Types

  • Percentage: discount_type: "percentage", value: 15 (for 15%)
  • Fixed Amount: discount_type: "fixed_amount", value: 10 (for $10 off)

Advanced Capabilities

  • Dynamic Values: Use value_case, value_buckets, selector_pv for conditional pricing
  • Quantity Control: Apply discount to specific quantities with quantity parameter
  • Message Customization: Show customer-facing messages
  • Per-Item vs Total: Control with appliesToEachItem flag

Basic Example

{
  "rules": [
    {
      "conditions": {
        "customer.tags": { "includes": "VIP" }
      },
      "events": [
        {
          "discount": "product_discount",
          "params": {
            "discount_type": "percentage",
            "value": 15,
            "message": "VIP Discount - 15% Off"
          }
        }
      ]
    }
  ]
}

When to Use Product Discounts

Use product discounts when you need to:
  • Apply discounts to specific items (not the entire cart)
  • Show per-item discount amounts
  • Target products by complex criteria
  • Implement BOGO or quantity break pricing
  • Apply different discounts to different products in the same cart

Limitations

  • Cannot discount below $0
  • Some discount combinations may conflict (use discountApplicationStrategy)
  • Shopify may limit stacking with manual discount codes (depends on store settings)
  • Performance considerations for very large carts with complex selectors

Next Steps