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_pvfor conditional pricing - Quantity Control: Apply discount to specific quantities with
quantityparameter - Message Customization: Show customer-facing messages
- Per-Item vs Total: Control with
appliesToEachItemflag
Basic Example
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
- Basic Usage - Learn the core parameters
- Targeting Strategies - Master product selection
- Advanced Features - Dynamic pricing and complex scenarios
- Examples - Real-world configurations
