This is Magento Module that allow you to use Buy X get Y Promotion but with Different behaviour which is you buy X but you get the cheapest Y products in you cart for Free! The module is usable with specific categories or the whole store ( you can specify which categories or different steps of the X,Y )
- Create "Shopping Cart Price Rule".
- Navigate to Conditions => Choose from "Cart Attributes" ( Buy X get Y from Category ).
- in the Condition Set the value to the Category Ids you can use the supported conditions ( is one of, is not one of ) ' If you put the id of the ROOT Category ID "2" all products will be fall under this RULE.
- Navigate to Actions => in Apply choose By X Get Y free .., In Discount amount put the Amount of the free items that customer will have, In Discount Qty Step (Buy X) put the amount of items that Customer has to Buy for the rule to be applied.