Magento 2 Advanced Promotions Extension

View Demo

Magento's native cart price rules can't give a different product free with a purchase, discount the cheapest item in the cart or every second item, or sell a product for a fixed price in a promotion.

Extended Shopping Cart Rules adds 14 new actions to the same cart price rules, conditions by order history and customer attributes, and promo banners that tell shoppers how to get the discount.

  • Run buy X get Y, cheapest item free and spend-and-save promotions
  • Discount every N-th item or the most expensive one
  • Target customers by order history and attributes
  • Exclude items already on sale or discounted
  • Preview a rule on sample carts
  • Show promo banners in the cart and on product pages
  • Set custom coupon success and error messages
Hyvä
Magento Cloud
GraphQL
WCAG
Mage-OS
Compatible with:
Community:
2.3.* - 2.4.9
Enterprise:
2.3.* - 2.4.9

14 promotion types Magento's cart price rules don't have

Magento's native cart price rules give a percent or fixed discount and a basic "buy X get Y" that only works within the same product. Store promotions usually need more: a free case with a phone, the cheapest item in the cart free, every second item at half price.

Extended Shopping Cart Rules adds these as new actions to the same cart price rules, so you build promotions in the screen you already know:

  • Buy product X, get a different product Y free, discounted or for a fixed price
  • Discount the cheapest or the most expensive item, or every N-th item
  • Give $Y off for every $X spent
  • Target customers by order history and any customer attribute
  • Exclude items that already have a special price or another discount
  • Show cart banners that tell shoppers how to unlock a discount

Rules work with Luma and Hyvä, including Hyvä Checkout, and with headless storefronts that create carts through GraphQL.

Promotions you can run

Each line is one rule from the extension:

  • Buy one, get one free (the second product can be a different one)
  • Buy 3, get the cheapest one free
  • Every 2nd item 50% off
  • Buy 3, get the cheapest one for $5
  • $10 off for every $100 spent
  • Buy a phone, get a case 30% off or for $5
  • All T-shirts in the cart for $10 each
  • $15 off the most expensive item
  • Discount everything except the most expensive item

Any rule can also give free shipping or apply its discount to the shipping amount.

All 14 rule actions

Fixed discount

  • Fixed discount on the most expensive product
  • Buy product X, get a $ discount on product Y
  • For each $X spent, give a $Y discount
  • Fixed discount on the cheapest products by step
  • Fixed discount on the cheapest product

Percent discount

  • Buy product X, get a % discount on product Y
  • Discount on the most expensive product
  • Discount on the cheapest product
  • Discount on all products except the most expensive
  • Discount on the cheapest products by step

Fixed price

  • Fixed price for all products
  • Fixed price for the cheapest product
  • Fixed price for the cheapest products by step
  • Buy product X, get product Y for a fixed price

See how each action calculates the discount in the user manual.

magento 2 buy x get y

Buy one get one free, with a different product

A customer buys product X and gets product Y free, with a fixed or percent discount, or for a fixed price. Unlike Magento's native rule, Y can be a different product: you define X with the rule conditions and Y with the action conditions, by category, SKU, price or any other product attribute.

For example, offer a case 30% off with every phone, or give the case for free (a 100% discount).

The discount applies when both products are in the cart: the customer adds Y. A cart banner can prompt them to do it. Use the rule to move high-margin or slow-selling products along with your bestsellers.

Every N-th item discounted

The "by step" rules discount the cheapest item for every N items in the cart. Set the step to 3 and the discount to 100%, and you get "buy 2, get 1 free": in every 3 items the cheapest one is free, so a customer with 6 items gets the 2 cheapest ones free. Set the step to 2 and 50% for "every 2nd item half price", or use a fixed price for "buy 3, get the cheapest one for $5". A maximum quantity limits how many items get the discount.

$Y off for every $X spent

The discount grows with the cart: give $10 off for every $100, so a $250 cart gets $20 off. Add conditions such as a product category or a minimum cart total.

A discount on the cheapest or the most expensive item

The customer gets a discount on the cheapest (or the most expensive) product in the cart, for example 50% off the cheapest item when the cart has two or more. It gives customers a reason to add a second product.

See what a rule does before it goes live

Complex promotions are easy to get wrong: a rule that never fires, or one that stacks with another rule and gives a double discount. The extension shows both before customers do.

  • Sample cart preview. The rule form shows example carts for the rule you are editing, which items get the discount and how much. Change the discount or the step, and the examples update.
  • Visualize Rules. One tree shows every cart price rule with its priority, "Discard subsequent rules" setting, active dates, coupon, customer groups, websites, conditions and discount type. You see which rule runs first and which ones stop the rest.

Target customers and protect your margin

The extension adds conditions that native cart price rules don't have:

  • Order history: total number of orders and total sales amount of a logged-in customer. Give a coupon for the first order, or a better discount to customers who have spent over $1,000.
  • Customer attributes: any customer attribute, including your custom ones.
  • Has Special Price: exclude products that already sell below their regular price.
  • Is Discounted: exclude items already discounted by another cart rule.

The last two keep a promotion from giving a second discount on items that are already on sale.

Custom coupon success and error messages

magento 2 custom coupon message

Set your own success and error message for each coupon rule, shown when a customer applies its coupon on the cart page. The message can include the coupon code.

Say a coupon only works for NIKE products priced at $100 and up. Instead of Magento's generic error, the customer sees: "This coupon is only valid for NIKE products priced at $100 or more". They know right away why the coupon didn't apply and what to change.

Banners that tell shoppers how to get the discount

magento 2 promo notification banner in cart

Customers can't use a discount they don't know about. The extension comes with promo banners that explain the offer and what to do to get it.

Show a banner as text or an image, in a pop-up, lightbox, slider or rotator, on the cart, product, category or any other page. Choose when it appears by cart contents and subtotal, product, category, customer group and schedule.

For example, show "Add one more item to the cart and get an additional 5% discount" when the customer has two products in the cart, "Get $10 off for every $100 spent" while the cart total is below $100, or "Spend $23 more for free shipping" with the amount calculated for each cart. Impressions and clicks are counted for every banner.

For a discount on a set of products bought together, see Product Kits.

Build buy X get Y, cheapest item free and spend-and-save promotions, and try them in the demo.
No hidden fees
Our developers install the extension on your store and configure it for your setup, free of charge.
Lifetime access to source code
Access to free support and updates for 1 year
Updates and support prolongation - $90

Pay today $149 for the first year.

Then $90 for updates and support services per year.

Cancel anytime.

30 days money back guarantee
See it in action!
Pick a quick tutorial to learn about various aspects of this extension
Customer Reviews 18
Earn points for your review about this extension modules. $1 = 10 points
Write Your Own Review

check-circle You submitted your review for moderation.

BBMC Verified Buyer
From Carol Stream, United States
Using the module for almost 2 years
A much more flexible promotion system than Magento provides
We have been using this extension for a little over a year after replacing another promotion extension that was no longer keeping up with Magento and had become too limiting. Mirasvit's solution fills a real gap in Magento's native shopping cart rules.

There is a lot of flexibility in how promotions can be built. Rules can account for guests, registered customers, purchase history, lifetime activity, quantities and other conditions, and discounts can be applied automatically without requiring the customer to enter a coupon. The built-in notification functionality and integration with the rest of Magento also make it feel like part of the platform rather than an add-on.

My main improvement would be more control over invalid coupon and error messages. It would be useful to create multiple custom messages that display based on specific combinations of conditions.
Also installed:
Help Desk MX,  Knowledge Base,  Full Page Cache Warmer,  Advanced Product Feeds,  Follow Up Email,  Reward Points,  Promo Banners and 28 more
Tbb Verified Buyer
From Barcelona, Spain
Using the module for 6 months
A useful extension to Magento's promotion rule engine: more options and better organisation
On several of our Magento 2 projects, we have Extended Shopping Cart Rules installed as a complement to the native promotion rule engine.

What we appreciate most is that it expands the options of the native rule engine without replacing it. Existing rules keep behaving exactly the same and the extended types live in the same admin section, which avoids forced migrations or having to learn a parallel system.

The catalogue of discount types is noticeably broader than the standard one. It covers scenarios like "buy X get Y", discounts applied to the cheapest or most expensive item in the cart, fixed prices over product sets and other combinations that in plain Magento would require custom logic.

The interface for managing the rules catalogue is practical as the number of promotions grows. Being able to navigate and search through rules without going through the whole list helps the marketing team's day-to-day work, especially on stores with many active, scheduled and archived rules.

On the multi-store side, rules can be scoped to the relevant websites, respecting Magento's native structure.

Overall, it is a solid extension for stores that need more discount options or better organisation of their promotions catalogue, without giving up what they already had.
Also installed:
Advanced Reports,  Reward Points,  Affiliate,  Automatic Related Products,  Full Page Cache Warmer,  Google PageSpeed Optimizer,  Google Shopping Feed and 9 more
Fx Verified Buyer
From United States
Using the module for 4 months
Great
Great extension for advanced promotions. It adds many useful cart rule options beyond default Magento, like Buy X Get Y and flexible discount conditions. Easy to configure and works reliably. It helped us run more effective campaigns and increase conversions. Recommended for stores that need powerful promo rules.
Nico Verified Buyer
From Barcelona, Spain
Using the module for 2 months
Recomendable
Lo compramos para utilizarlo con unas reglas medianamente complejas que no podíamos obtener del magento nativo y funcionó muy bien
Also installed:
Advanced Reports,  Reward Points,  Affiliate,  Automatic Related Products,  Full Page Cache Warmer,  Google PageSpeed Optimizer,  Google Shopping Feed and 9 more
Paolo Verified Buyer
From Gandino, Italy
Using the module for over 3 years
Advanced promotions and significantly boost my sales
The "Advanced Cart Rules" extension for Magento 2 by Mirasvit offers advanced promotional features for online stores, allowing merchants to create custom rules with 14 new promotion types, including discounts on specific products and conditions based on customer behavior. It's an excellent extension that has enabled me to run highly advanced promotions and significantly boost my sales.
Also installed:
Product Kits ,  Automatic Related Products,  RMA,  Help Desk MX,  Follow Up Email,  Reward Points,  Elastic Search Ultimate and 25 more
Manual & Support
Need more help?

Save time by starting your support request online and we'll connect you to an expert.

Frequently asked questions
chevron-down chevron-right

Can I give product B for free when a customer adds products A and B to the cart?

Yes. Use the "Buy product X, get % discount for product Y" action with a 100% discount: product A matches the rule conditions, product B matches the action conditions. You can define both by category, SKU, price or any other product attribute, so typical setups work:

  • one product from category A and one from category B in the cart: the B product is free;
  • two products from category A and two from category B: all B products are discounted;
  • several products from categories A and B: one B product is free or discounted, the rest are full price;
  • several products from one category: the most expensive one is discounted.

To keep items that are already on sale out of the promotion, add the "Has Special Price" or "Is Discounted" condition.

chevron-down chevron-right

Does the extension add the free product to the cart automatically?

No. The discount applies when the qualifying products are in the cart, so the customer adds product Y themselves. To prompt them, show a cart banner such as "Add a case to your order and get it free".

chevron-down chevron-right

Can a cart rule give free shipping or a shipping discount?

Yes. Every rule of the extension can give free shipping, the same way as native cart price rules. With "Apply to Shipping Amount" enabled, fixed and percent discount rules also discount the shipping cost.

To set shipping rates per product, per method or per order, use Shipping Price Rules or Shipping Table Rates.

chevron-down chevron-right

How do I stop extended rules from stacking with other cart rules?

Use Magento's rule priority and the "Discard subsequent rules" option to decide which rule runs first and which ones stop the rest. The extension adds the "Is Discounted" product condition: set it to "No" and a rule skips items already discounted by another rule.

To check the result, open Visualize Rules: one tree shows all cart price rules with their priority, "Discard subsequent rules" setting, dates, coupons and customer groups.

chevron-down chevron-right

How can I check what a rule will do before it goes live?

The rule form shows example carts for the rule you are editing: which items get the discount and how much. If a live rule doesn't apply, check its priority and the rules above it in Visualize Rules.

chevron-down chevron-right

Can I create a coupon for a customer's first order?

Yes. Add the "Total Number of Orders" condition equal to 0 to a coupon rule. Order history conditions work for logged-in customers; a guest always counts as having 0 orders.

chevron-down chevron-right

Can I give a discount for a newsletter signup?

Yes. Create a cart price rule with a coupon here, then send the code with your email tool, for example in the newsletter welcome email. The extension doesn't send emails itself.

chevron-down chevron-right

Does it work with native Magento coupons?

Yes. Extended rules use native Magento coupons, including auto-generated codes from the Manage Coupon Codes section. See the Adobe Commerce guide to cart rule coupons.

chevron-down chevron-right

Does it work with Hyvä?

Yes. The rules apply in the Hyvä cart and Hyvä Checkout as well as in Luma, and the promo banners render on Hyvä and Luma without an extra package.

chevron-down chevron-right

Does it work with PWA or a headless storefront?

Discounts from all 14 rules apply to any cart, including carts created through GraphQL, and the promo banners have a built-in GraphQL API. PWA frontend components are not included, so banners need to be added to your storefront by your developers.

Changelog
Version 1.4.9Oct 2, 2026
Fixed the rule tree in the admin panel not showing each rule's discount type (e.g. "Percent of product price discount" or "For each $X spend, give $Y discount"); the type badge now also keeps its highlighted style instead of running into the rule name
Version 1.4.8Aug 11, 2026
Fixed the "Fixed Price for All Products" discount ignoring the "Maximum Qty Discount is Applied To" limit when a single cart line contained more items than the remaining allowance — the whole line was sold at the fixed price instead of only the allowed quantity
Version 1.4.7Aug 3, 2026
The Cart Price Rule discount types and cart-example preview now display in your admin panel's language instead of only English.
Version 1.4.6Jun 15, 2026
Fixed a fatal error on the cart rule edit page that could break the rule example preview for step-based rules (such as "Fixed Discount for Cheapest products by step")
Version 1.4.5Apr 10, 2026
Fixed a fatal error when using the module with Magento 2.3.* (PHP 7.3)
Reasons to choose Mirasvit
Client focusing and satisfaction

These are our primary. A major portion of our new clients come from referrals from our existing clients. Our professional team of developers, marketers and support staff have invested the best knowledge and experience in the field into our work, so you know you can come back to us again and again.

Remarkable support

One year free and high quality support. We go to great lengths to provide maximum satisfaction with every module you have purchased in our store. By helping you with installation, configuration, answering your every question, we do all our best to eliminate any possible problems.

Risk-free Investment

30-days money back guarantee. If you are not satisfied with our extension performance for any reason, we provide a full refund.

Constant improvements and upgrades

We constantly add new features to all our modules, and are always interested in hearing your opinion and implementing your suggested features in our future developments.

Comprehensive Documentation

We provide an expanded user guide for every aspect of our extension, so you can find answers for all your burning questions.

Unencrypted source code of our products

You can customize extension according to your needs and requirements.

Usability and Performance

The Module is easy to install and upgrade, just follow our step-by-step user guide. Additionally, the extension is ready to use with the Hyvä theme.

Ready for Magento Cloud

No core modifications. The extension has been tested in a Magento Cloud environment and is fully compatible with it.

Loading...