Description
The Dynamic Pricing add-on applies automatic discount rules in WooCommerce based on quantity, category, user role, or combinations of products in the cart, creating volume pricing tiers and buy X, get Y offers. Configuration takes place directly in the product panel or through advanced global rules, making it ideal for those who work with wholesale, loyalty programs, or conditional promotions without needing to edit code.
Key Features of Dynamic Pricing
- Quantity discounts
Creates tiered pricing based on the purchased volume of each product. - Category rules
Applies percentage or fixed adjustments to entire product families in the catalog. - Buy X, get Y offers
Configures conditional promotions that add free or discounted items to the cart. - Pricing by user role
Defines different price tables for registered wholesalers, resellers, or VIP customers. - Cart discounts
Calculates discounts based on the subtotal, combination of items, or number of products.
Benefits of Dynamic Pricing
- Promotions without code
Creates complex rules through the visual interface without relying on a developer. - More sales per order
Encourages higher average order values by rewarding carts with greater volume. - Wholesale and retail operations
Allows B2B and B2C operations in the same store with different price tables for each profile. - Flexible campaigns
Schedules seasonal promotions by combining category, role, and quantity in a single rule.
Who Is Dynamic Pricing For?
- Those who sell wholesale and need tiered price tables based on the quantity purchased.
- Those who maintain a loyalty program with different prices for returning customers or resellers.
- Those who run buy 3, pay for 2 campaigns without changing the catalog’s base price.
How to Download Dynamic Pricing
Dynamic Pricing is available for download here at Ultrapack. After downloading the .zip file, go to Plugins > Add New > Upload Plugin in the WordPress dashboard, select the file, and activate the extension. The pricing rules will then appear in the dedicated tab within each product and in a separate menu for global rules.
Designed for those who need a conditional pricing layer on top of WooCommerce, Dynamic Pricing brings wholesale, retail, and targeted promotions together in a single rules panel. The combination of role, quantity, and category filters avoids scattered coupons and keeps the sales strategy centralized, with calculations applied automatically as the customer builds the cart.
Frequently asked questions
Is WooCommerce Dynamic Pricing GPL-licensed?
Yes. WooCommerce Dynamic Pricing is distributed under the GPL (GNU General Public License). You may legally use, modify and redistribute it on as many sites as you want.
Can I use WooCommerce Dynamic Pricing on multiple sites?
Yes. You can install WooCommerce Dynamic Pricing on as many sites as you want. Only automatic updates through Ultrapack Auto Updater have a limit: from 3 to 80 sites, depending on the plan.
How much does WooCommerce Dynamic Pricing cost at Ultrapack?
WooCommerce Dynamic Pricing costs US$2.99 as a single purchase, and it is also included in the subscription plans starting at US$12/mo (VIP I).
Does WooCommerce Dynamic Pricing include updates?
Yes. The current version of WooCommerce Dynamic Pricing is 3.6.1, published at Ultrapack on Sep 1, 2026. Subscribers update straight from the WordPress dashboard with UAU (Ultrapack Auto Updater).
Is WooCommerce Dynamic Pricing scanned before publication?
Yes. Every version of WooCommerce Dynamic Pricing goes through a malware scan (ClamAV and YARA rules, at UltraHub) before it is published.
What are the requirements for the plugin WooCommerce Dynamic Pricing?
Requires WordPress 6.5 or higher and PHP 7.4 or higher. Tested up to WordPress 7.1.
What changed in this version
Version 3.6.1 2026.08.29
- Update: Tested up to WordPress 7.1
- Update: WordPress 6.5 is now the minimum supported version
- Update: WooCommerce 9.0 is now the minimum supported version
Version 3.6.0 2026.08.17
- IMPORTANT: This release changes the price some existing Special Offer rules charge. Review your Special Offer rules after updating.
- Continuous quantity-tier, role, membership, category and order-total rules are unchanged.
- Fix - Special Offers could charge a per-unit price nobody configured, measured between 5% and 250% of the product's own price.
- Happened once an offer's allowance was partly spent, by another cart line or by another product sharing the same rule set, which duplicating a product produces.
- Moves in both directions. Most affected lines were charged above the product's price, some below it.
- Audit past orders if you run Special Offers on duplicated products, or on products that can occupy more than one cart line.
- Fix - A Special Offer rule set holding an adjustment type this version does not recognise now applies nothing, and the product is charged its own price.
- Previously the unrecognised rule cancelled the set only above its own starting quantity. Below it, an earlier rule in the set went on discounting.
- Affects rule sets written by a much older version, by hand, or by another plugin. If a Special Offer stopped discounting after updating, check its stored rules.
- Tweak - Repeating "Product Quantity" Special Offers now count blocks the same way however many cart lines the product occupies.
- Previously an add-on or a bundle splitting the product onto a second line silently changed the price.
- A completed block is now required in both cases, so affected offers grant fewer discounted units than in 3.4.x.
- Check repeating product-quantity offers at quantities that fall between blocks.
- Tweak - Non-repeating "Quantity of Category" Special Offers now pay out on the units the category total has earned.
- Previously the offer was declined entirely unless the category total covered a whole block. Affected offers grant more discounted units than in 3.4.x.
- Applies only where the discounted product is itself in that category.
- Tweak - Non-repeating "Quantity of Category" Special Offers no longer discount more units than the category total covers.
- The payout is capped at the quantity above the offer's starting quantity. Affected offers grant fewer discounted units than in 3.4.x.
- This moves opposite to the change above, so check category-counted offers at a range of category totals.
- The "buy from this category, discount a product outside it" shape is unchanged.
- Tweak - A line that qualifies for a pooled Special Offer but is left no free units now stays at its own price, instead of falling through to the next rule set.
- A line gets one discount, from the offer that qualified for it.
- Needs two or more Special Offer rule sets on one product, and an offer counted by category or by product quantity.
- Dev - Special Offer allowances are no longer tracked in a per-request accumulator keyed by rule set id.
- A set is resolved across every cart line it covers in one pass, so a line's price no longer depends on the order lines were costed in.
- Dev - Rule sets now resolve for every cart line an offer pools, not only the line being priced.
- Now also running for sibling lines: woocommerce_dynamic_pricing_is_rule_set_valid_for_user and wc_dynamic_pricing_get_adjustment_set_variations.
- Same for wc_dynamic_pricing_get_product_pricing_rule_sets and wc_dynamic_pricing_get_cart_item_pricing_rule_sets.
- woocommerce_dynamic_pricing_get_price_to_discount, and with it wc_dynamic_pricing_get_use_sale_price, now runs twice per block decision rather than once.
- Arguments and return handling are unchanged. Only how often a callback runs, and which line it is asked about.
- Dev - The product-page price preview core and the cart now share one rule-selection implementation, so the two cannot select different rules for the same input.
- The preview still models a single-line cart, and each price map carries a trust level saying when that holds. Nothing renders it yet.
- Update - Tested up to WooCommerce 11.0
Version 3.5.0 2026.08.13
- Dev: Advanced product pricing math moved to a standalone pricing core. No change to any price the cart charges.
- Dev: The woocommerce_dynamic_pricing_get_rule_amount filter now runs for every rule in an advanced product rule set. It previously stopped at the first matching bulk tier, and ran only for block rules that qualified.
- Dev: The woocommerce_dynamic_pricing_get_decimals filter now runs once per advanced product rule set. It previously ran once per matching rule, so it did not run at all for a rule set that matched nothing, and ran repeatedly for one with several qualifying block rules.
- Dev: The woocommerce_dynamic_pricing_get_quantity_for_cart_item filter now runs once per advanced product rule set in the bulk path. It previously ran once per tier evaluated, up to and including the matching one. The block path is unchanged and still runs it once per rule.
- Dev: All three filters receive the same arguments and their return values are used the same way; only how often a callback is invoked has changed. A callback that keeps state between calls will see a different sequence.
Version 3.4.15 2026.06.29
- Update: Tested up to WooCommerce 10.9
Version 3.4.14 2026.06.14
- Update: Tested up to WordPress 7.0
- Update: Tested up to WooCommerce 10.8.1
Release notes published by the developer.
How to install
Automatic updates: this item is updated by the Ultrapack Auto Updater. With it installed, the new version shows up in your dashboard like any other WordPress update (how to set it up).
- Download the file
woocommerce-dynamic-pricing.zip. - In the WordPress dashboard, go to Plugins > Add New > Upload Plugin.
- Select the file
woocommerce-dynamic-pricing.zipand click Install Now. - Click Activate.
Requirements: Requires WordPress 6.5 or higher and PHP 7.4 or higher. Tested up to WordPress 7.1.
Stuck on a step? Open a ticket telling us which one you stopped at.

UAU Ready