How to Setup WooCommerce Tiered Pricing

How to Set Up WooCommerce Tiered Pricing

To set up WooCommerce tiered pricing, you need a plugin because WooCommerce has no native quantity-based pricing tiers. Disco Pro is the most direct route: install the free Disco plugin, upgrade to Pro, then create a Bulk Discount rule with quantity ranges and per-tier prices.

If you’d rather avoid a paid plugin, you can also build tiered pricing with a small code snippet in your theme’s functions.php file. Both methods are covered below, along with tiered pricing table display and several ready-to-use tiering strategies.

Tiered Pricing vs. Bulk Discount vs. Quantity-Based Discount

These three terms get used interchangeably, but they aren’t the same thing.

Bulk discount: A single discount that applies once a customer hits one quantity threshold. Example: buy 10 or more, get 20% off everything in the order.

Tiered discount: Multiple discount levels tied to different quantity ranges, so the price drops in steps as quantity increases. Example: 1-9 items at $10 each, 10-19 items at $9 each, 20+ items at $8 each.

Quantity-based discount: The umbrella term. It covers both bulk and tiered discounts, since both are triggered by quantity.

In practice, “tiered pricing” is the specific case where each range gets its own price or discount level, rather than one flat cutoff.

How to Set Up WooCommerce Tiered Pricing Using Disco

Disco’s free version does not include bulk or tiered discounts. To follow this walkthrough, you’ll need Disco Pro, which adds bulk quantity discounts, tiered pricing, category discounts, and user-role pricing on top of the free plugin’s product and cart discount tools.

This example builds the following tiers:

Buy 3-7 items: $10 off each item Buy 8-15 items: $9 off each item Buy 16+ items: $8 off each item

Step 1: Install and Activate the Disco Plugin

One of the top reasons why we stated Disco as the best tier pricing for WooCommerce plugin is because it’s absolutely free to use. You can download the plugin from the WordPress repository.

Navigate to Plugins >> Add New, search and select the plugin, and click Install Now.

After installation, click Activate to enable the plugin.

Install Disco

Step 2: Navigate to Discount Rules

Go to your WordPress dashboard. Click on the Disco menu to enter its dashboard. Click Create a Discount to create a new WooCommerce add tiered pricing rule.

create a discount

Step 3: Add a New Discount Rule

  • Name your rule, e.g., “Tiered Discounts.”

Step 4: Select Discount Type

Under the Discount Intent dropdown, choose Bulk Discount.

bulk discount

Step 5: Assign Products

Under Discount, specify your products. For this example, we will continue with All Products. You can also set a time limit for the discount rules.

all products

Step 5: Configure Bulk Discount Tiers

Use the input fields under Bulk Rules to define your discount tiers. For the first set of values, enter 3 in the Minimum Quantity and 7 in the Maximum Quantity field.

bulk rules

Select the Fixed Per Cart Item for Discount Type and enter your discount value in the Discount Value box.

set rules

Next, click the Add More button to add a new row and insert your following pricing tier values.

enter values

Similarly, enter your final values. Leave the Maximum Quantity field empty so that the plugin considers the maximum value unlimited.

tiered values

Step 6: Save and Enable the Rule

  1. Once all tiers and product assignments are configured, click Save.
save discount

Step 7: Test Your WooCommerce Tiered Pricing Discount

Add products to your cart in quantities matching each tier. Confirm the correct price is applied for each range.

  • Buy 3-7 items: $10 off each item
WooCommerce Tiered Pricing
  • Buy 8-15 items: $9 off each item
example of WooCommerce Tiered Pricing
  • Buy 16+ items: $8 off each item
WooCommerce Tiered Pricing example

As you can see, setting up a WooCommerce tiered pricing discount with Disco is fast and effective. This makes it easy to encourage bulk purchases and boost your WooCommerce store’s sales.

WooCommerce Tiered Pricing Strategies

Tiered pricing works differently depending on what you’re trying to encourage. These variations all use Disco’s Bulk Discount type combined with a condition, so they also require Disco Pro.

Percentage-Based Tiered Pricing

Example: buy 3-5 items for 10% off, 6-10 items for 15% off, 11+ items for 20% off. Follow the same setup as above, but choose Percentage as the discount type in the Bulk Rules section instead of a fixed amount.

Category-Based Tiered Pricing

Example: buy 2-5 items from a specific category for $5 off each, 6-10 items for $8 off each, 11+ items for $10 off each. After configuring the bulk rules, click Add Condition and select Categories, then choose the target category. The discount will only apply when the cart contains products from that category in the qualifying quantity.

Product-Specific Tiered Pricing

Example: buy 1-3 units of one product for 10% off, 4-6 units for 15% off, 7+ units for 20% off. Use the same Bulk Discount setup, but under product assignment select Few Products and choose the specific item instead of All Products. This works well for clearing slow-moving stock or promoting a single high-margin item.

User Role-Based Tiered Pricing

Example: a store with Elite, Gold, and Diamond membership tiers can offer a different discount scale to each. Create one Bulk Discount rule per membership tier, then add a User Role condition to each rule so the correct tier of customers sees the correct pricing.

Location-Based Tiered Pricing

Example: customers shipping to a specific state get $7 off for 2-4 items, $10 off for 5-8 items, and $12 off for 9+ items. Set up the bulk rule as usual, then add a condition using Country, State, or Zip to restrict it to the target region.

How to Add WooCommerce Tiered Pricing Without a Plugin

If you’d rather not pay for a plugin, you can add tiered pricing with a code snippet in your active theme’s functions.php file. Back up your site and functions.php file before making changes, and test on staging first.

This example applies tiered pricing to a T-shirt category:

Buy 1-2 T-shirts: $20 each Buy 3-5 T-shirts: $18 each Buy 6-10 T-shirts: $15 each Buy 11+ T-shirts: $12 each

add_action( 'woocommerce_before_calculate_totals', 'apply_tiered_pricing', 10, 1 );

function apply_tiered_pricing( $cart ) {
    if ( is_admin() && ! defined( 'DOING_AJAX' ) ) {
        return;
    }

    $tiered_pricing = array(
        1  => 20,
        3  => 18,
        6  => 15,
        11 => 12,
    );

    $tshirt_category_slug = 't-shirt';

    foreach ( $cart->get_cart() as $cart_item ) {
        $product  = $cart_item['data'];
        $quantity = $cart_item['quantity'];

        if ( has_term( $tshirt_category_slug, 'product_cat', $product->get_id() ) ) {
            foreach ( $tiered_pricing as $min_qty => $tiered_price ) {
                if ( $quantity >= $min_qty ) {
                    $product->set_price( $tiered_price );
                }
            }
        }
    }
}

The code hooks into woocommerce_before_calculate_totals, loops through cart items, checks whether each product belongs to the target category, and sets the price based on the highest quantity threshold the cart quantity has reached.

Displaying a Tiered Pricing Table on the Product Page

Customers are more likely to buy in bulk if they can see the tiers before adding to cart. This snippet adds a simple pricing table to the product page for items in the T-shirts category:

add_action( 'woocommerce_single_product_summary', 'display_tiered_pricing_table', 20 );

function display_tiered_pricing_table() {
    global $product;

    $tshirt_category_slug = 't-shirts';

    if ( has_term( $tshirt_category_slug, 'product_cat', $product->get_id() ) ) {
        $tiered_pricing = array(
            '1-2'  => 20,
            '3-5'  => 18,
            '6-10' => 15,
            '11+'  => 12,
        );

        echo '<div class="tiered-pricing-table">';
        echo '<h3>Tiered Pricing</h3>';
        echo '<table><thead><tr><th>Quantity</th><th>Price</th></tr></thead><tbody>';

        foreach ( $tiered_pricing as $range => $price ) {
            echo '<tr><td>' . esc_html( $range ) . '</td><td>$' . esc_html( number_format( $price, 2 ) ) . '</td></tr>';
        }

        echo '</tbody></table></div>';
    }
}

add_action( 'wp_head', 'add_tiered_pricing_table_styles' );

function add_tiered_pricing_table_styles() {
    echo '<style>
        .tiered-pricing-table { margin-top: 20px; }
        .tiered-pricing-table h3 { margin-bottom: 10px; }
        .tiered-pricing-table table { width: 100%; border-collapse: collapse; }
        .tiered-pricing-table th, .tiered-pricing-table td { border: 1px solid #ddd; padding: 8px; }
        .tiered-pricing-table th { background-color: #f4f4f4; text-align: left; }
    </style>';
}

If you’re using Disco Pro instead, the bulk pricing table display is built in and requires no code.

Best WooCommerce Tiered Pricing Plugin

Disco is a WooCommerce discount rules plugin built to apply bulk, tiered, category, and role-based discounts automatically at checkout, without coupon codes. The free version handles basic product and cart discounts; Pro adds the bulk and tiered pricing features covered in this guide, along with BOGO deals and a built-in pricing table on product pages.

Key Features (Pro)

Bulk and tiered quantity discounts with unlimited tiers Category, product, user-role, and location-based conditions Built-in bulk pricing table on product pages BOGO and Buy X Get Y deals Scheduled campaigns with start and end dates Cart-condition discounts based on subtotal or item count

Check the official pricing page before purchasing, since plan pricing and site-license tiers change periodically.

Frequently Asked Questions

What is tiered pricing in WooCommerce? 

Tiered pricing means charging a different price per unit depending on which quantity range a customer buys within. For example, items cost less each as the order quantity increases. WooCommerce doesn’t include this natively, so it requires a plugin like Disco Pro or a custom code snippet.

Does WooCommerce support tiered pricing by default? 

No. Core WooCommerce has no built-in tiered or bulk pricing feature. You need either a plugin such as Disco Pro or a custom function added to your theme.

Can I set up tiered pricing without a plugin? 

Yes. You can add a function to your theme’s functions.php file that adjusts the price based on cart quantity, as shown in this guide. This avoids plugin costs but requires comfort editing PHP code and testing on staging first.

Is Disco’s tiered pricing free? 

No. Disco’s free version covers basic product and cart discounts only. Bulk and tiered quantity discounts are part of Disco Pro.

What’s the difference between a bulk discount and a tiered discount? 

A bulk discount applies to one discount once a quantity threshold is met. A tiered discount applies multiple discount levels across different quantity ranges, so the price steps down as quantity goes up.

Key Takeaways

  • Core WooCommerce has no native tiered pricing feature, so it requires a plugin or custom code. 
  • Disco Pro adds bulk and tiered quantity discounts, category and role-based conditions, and a built-in pricing table; the free version does not include these. 
  • A custom functions.php snippet is a no-cost alternative for basic quantity-based pricing, best tested on staging first. 
  • Displaying the pricing table on the product page increases the chance customers buy in the higher tiers. 
  • Tiered pricing can be combined with category, product, user role, or location conditions to target specific customer segments.
Leave a Reply

8,519,129+ Downloads. 724+ plus 5-star ratings. Promote products on any platform you want.