The "Free Shipping" option has disappeared from the following 2 admin pages:

Promotions -> Shopping Basket Price Rules -> Click on a rule -> Actions

Promotions -> Shopping Basket Price Rules -> Add New Rule -> Actions

Any idea how I can get it back?

You can see in the first image how it is supposed to look (this picture is from a different Magento install where the Free Shipping option is appearing)

And you can see in the second image, that it is missing.

enter image description here

enter image description here

  • If by disabling 3rd party extensions doesn't work, check to see if there is any javascript code to hide that element. Actually, you can check in view source if at all Free Shipping is there or not before disabling 3rd party extensions.
    – Kalpesh
    Mar 31, 2015 at 18:58
  • yeah the free shipping HTML is there, but in inspect element it has display: none, in view source there is no display: none so it must be javascript from somewhere.
    – Mex
    Mar 31, 2015 at 19:24
  • Good. Find simple_free_shipping in your project to see where all it is referenced. Check for javascript results.
    – Kalpesh
    Mar 31, 2015 at 22:27
  • This may make your finding task easier -> stackoverflow.com/questions/3401298/…
    – Kalpesh
    Mar 31, 2015 at 22:33

2 Answers 2


Check in following file following code is exist or not if not then add this field.


$fieldset->addField('simple_free_shipping', 'select', array(
        'label'     => Mage::helper('salesrule')->__('Free Shipping'),
        'title'     => Mage::helper('salesrule')->__('Free Shipping'),
        'name'      => 'simple_free_shipping',
        'options'    => array(
            0 => Mage::helper('salesrule')->__('No'),
            Mage_SalesRule_Model_Rule::FREE_SHIPPING_ITEM => Mage::helper('salesrule')->__('For matching items only'),
            Mage_SalesRule_Model_Rule::FREE_SHIPPING_ADDRESS => Mage::helper('salesrule')->__('For shipment with matching items'),

If you have installed any extension for sales rule model then disable it and refresh cache and check it.

  • That file & code unfortunately exists at the path you gave. We will be disabling extensions 1 by 1 in a few days to see if it fixes it. Thanks for mentioning to refresh the cache, we will do this after each one that we disable.
    – Mex
    Mar 31, 2015 at 10:44
  • Add a var_dump(get_class($this)); in the block mentioned, its most likely being rewritten. A quick way to disable local code pool can be found in app/etc/local.xml or simply rename the code pools to disable them.
    – B00MER
    Apr 2, 2015 at 10:50

First you should make sure you have a Free Shipping method enabled in your cart.

Under System->Configuration->Ship Methods in the ` "Free Shipping" section, is it enabled? Do you have a "Handling Method" selected for Free Shipping?

If you disabled Free Shipping because you don't want it to be offered to the public, re-enable it. Then set a very high order minimum order amount and customers won't be offered free shipping, but it can still be triggered through rules.

Also, do you have any shipping-related extensions running? Through their configuration they may either block free shipping, or require additional configuration to allow free shipping.

  • Free shipping is enabled with a Method Name of "Free", we want it enabled. We are going to disable extensions 1 by 1 to see if this works in a few days time.
    – Mex
    Mar 31, 2015 at 10:43
  • I'm not 100% sure if this is necessary, but you may also need to have at least one carrier option with free shipping enabled. That is where i set my minimum order for free shipping very high so it can only be triggered by rules.
    – MarkE
    Apr 1, 2015 at 19:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.