Magento 1.9 – Add Free Promotional Gift for Purchases Over $200 and $380

free-giftmagento-1.9promotionsshopping-cart-price-rules

I want to run the Christmas promo on site. I have to promote the gifts after purchase of 200$ and $380 respectively.

  • If someone buy a products more than $200, I want to give a free gift product Sports Band.

  • If someone buy a products more than $380, I want to give a free gift product Sports Belt.

If they purchased the products from "Sports" category.

In other words:

  1. Sport Category Products Total more than $200

    => Free Sport Band

  2. Sport Category Products Total more than $380

    => Free Sport Belt

Best Answer

There is a lightweight free extension for exactly this scenario: C4B_FreeProduct

It adds a new shopping cart price rules action "free product" where you can enter qty and sku.

screenshot admin

These products are added to the cart as non editable items with price 0 during sales rule validation.

screenshot cart

Configuration

You would create two shopping cart price rules with conditions like this:

enter image description here

And then configure the "Add a gift" action.

How it works

  • A new rule type is added to the sales rule form, in an observer on adminhtml_block_salesrule_actions_prepareform
  • An observer on salesrule_validator_process processes the new rule type. It adds the configured SKU to the cart and sets a custom price of 0 and a custom option that identifies the product as free gift.
  • Another observer on sales_quote_collect_totals_before removes existing gift items from the cart (that's what the custom option from before is for), before the rules are processed.
  • The cart item template is adjusted to remove qty input and "remove" link from gift items (they would not work anyways).

Disclaimer: I was involved in the development of this extension.