WooCommerce : Dynamic Pricing According To Quantity.


How To Set Dynamic Pricing Of Product According To Quantity?.

Dynamic Pricing may be set by setting pricing rules based on products, order totals, roles, and product categories. In this post we will set price according to product quantity.

Dynamic Pricing According To Quantity Set By Two Condition”

Minimum Quantity: This is the Minimum Quantity of product that must be in the cart for the specific price rule.
Max Quantity: This is the Maximum Quantity of product that must be in the cart for the specific price rule.

WooCommerce price by quantity is one of the best dynamic pricing strategies to attract more buyers. It is an effective way of encouraging customers to purchase more quantities of products at a discounted rate.

You can provide label on product or on shop pages to show buyer , information about bulk discounts based on quantities.
Example:
Buy 1 to 5 and get 5% discount
Buy 5 to 9 and get 10% discount
Buy 10 to 15 and get 15% discount.
Buy 16 to 20 and get 20% discount.

this will attract user to buy more.

For this use 'woocommerce_before_calculate_totals' hook.

Example: Suppose we want product price according to quantity .

function QuantityBasedPricing( $cart ) {  
    if ( is_admin() && ! defined('DOING_AJAX') ) return;
    if ( did_action('woocommerce_before_calculate_totals') >= 2 ) return;
    foreach ( $cart->get_cart() as $cart_item_key => $cart_item ) {
      if($cart_item['quantity']<6){
        $price = round( $cart_item['data']->get_price() * (1-  0.05 ), 2 );
        $cart_item['data']->set_price( $price );
      }   
      if($cart_item['quantity']>6 and $cart_item['quantity']<11){
        $price = round( $cart_item['data']->get_price() * (1-  0.10), 2 );
        $cart_item['data']->set_price( $price );
      }  
      if($cart_item['quantity']>10 and $cart_item['quantity']<16){
        $price = round( $cart_item['data']->get_price() * (1-  0.15), 2 );
        $cart_item['data']->set_price( $price );
      }  
      if($cart_item['quantity']>15){
        $price = round( $cart_item['data']->get_price() * (1-  0.20), 2 );
        $cart_item['data']->set_price( $price );
      }     
    }
}
add_filter('woocommerce_before_calculate_totals','QuantityBasedPricing');

Related reading:

Shiv Kumawat

Executive Director & CEO

Shiv Kumawat is the CEO of Eoxys IT Solution LLP, the Jaipur-based IT and GenAI development company he has led since 2009. Eoxys builds custom AI, web and mobile applications for businesses worldwide. Shiv writes about AI app development, generative AI for business, and building software products that deliver real results. Connect with him on LinkedIn: https://www.linkedin.com/in/shiv-kumawat-eoxys/

Latest Posts

Siri AI integration for iOS apps: isometric illustration of an iPhone app connected to a glowing assistant orb and app action tiles

Siri AI Integration for iOS Apps: How to Get Your App Ready

Siri AI started rolling out in mid-September with iOS 27, and it can now find content inside apps and act…

Shiv Kumawat
October 8, 2026
Isometric illustration of an online store connected to three AI shopping agents handling product discovery, chat and checkout

AI Shopping Agents for E-commerce: Get Your Store Ready Now

This is the first holiday season where AI shopping agents are a real sales channel. Shopify’s 2026 holiday research, published…

Shiv Kumawat
October 7, 2026
Build vs buy AI hiring software: custom-built blocks versus a ready-made hiring dashboard, balanced by AI

Build vs Buy AI Hiring Software: A 2026 Decision Guide

Recruiting is where most companies meet AI first. In SHRM’s 2025 Talent Trends research, 51% of organizations said they use…

Shiv Kumawat
October 6, 2026
,

Leave a Reply

Your email address will not be published. Required fields are marked *