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 company he has led since 2009. An AI & IT Solutions Consultant with 16+ years of experience, he works with startups and enterprises to turn ideas into market-ready SaaS platforms, mobile apps and AI-driven solutions. His team has delivered 700+ projects across SaaS, mobile and web apps, automation and AI. He previously served as Chief Technology Officer for a US company.

Latest Posts

AI agent approach illustration: an AI agent on a platform connected to tools, email, browser and a completed task

Prompt, Loop or Graph? How to Choose the Right AI Agent Approach in 2026

Most teams that ask us for “an AI agent” do not need one. They need a well-built prompt with the…

Shafeeq Khan
October 24, 2026
Isometric illustration of a business building with a location pin linked to a chat answer window that highlights one recommended listing, with review stars, documents and a magnifier

How to Get Your Business Recommended by ChatGPT in 2026

Ask ChatGPT for “the best web development company for a startup” or “a reliable app agency in India” and it…

Shafeeq Khan
October 23, 2026
Isometric illustration of an AI voice agent: a smartphone with a sound wave linked to a headset robot receptionist, a booking calendar and stacks of coins

AI Voice Agent Cost in 2026: Platforms vs a Custom Build

A missed call at a clinic, salon or service business is often a missed booking. That is why owners now…

Shafeeq Khan
October 22, 2026
,

Leave a Reply

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