{"id":384892,"date":"2026-10-14T13:07:20","date_gmt":"2026-10-14T13:07:20","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/bulk-buy-saver-quantity-discounts-tiered-pricing-for-woocommerce\/"},"modified":"2026-10-14T13:07:10","modified_gmt":"2026-10-14T13:07:10","slug":"contradigital-bulk-buy-saver","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/contradigital-bulk-buy-saver\/","author":23584092,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"3.0.0","stable_tag":"3.0.0","tested":"7.1.3","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"Contradigital Bulk Buy Saver \u2013 Quantity Discounts for WooCommerce","header_author":"Contradigital","header_description":"Quantity discounts and tiered pricing for WooCommerce: \"Buy 3, save 10%\" offer cards, automatic bulk discounts in the cart and a progress bar.","assets_banners_color":"164e5f","last_updated":"2026-10-14 13:07:10","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/contradigital.agency\/plugins\/bulk-buy-saver\/","header_author_uri":"https:\/\/contradigital.agency","rating":0,"author_block_rating":0,"active_installs":0,"downloads":42,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"3.0.0":{"tag":"3.0.0","author":"contradigital","date":"2026-10-14 13:07:10","revision":3746430}},"upgrade_notice":{"3.0.0":"<p>Rebuilt and security-hardened. The bundle picker, role-based rules and grid\/list layouts are now part of the Pro add-on.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3746430,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3746430,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3746430,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3746430,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3746431,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"landingPage\":\"\\\/product\\\/organic-coffee-beans-500g\\\/\",\"preferredVersions\":{\"php\":\"8.3\",\"wp\":\"latest\"},\"features\":{\"networking\":true},\"steps\":[{\"step\":\"login\",\"username\":\"admin\",\"password\":\"password\"},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"woocommerce\"},\"options\":{\"activate\":true}},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"contradigital-bulk-buy-saver\"},\"options\":{\"activate\":true}},{\"step\":\"setSiteOptions\",\"options\":{\"permalink_structure\":\"\\\/%postname%\\\/\"}},{\"step\":\"runPHP\",\"code\":\"<?php require \\\"\\\/wordpress\\\/wp-load.php\\\"; update_option(\\\"woocommerce_coming_soon\\\",\\\"no\\\"); update_option(\\\"woocommerce_onboarding_profile\\\",array(\\\"skipped\\\"=>true)); $p=new WC_Product_Simple(); $p->set_name(\\\"Organic Coffee Beans 500g\\\"); $p->set_regular_price(\\\"20\\\"); $p->set_short_description(\\\"Pick a pack size - the more you buy, the more you save.\\\"); $p->set_status(\\\"publish\\\"); $id=$p->save(); update_option(\\\"cdg_demo_product\\\",$id); $a=new WC_Product_Attribute(); $a->set_name(\\\"Size\\\"); $a->set_options(array(\\\"S\\\",\\\"M\\\",\\\"L\\\")); $a->set_visible(true); $a->set_variation(true); $v=new WC_Product_Variable(); $v->set_name(\\\"Everyday T-Shirt\\\"); $v->set_attributes(array($a)); $v->set_status(\\\"publish\\\"); $vid=$v->save(); foreach(array(\\\"S\\\",\\\"M\\\",\\\"L\\\") as $s){ $x=new WC_Product_Variation(); $x->set_parent_id($vid); $x->set_attributes(array(\\\"size\\\"=>$s)); $x->set_regular_price(\\\"25\\\"); $x->save(); } WC_Product_Variable::sync($vid); wc_delete_product_transients($vid);\"}]}"}},"all_blocks":[],"tagged_versions":["3.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3746430,"resolution":"1","location":"assets","locale":"","width":2560,"height":1210},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3746430,"resolution":"2","location":"assets","locale":"","width":2560,"height":842},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3746430,"resolution":"3","location":"assets","locale":"","width":2860,"height":1484},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3746430,"resolution":"4","location":"assets","locale":"","width":1880,"height":812}},"screenshots":{"1":"Quantity discount offer cards above Add to cart: bundle totals, price per item, savings and a \"Most popular\" badge.","2":"Live cart progress bar: \"Add 3 more to save 10%\", with the discounted price on the cart line.","3":"Discount rules in WooCommerce \u2192 Bulk Buy Saver: tiers by quantity with percentage off, amount off or a fixed price.","4":"Per-product settings: give one product its own tiered pricing or turn offers off."}},"plugin_section":[],"plugin_tags":[65683,15963,243191,166977,247123],"plugin_category":[],"plugin_contributors":[286757],"plugin_business_model":[],"class_list":["post-384892","plugin","type-plugin","status-publish","hentry","plugin_tags-bulk-discount","plugin_tags-dynamic-pricing","plugin_tags-quantity-discount","plugin_tags-tiered-pricing","plugin_tags-volume-discount","plugin_contributors-contradigital","plugin_committers-contradigital"],"banners":{"banner":"https:\/\/ps.w.org\/contradigital-bulk-buy-saver\/assets\/banner-772x250.png?rev=3746430","banner_2x":"https:\/\/ps.w.org\/contradigital-bulk-buy-saver\/assets\/banner-1544x500.png?rev=3746430","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/contradigital-bulk-buy-saver\/assets\/icon-128x128.png?rev=3746430","icon_2x":"https:\/\/ps.w.org\/contradigital-bulk-buy-saver\/assets\/icon-256x256.png?rev=3746430","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/contradigital-bulk-buy-saver\/assets\/screenshot-1.png?rev=3746430","caption":"Quantity discount offer cards above Add to cart: bundle totals, price per item, savings and a \"Most popular\" badge."},{"src":"https:\/\/ps.w.org\/contradigital-bulk-buy-saver\/assets\/screenshot-2.png?rev=3746430","caption":"Live cart progress bar: \"Add 3 more to save 10%\", with the discounted price on the cart line."},{"src":"https:\/\/ps.w.org\/contradigital-bulk-buy-saver\/assets\/screenshot-3.png?rev=3746430","caption":"Discount rules in WooCommerce \u2192 Bulk Buy Saver: tiers by quantity with percentage off, amount off or a fixed price."},{"src":"https:\/\/ps.w.org\/contradigital-bulk-buy-saver\/assets\/screenshot-4.png?rev=3746430","caption":"Per-product settings: give one product its own tiered pricing or turn offers off."}],"raw_content":"<!--section=description-->\n<p><strong>Bulk Buy Saver<\/strong> adds quantity discounts (also called bulk discounts, volume discounts or tiered pricing) to WooCommerce. It shows them as a clear, clickable offer right above the Add to cart button: <strong>Buy 1 \u00b7 Buy 3 save 5% \u00b7 Buy 6 save 10%<\/strong>. The customer taps an option, the quantity is set, and the discounted price is applied automatically in the cart and checkout. No coupon codes are needed.<\/p>\n\n<p>A live <strong>progress bar<\/strong> in the cart (\"Add 2 more to save 10%\") nudges shoppers to the next tier. That raises your <strong>average order value (AOV)<\/strong> without discounting every order.<\/p>\n\n<h4>What makes it different<\/h4>\n\n<p>This plugin is designed around the shopper's experience:<\/p>\n\n<ul>\n<li><strong>One-tap pack selection:<\/strong> shoppers choose \"Buy 3\" or \"Buy 6\" on a card, and the quantity and savings update instantly. They don't need to read a table or do any math.<\/li>\n<li><strong>A progress bar that sells:<\/strong> \"Add 2 more to save 10%\" in the cart and checkout, updated live.<\/li>\n<li><strong>Variations count together:<\/strong> 2 red + 1 blue = the 3-item price.<\/li>\n<li><strong>Works in 60 seconds:<\/strong> a sensible store-wide rule is active on install. There is nothing to configure before you see results.<\/li>\n<li><strong>AI-ready:<\/strong> the discount rules are exposed through the WordPress Abilities API.<\/li>\n<\/ul>\n\n<h4>How it works<\/h4>\n\n<ol>\n<li>Activate the plugin. A ready-made rule (1 \/ 3 = 5% off \/ 6 = 10% off) works immediately on all products.<\/li>\n<li>Edit the tiers in <strong>WooCommerce \u2192 Bulk Buy Saver<\/strong>: for all products, for chosen categories or for single products.<\/li>\n<li>Shoppers see the offer cards on the product page. The cart applies the matching tier price automatically.<\/li>\n<\/ol>\n\n<h4>Who it is for<\/h4>\n\n<ul>\n<li>Stores that sell consumables people buy more than one of: supplements, coffee, cosmetics, pet food, candles, socks, t-shirts and printing.<\/li>\n<li>Stores that want \"multi-pack\" or \"bundle and save\" offers without building separate bundle products.<\/li>\n<li>Shop owners who want bulk pricing that is simple for customers to understand, without complex rule builders.<\/li>\n<\/ul>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>Unlimited quantity discount rules<\/strong> for all products, product categories or specific products. The most specific rule wins: product override \u2192 specific products \u2192 categories \u2192 all products.<\/li>\n<li><strong>Three discount types per tier:<\/strong> percentage off, fixed amount off per item, or a fixed price per item (tiered pricing).<\/li>\n<li><strong>Discount from the current price or the regular price<\/strong>, chosen per rule. Works with products already on sale.<\/li>\n<li><strong>Offer layouts:<\/strong> cards or a pricing table. Clicking an option sets the quantity, and a summary line shows the total and how much the customer saves.<\/li>\n<li><strong>Pack names and badges:<\/strong> call a tier \"Duo pack\" and highlight one as \"Most popular\".<\/li>\n<li><strong>Live cart and checkout progress bar:<\/strong> \"Add 2 more to save 10%\", refreshed as quantities change.<\/li>\n<li><strong>Per-product control:<\/strong> turn offers off for a product, or give it its own tiers.<\/li>\n<li><strong>Variable products:<\/strong> prices update when a variation is chosen, and different variations of the same product count together toward a tier (2 red + 1 blue = 3 items).<\/li>\n<li><strong>Your words, your colours:<\/strong> every text and colour is editable. Texts follow the site language and work with WPML and Polylang. Includes a Swedish translation.<\/li>\n<li><strong>Compatible:<\/strong> WooCommerce Cart and Checkout blocks, classic templates, block themes (Twenty Twenty-Five), HPOS (High-Performance Order Storage). Tested with Storefront, Astra, Kadence, Blocksy, OceanWP, Hello Elementor and Woodmart, and with Elementor, Yoast SEO, Rank Math and LiteSpeed Cache.<\/li>\n<li><strong>Fast and private:<\/strong> no external requests, no tracking, no jQuery UI. Scripts and styles load only on product, cart and checkout pages.<\/li>\n<li><strong>AI-ready:<\/strong> AI assistants and agents can read your discount rules through the WordPress Abilities API (WordPress 6.9+).<\/li>\n<\/ul>\n\n<h4>Bulk Buy Saver Pro (optional add-on)<\/h4>\n\n<p>Everything listed above is complete in this free plugin. Nothing is locked, time-limited or capped.<\/p>\n\n<p>For stores that need more, a separate Pro add-on is available from <a href=\"https:\/\/contradigital.agency\/plugins\/bulk-buy-saver\/\">Contradigital<\/a>:<\/p>\n\n<ul>\n<li><strong>Mix &amp; match bundle picker:<\/strong> the customer chooses a size or colour for each item in a multi-pack.<\/li>\n<li><strong>Wholesale and VIP pricing:<\/strong> limit rules to user roles.<\/li>\n<li><strong>Scheduled campaigns:<\/strong> start and end dates for a discount rule.<\/li>\n<li><strong>Grid and list layouts<\/strong> for the offer box.<\/li>\n<li><strong>Custom base price<\/strong> per product.<\/li>\n<\/ul>\n\n<h4>Privacy and external services<\/h4>\n\n<p>This plugin does not connect to any external service and does not collect, store or send personal data. Discount settings are stored in your own WordPress database.<\/p>\n\n<p>Made by <a href=\"https:\/\/contradigital.agency\">Contradigital<\/a>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Make sure WooCommerce is installed and active.<\/li>\n<li>In WordPress go to <strong>Plugins \u2192 Add New<\/strong>, search for \"Bulk Buy Saver\", then install and activate it. You can also upload the zip under <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>.<\/li>\n<li>Go to <strong>WooCommerce \u2192 Bulk Buy Saver<\/strong>. The default tiers work immediately. Adjust the rules, layout, colours and texts as you like.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20add%20quantity%20discounts%20in%20woocommerce%3F\"><h3>How do I add quantity discounts in WooCommerce?<\/h3><\/dt>\n<dd><p>Install and activate Bulk Buy Saver. A default rule (buy 3 save 5%, buy 6 save 10%) is applied to all products right away. Change the quantities and discounts in WooCommerce \u2192 Bulk Buy Saver.<\/p><\/dd>\n<dt id=\"how%20do%20i%20set%20up%20tiered%20pricing%20or%20bulk%20pricing%20for%20one%20product%3F\"><h3>How do I set up tiered pricing or bulk pricing for one product?<\/h3><\/dt>\n<dd><p>Open the product in the editor. In the \"Bulk Buy Saver\" box, tick \"Use custom tiers for this product\" and enter the quantity and price for each tier. You can use a percentage, an amount off or a fixed price per item.<\/p><\/dd>\n<dt id=\"can%20i%20give%20different%20discounts%20to%20different%20categories%3F\"><h3>Can I give different discounts to different categories?<\/h3><\/dt>\n<dd><p>Yes. Create a rule, set it to \"Categories\" and choose the categories. The most specific rule wins, so a product rule beats a category rule, which beats the all-products rule.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20the%20woocommerce%20cart%20and%20checkout%20blocks%3F\"><h3>Does it work with the WooCommerce Cart and Checkout blocks?<\/h3><\/dt>\n<dd><p>Yes. Discounts are applied through WooCommerce's own pricing, so the block cart and checkout, the mini-cart, the Store API and classic templates all show the discounted price.<\/p><\/dd>\n<dt id=\"do%20coupons%20still%20work%3F\"><h3>Do coupons still work?<\/h3><\/dt>\n<dd><p>Yes. WooCommerce coupons apply on top of the discounted quantity price.<\/p><\/dd>\n<dt id=\"do%20different%20variations%20count%20together%3F\"><h3>Do different variations count together?<\/h3><\/dt>\n<dd><p>Yes. Three different colours of the same product count as 3 items for the tier.<\/p><\/dd>\n<dt id=\"will%20it%20slow%20down%20my%20store%3F\"><h3>Will it slow down my store?<\/h3><\/dt>\n<dd><p>No. The plugin makes no external requests, adds no database tables and loads its small script and stylesheet only on product, cart and checkout pages.<\/p><\/dd>\n<dt id=\"my%20theme%27s%20product%20page%20has%20no%20add-to-cart%20form.\"><h3>My theme's product page has no add-to-cart form.<\/h3><\/dt>\n<dd><p>The offer box is placed automatically under the product title and price, together with WooCommerce's own add-to-cart form. This covers block themes and page builders.<\/p><\/dd>\n<dt id=\"can%20i%20exclude%20a%20product%3F\"><h3>Can I exclude a product?<\/h3><\/dt>\n<dd><p>Yes. Every product has a \"Bulk Buy Saver\" box on its edit screen where you can turn offers off.<\/p><\/dd>\n<dt id=\"is%20the%20free%20version%20limited%3F\"><h3>Is the free version limited?<\/h3><\/dt>\n<dd><p>No. Every feature in this plugin is fully available with no limits. Pro is a separate add-on with additional features.<\/p><\/dd>\n<dt id=\"where%20do%20i%20get%20support%3F\"><h3>Where do I get support?<\/h3><\/dt>\n<dd><p>Use the WordPress.org support forum for this plugin. We answer there.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>3.0.0<\/h4>\n\n<ul>\n<li>New home: now developed by Contradigital and published on WordPress.org.<\/li>\n<li>Rebuilt into a modular, faster codebase. All styles and scripts load from files, and only on shop pages.<\/li>\n<li>Security hardening throughout (escaping, nonces, capability checks).<\/li>\n<li>Fix: offer box on variable products whose stored parent price is stale (for example after a CSV import), and \"regular price\" basis for variable products.<\/li>\n<li>New: AI agents can read the discount rules through the WordPress Abilities API (WP 6.9+).<\/li>\n<li>The mix &amp; match bundle picker, user-role rules, grid\/list layouts and custom base price moved to the Pro add-on. Existing role-based rules are kept and resume when Pro is active.<\/li>\n<\/ul>\n\n<h4>2.2.0<\/h4>\n\n<ul>\n<li>Cards show the bundle total first, then the price per item and savings.<\/li>\n<li>Optional pack name per tier.<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Rules (global\/category\/product), three discount types, base price options, layouts, live progress bar, colour and text settings, Swedish translation.<\/li>\n<\/ul>","raw_excerpt":"Quantity discounts and tiered pricing for WooCommerce: \"Buy 3, save 10%\" offer cards, automatic bulk discounts in the cart and a progress bar.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/384892","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=384892"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/contradigital"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=384892"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=384892"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=384892"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=384892"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=384892"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=384892"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}