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, a Jaipur-based IT and GenAI development company he has led since 2009. Eoxys has delivered 700+ projects, building custom AI agents, chatbots, mobile apps and web platforms for businesses worldwide. Shiv writes about practical AI app development and what it takes to ship software that works.

Latest Posts

Illustration of how to build a ChatGPT plugin for your business: a chat window with a business app docked in a sidebar panel, connected to a storefront, servers and a database

Build a ChatGPT Plugin for Your Business: What DevDay Changed

At DevDay on 29 September 2026, OpenAI opened up the platform it uses to build ChatGPT’s own features. Plugins can…

Shiv Kumawat
October 12, 2026
Isometric illustration of a business hiring a remote AI development team in India, with a laptop showing an AI chip linked across a globe to developer workstations

Hire AI Developers in India: Models, Vetting and Red Flags

If you plan to hire AI developers in India, the hard part is not finding people. It is telling a…

Shiv Kumawat
October 11, 2026
DPDP compliance for AI apps: isometric shield protecting a phone and cloud server, with consent toggle, padlock and data cubes on a navy background

DPDP Compliance for AI Apps: What to Fix Before May 2027

If your app or AI chatbot handles personal data of people in India, DPDP compliance for AI apps is now…

Shiv Kumawat
October 10, 2026
,

Leave a Reply

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