Introduction & Overview

Volume Discount is a powerful discount type that rewards customers with tiered discounts based on the quantity they purchase or the amount they spend. It automatically applies better discounts as customers add more items to their cart, encouraging larger purchases.

Key Features

  • Tiered Discount System - Set multiple discount levels (e.g., buy 3 get 10% off, buy 5 get 20% off)
  • Flexible Conditions - Use quantity or subtotal requirements
  • Product Targeting - Apply to all products, specific products, or collections
  • Discount Types - Percentage off or fixed amount off
  • Grouping Options - Group by product, variant, or mix and match
  • Advanced Eligibility - Target specific customers, segments, or use tags

When to Use Volume Discount

Use Volume Discount when you need to:

  • Encourage bulk purchases (e.g., "Buy more, save more")
  • Clear inventory with quantity-based promotions
  • Reward customers for larger orders
  • Create tiered pricing structures (e.g., wholesale pricing)
  • Drive higher average order values

How it works

[Set Condition Type] → [Set Value Type] → [Choose Products] → [Configure Tiers] → [Set Eligibility]

Product Eligibility

What is Product Eligibility?

Product Eligibility determines which products in the customer's cart qualify for the volume discount. You can apply discounts to all products, specific products, or entire collections.

Product Eligibility Settings

Condition Type

Minimum Quantity:

  • What it is: Counts individual items in the cart
  • Example: "Buy 5 items"
  • Best for: Quantity-based promotions

Minimum Subtotal:

  • What it is: Calculates total dollar amount in the cart
  • Example: "Spend $100"
  • Best for: Value-based promotions
Group By

Each Product:

  • What it does: Calculate discounts per product separately
  • Example: 3 of Product A + 2 of Product B = Each product qualifies separately
  • Best for: Product-specific tier requirements

Each Variant:

  • What it does: Calculate discounts per variant separately
  • Example: Size S, M, L are treated as separate groups
  • Best for: Variant-specific tier requirements

Mix and Match:

  • What it does: Combine different products/variants together
  • Example: 3 of Product A + 2 of Product B = 5 total items for tier calculation
  • Best for: Store-wide quantity promotions

Tier Configuration

What are Tiers?

Tiers are discount levels that apply when customers reach specific quantity or spending thresholds. Each tier specifies the minimum requirement (quantity or amount) and the discount value (percentage or fixed amount).

How Tiers Work

  1. Customer adds items to cart
  2. System calculates total quantity or subtotal
  3. Finds the highest tier the customer qualifies for
  4. Applies that tier's discount to eligible items
  5. Only ONE tier applies per transaction (the highest one)

Tier Examples

Example 1: Quantity-Based Percentage Discount

  • Tier 1: Buy 3+ items → 10% off
  • Tier 2: Buy 5+ items → 15% off
  • Tier 3: Buy 10+ items → 25% off

Example 2: Subtotal-Based Fixed Amount Discount

  • Tier 1: Spend $50+ → $5 off each item
  • Tier 2: Spend $100+ → $10 off each item
  • Tier 3: Spend $200+ → $15 off each item

Best Practices for Tiers

  • Clear Tier Progression - Each tier should offer a better discount
  • Achievable Thresholds - Set tiers that customers can reasonably reach
  • Test Tier Logic - Verify calculations work correctly
  • Descriptive Titles - Use title overrides for clarity
  • Start with 2-3 Tiers - Add more if needed, but don't overwhelm

Discount Value - How Much

Discount Value Types

Percentage Off:

  • What it is: % of item price
  • Example: 10%, 15%, 25%
  • Best for: Flexible, scalable discounts
  • Calculation: Item price × percentage = discount

Fixed Amount Off:

  • What it is: Dollar amount per item
  • Example: $5, $10, $20
  • Best for: Specific dollar discounts
  • Calculation: Applied to each qualifying item

Best Practices

  • ✓ Use Collections for efficiency
  • ✓ Match Condition Type to your goal (quantity vs. amount)
  • ✓ Clear tier progression (increasing discounts)
  • ✓ Achievable thresholds
  • ✓ Test tier calculations
  • ✓ Use Percentage for flexibility

Troubleshooting

Discount Not Applying

Check:

  1. Tier thresholds are met
  2. Product eligibility matches cart contents
  3. Customer is eligible
  4. Discount is active (date range)
  5. Usage limit not reached
  6. Group By setting is correct

Tiers Not Working

Check:

  1. Tier thresholds are in ascending order
  2. Condition Type matches tier settings
  3. Value Type matches tier settings
  4. Group By setting is appropriate
  5. Products qualify for discount

Introduction & Overview

Amount Off Discount is a straightforward discount type that provides a fixed percentage or dollar amount off products when customers meet a single purchase requirement. It's simpler than Volume Discount (which uses tiers) but more flexible than basic discounts, making it perfect for single-threshold promotions.

Key Features

  • Single Purchase Requirement - Set one condition and discount value
  • Flexible Discount Types - Percentage off or fixed amount off
  • Product Targeting - Apply to all products, specific products, or collections
  • Condition Options - Use quantity or subtotal requirements
  • Grouping Options - Group by product, variant, or mix and match
  • Advanced Eligibility - Target specific customers, segments, or use tags

When to Use Amount Off Discount

Use Amount Off Discount when you need to:

  • Create simple "Buy X Get Y% Off" promotions
  • Offer fixed dollar discounts (e.g., "$10 off when you buy 3")
  • Set single-threshold promotions (unlike Volume Discount's tiers)
  • Apply discounts to specific product categories
  • Create straightforward promotional campaigns

How it works

[Set Condition Type] → [Set Value Type] → [Choose Products] → [Set Purchase Requirement] → [Set Eligibility]

Product Eligibility

What is Product Eligibility?

Product Eligibility determines which products in the customer's cart qualify for the amount off discount. You can apply discounts to all products, specific products, or entire collections.

Product Eligibility Settings

Condition Type

Minimum Quantity:

  • What it is: Counts individual items in the cart
  • Example: "Buy 3 items"
  • Best for: Quantity-based promotions

Minimum Subtotal:

  • What it is: Calculates total dollar amount in the cart
  • Example: "Spend $50"
  • Best for: Value-based promotions
Value Type

Percentage Off:

  • What it is: Discount percentage applied to each item
  • Example: "10% off each item"
  • Best for: Flexible, scalable discounts

Fixed Amount Off:

  • What it is: Fixed dollar amount off each item
  • Example: "$5 off each item"
  • Best for: Specific dollar discounts
Applies To

All Products:

  • What it is: Apply discount to everything in your store
  • Best for: Store-wide promotions

Specific Products:

  • What it is: Select individual products
  • Best for: Targeted product promotions
  • Note: Can select specific variants per product

Specific Collections:

  • What it is: Apply to all products in selected collections
  • Best for: Category-based promotions
  • Example: "New Arrivals" collection

Purchase Requirement

What is Purchase Requirement?

Purchase Requirement is the single condition customers must meet to qualify for the discount. Unlike Volume Discount (which has multiple tiers), Amount Off has one requirement and one discount value.

Purchase Requirement Examples

Example 1: Buy 3 Get 15% Off

  • Condition Type: Minimum Quantity
  • Minimum Quantity: 3
  • Value Type: Percentage
  • Percentage Off: 15%
  • Result: Buy 3+ items, get 15% off each item

Example 2: Spend $50 Get $10 Off

  • Condition Type: Minimum Subtotal
  • Minimum Subtotal: $50
  • Value Type: Fixed Amount
  • Fixed Amount Off: $10
  • Result: Spend $50+, get $10 off each item

Discount Value - How Much

Discount Value Types

Percentage Off:

  • What it is: % of item price
  • Example: 10%, 15%, 25%
  • Best for: Flexible, scalable discounts
  • Calculation: Item price × percentage = discount
  • Applied to: Each qualifying item

Fixed Amount Off:

  • What it is: Dollar amount per item
  • Example: $5, $10, $20
  • Best for: Specific dollar discounts
  • Calculation: Applied to each qualifying item
  • Note: If "Applies to Each" is enabled, multiplies by quantity

Eligibility & Settings

Amount Off Discounts support the same eligibility and settings as other discount types, including:

  • Code Discount or Automatic Discount
  • Customer Eligibility (All Customers, Specific Customers, Segments, Groups)
  • Usage Limits (Total Usage, Once Per Customer, Recurring Cycle Limit)
  • Combination Settings (combines with Order, Product, and Shipping discounts)

Best Practices

  • ✓ Use Collections for efficiency
  • ✓ Match Condition Type to your goal (quantity vs. amount)
  • ✓ Choose appropriate Group By setting
  • ✓ Set achievable requirements (not too high)
  • ✓ Use Percentage for flexibility
  • ✓ Test with real cart scenarios

Troubleshooting

Discount Not Applying

Check:

  1. Purchase requirement is met (quantity or amount)
  2. Product eligibility matches cart contents
  3. Customer is eligible
  4. Discount is active (date range)
  5. Usage limit not reached
  6. Group By setting is correct

Introduction & Overview

Buy X Get Y (BXGY) is a classic promotional discount type that rewards customers with free or discounted items when they purchase a specific quantity or amount. It's perfect for "Buy 2 Get 1 Free" style promotions and encourages customers to add more items to their cart.

Key Features

  • Classic BXGY Promotions - Set up "Buy X, Get Y" deals easily
  • Flexible Conditions - Use quantity or amount requirements for "Buy" portion
  • Product Targeting - Select which products customers buy and which they get
  • Discount Value Options - Percentage off, fixed amount off, or completely free
  • Purchase Type Control - Apply to one-time purchases, subscriptions, or both
  • Advanced Eligibility - Target specific customers, segments, or use tags

When to Use Buy X Get Y Discount

Use Buy X Get Y Discount when you need to:

  • Create "Buy 2 Get 1 Free" promotions
  • Encourage customers to purchase specific product combinations
  • Clear inventory with bundle deals
  • Drive sales of complementary products
  • Reward bulk purchases with free items

How it works

[Set Customer Buys] → [Set Customer Gets] → [Set Discount Value] → [Set Eligibility]

Customer Buys Section

What is Customer Buys?

Customer Buys defines what customers must purchase to qualify for the discount. This is the requirement portion of "Buy X, Get Y".

Customer Buys Settings

Condition Type

Quantity:

  • What it is: Customer must buy a specific number of items
  • Example: "Buy 2 items"
  • Best for: Quantity-based promotions

Amount:

  • What it is: Customer must spend a specific dollar amount
  • Example: "Spend $50"
  • Best for: Value-based promotions
Item Scope

Products:

  • What it is: Select specific products customers must buy
  • Best for: Targeting exact products
  • Note: Can select specific variants per product

Collections:

  • What it is: Select collections customers must buy from
  • Best for: Category-based promotions
  • Example: "New Arrivals" collection

Customer Gets Section

What is Customer Gets?

Customer Gets defines what customers receive as the reward. This is the "Y" portion of "Buy X, Get Y".

Customer Gets Settings

Quantity
  • What it is: Number of items customer gets (free or discounted)
  • Example: 1, 2, 3
  • Best for: "Buy 2 Get 1 Free" = Quantity: 1

Note: This is how many items they receive, not a requirement

Item Scope

Products:

  • What it is: Select specific products customer gets
  • Best for: Targeting exact products
  • Note: Can be same or different from "Buy" products

Collections:

  • What it is: Select collections customer gets from
  • Best for: Category-based promotions
  • Example: Same collection as "Buy" or different

Discount Value - How Much

Discount Value Types

Percentage:

  • What it is: % off the items customer gets
  • Example: 50% off, 75% off
  • Best for: Partial discounts

Fixed Amount:

  • What it is: Fixed dollar amount off items customer gets
  • Example: $10 off, $20 off
  • Best for: Specific dollar discounts

Free:

  • What it is: 100% off (completely free)
  • Example: "Get 1 Free"
  • Best for: Classic "Buy X Get Y Free" promotions

Discount Value Examples

Example 1: Buy 2 Get 1 Free

  • Customer Buys: 2 items from New Arrivals
  • Customer Gets: 1 item from New Arrivals
  • Discount Value: Free (100% off)
  • Result: Third item is free

Example 2: Buy 3 Get 1 at 50% Off

  • Customer Buys: 3 items from Black Series
  • Customer Gets: 1 item from Black Series
  • Discount Value: 50% off
  • Result: Fourth item is 50% off

Best Practices

  • ✓ Set achievable requirements (not too high)
  • ✓ Select appropriate quantity (usually 1 for "Get 1 Free")
  • ✓ Consider product prices (lower for free items)
  • ✓ Can be same or different from "Buy" products
  • ✓ Use "Free" for classic BXGY promotions
  • ✓ Test with real cart scenarios

Troubleshooting

Discount Not Applying

Check:

  1. Customer Buys requirement is met
  2. Customer Gets products are in cart
  3. Customer is eligible
  4. Discount is active (date range)
  5. Usage limit not reached
  6. Purchase type matches (one-time vs. subscription)

Introduction & Overview

Custom Discount is the most powerful and flexible discount type in Discount Composer. It allows you to create complex, rule-based discounts that can apply to products, orders, and shipping simultaneously.

Key Features

  • Multi-Proposal System - Create multiple discount rules in one discount
  • Three Discount Types - Product, Order, and Shipping discounts
  • Shared Cart Groups - Define product groups once, use across all proposals
  • Flexible Conditions - Set when discounts apply
  • Repeatable Discounts - Apply discounts multiple times
  • Smart Targeting - Choose which items get the discount
  • Multiple Strategies - Apply all, maximum, or first matching

When to Use Custom Discount

Use Custom Discount when you need to:

  • Combine multiple discount types (e.g., product discount + free shipping)
  • Create tiered discounts based on quantity or amount (However, we strongly suggest our "Volume discount" for this)
  • Target specific products with complex rules
  • Apply discounts repeatedly (e.g., "Buy 2, get 1 free" - repeats for every 2 items)
  • Mix and match different product groups with different discount values

How it works

[Define CART GROUPS] → [Create PROPOSALS] → [Set CONDITIONS] → [Configure REPEATS] → [Choose TARGETS] → [Set VALUE]

Cart Groups - Shared Resource

What are Cart Groups?

Cart Groups are reusable "buckets" of products that you define once and reference across all your discount proposals. They act as filters to identify which products in the cart qualify for your discounts.

Why Shared Cart Groups?

Instead of defining product filters separately for each proposal, you create cart groups once and reuse them. This makes your discount configuration:

  • ✓ Easier to manage - Update filters in one place
  • ✓ More consistent - Same product groups across proposals
  • ✓ Faster to configure - No repetitive setup

Cart Group Settings

Available Filters
Filter Description Best Usage
Products Include specific individual products Targeting exact products for a promotion
Collections Include all products from specific collections Targeting entire product categories (most common)
Line Quantity Filter cart lines based on quantity Bulk purchase discounts
Product Type Filter by product type set in the admin Category-based discounts
Product Vendor Filter by product vendor/brand set in the admin Brand-specific promotions
Product Tag Filter by product tags Flexible product grouping

Discount Proposals

What are Discount Proposals?

Discount Proposals are the individual discount rules within your Custom Discount. Each proposal has its own type, cart groups, conditions, targets, and discount value.

Three Proposal Types

Type Applies to Has targets Example
PRODUCT Specific cart line items ✓ Yes 15% off the cheapest item
ORDER Entire order subtotal ✗ No 25% off your entire order
SHIPPING Delivery options ✗ No 10% off Express shipping

Proposal Application Strategies

ALL (Default):

  • What it does: Apply ALL matching proposals
  • Use when: You want multiple discounts to stack
  • Example: Product discount + Order discount + Shipping discount all apply

MAXIMUM:

  • What it does: Apply ONLY the proposal with the highest discount value
  • Use when: You want to give the best deal automatically
  • Example: Compare 15% product discount vs 25% order discount → Apply 25%

FIRST MATCHING:

  • What it does: Apply ONLY the first proposal that matches (by priority)
  • Use when: You want exclusive discount tiers
  • Example: VIP customers get Proposal 1, others get Proposal 2

Conditions - When to Apply

What are Conditions?

Conditions determine WHEN a discount proposal should apply. They evaluate the cart contents and only apply the discount if ALL conditions are met.

Condition Fields

Field Measures Use For
Quantity Total number of items "Buy X items" promotions
Total Amount Total price of items "Spend $X" promotions
Unique Products Number of different variants "Mix and match" promotions
Unique Variants Number of different products Size/color variety promotions

Repeats - How Many Times

What are Repeats?

Repeats allow a discount to apply MULTIPLE TIMES based on cart contents. This is perfect for "Buy X, Get Y" style promotions that scale with quantity.

Repeat Calculation Formula

Repeats = Floor(Measured Value ÷ Repeat Value)

Examples:

  • Quantity = 7, Repeat Value = 2 → 7 ÷ 2 = 3.5 → Floor = 3 repeats
  • Amount = $150, Repeat Value = $50 → 150 ÷ 50 = 3 → 3 repeats

Example: Buy 2, Get 1 Free

  • Condition: Quantity ≥ 2 (Black Series)
  • Repeat: Every 2 items (Black Series)
  • Target: Cheapest item (Quantity: 1)
  • Discount Value: 100% OFF (Free)

How it works:

  • 2 items → 1 repeat → 1 free item
  • 4 items → 2 repeats → 2 free items
  • 6 items → 3 repeats → 3 free items

Targets - Which Items

What are Targets?

Targets determine WHICH SPECIFIC ITEMS in the cart receive the product discount. This only applies to PRODUCT type proposals.

Target Strategies

Strategy Selects Best For Example
Cheapest Lowest-priced items first "Get cheapest item free" $30, $40, $50 → Selects $30
Most Expensive Highest-priced items first "Discount best item" $30, $40, $50 → Selects $50
All All items in cart group "All items discounted" Selects all 5 items

Discount Value - How Much

Discount Value Types

Percentage:

  • What it is: % of item price
  • Example: 15%, 50%, 100%
  • Best for: Flexible discounts

Fixed Amount:

  • What it is: Dollar amount
  • Example: $10, $25, $50
  • Best for: Specific discounts

Free:

  • What it is: 100% off
  • Example: FREE
  • Best for: "Get X Free" promos

Best Practices

  • ✓ Use Collections for efficiency
  • ✓ Descriptive names for cart groups
  • ✓ Start simple (1-2 filters)
  • ✓ Test filtering
  • ✓ Reuse groups across proposals
  • ✓ Clear tier progression
  • ✓ Set max repeats when needed
  • ✓ Use Cheapest strategy (most common)

Troubleshooting

Discount Not Applying

Check:

  1. Conditions are met
  2. Cart groups have matching products
  3. Customer is eligible
  4. Discount is active (date range)
  5. Usage limit not reached

Volume Discount SDK

The Volume Discount SDK (window.DiscountComposer) is a powerful JavaScript interface that allows theme developers to access discount data, tier information, and pricing utilities directly within the storefront. It enables you to build custom displays like "As low as" pricing, dynamic savings badges, and custom tier tables.

Key Features

  • Global Access - Access discount data from anywhere in your theme
  • Smart Caching - Efficiently loads and caches discount rules
  • Currency Aware - Automatically formats prices using Shopify's native system
  • Variant Support - Get specific discounts for individual variants
  • Helper Methods - Built-in utilities for price formatting and eligibility checks

Getting Started

To use the API, you must ensure the Volume Discount SDK block or snippet is present in your theme. This loads the necessary data and initializes the global window.DiscountComposer object.

Installation:

  1. Go to your Theme Editor
  2. Add the Volume Discount SDK block to your layout (usually in the Header or Footer)

Core API Methods

1. Get Discount Data

// Get discount for a product
const discount = window.DiscountComposer.getDiscountForProduct(productId);

2. "As Low As" Pricing

// Get formatted text (e.g., "As low as $45.00")
const text = window.DiscountComposer.getAsLowAsText(productId, basePrice);

3. Lowest Price Calculation

const lowest = window.DiscountComposer.getLowestPrice(productId, basePrice);
// Returns: { price: 4500, formatted: "$45.00", tier: {...} }

4. Price Formatting

// Returns "$12.50" using shop currency settings
const price = window.DiscountComposer.formatPrice(1250);

Real-World Example: "As Low As" Badge

Add this script to your product card to show the best price available:

<script>
  document.addEventListener('DOMContentLoaded', function() {
    const productId = {{ product.id }};
    const basePrice = {{ product.price }};
    
    const text = window.DiscountComposer.getAsLowAsText(productId, basePrice);
    
    if (text) {
      const priceEl = document.querySelector(`#price-${productId}`);
      if (priceEl) {
        priceEl.innerHTML += `<span class="tier-price">${text}</span>`;
      }
    }
  });
</script>

Volume Pricing Table

The Volume Pricing Table block automatically displays a beautiful, ready-made table showing all available discount tiers for eligible products. It's perfect for merchants who want a quick, professional solution without any coding.

Key Features

  • Automatic Display - Shows discount tiers automatically for eligible products
  • Smart Eligibility - Only appears when discounts apply to the current product
  • Responsive Design - Works perfectly on mobile and desktop
  • Customizable Columns - Show/hide quantity, discount, price, and savings columns
  • Multi-Currency - Automatically formats prices using your theme's currency settings

Installation

  1. Go to Online Store > Themes > Customize
  2. Navigate to a Product page template
  3. Click Add block inside your Product Information section
  4. Search for "Volume pricing table" and add it
  5. Customize the settings and Click Save

Settings Explained

Table Columns:

  • Show quantity column: Displays the minimum quantity needed (e.g., "6+ items")
  • Show quantity as range: Shows ranges instead of "X+" (e.g., "6-11", "12-23")
  • Show discount column: Displays the discount amount (e.g., "10% OFF")
  • Show price per item column: Shows the final unit price after discount
  • Show savings column: Displays total estimated savings

Visual Customization:

  • Heading Colors: Customize background and text colors for the header row
  • Cell Colors: Customize background and text colors for table cells
  • Borders: Adjust border style (Solid, Dashed, None), width, color, and radius
  • Padding: Control the spacing inside table cells for a compact or spacious look

Troubleshooting

Table Not Appearing?

  1. Check Discount Status: Ensure you have an ACTIVE volume discount created in the app.
  2. Check Eligibility: Verify the product you are viewing is included in the discount ("Applies to" settings).
  3. Check Market/Currency: Ensure the discount is enabled for your current market and currency.
  4. Test Mode: If the discount is in test mode, ensure your customer account has the "test" tag or add ?tier_test=true to the URL.