On the cart page, when a sale qualifies for free shipping it displays all shipping options in addition to the "free shipping" option.

Is there a way to show only the free shipping option when a sale applies for it?

  • I have just realised that it is probably a Temando issue as we use the Temando plug in on our website for freight. – Direct Paint Jan 16 '15 at 4:24

If you want to use the same method for freeshipping as normally for payed courier services (i.e. customer's Subtotal becomes above 100$ so you want to give him automatic free shipping while displaying same shipping method as usual) you have to disable Free Shipping method from Configuration > Shipping Methods settings and instead of that create Shopping Cart Price Promotion with rules for Subtotal equal or above than 100$ and Action > Free shipping.

You can find these rules to be created at: Sales > Promotions > Shopping Cart Promotion Rule.


Go to

app/ design/ frontend/ default/ YOURTEMPLATE/ template/ checkout/ onepage/ shipping_method/ available.phtml

Place the following code right before the tag that displays the different options.

if ( array_key_exists('freeshipping', $_shippingRateGroups )) {
$_shippingRateGroups = array('freeshipping' => $_shippingRateGroups['freeshipping']);

Did you already configure the free shipping to apply only for specific country? You can find that configuration in system->configuration->carriers.

If you want regional shipping costs by country, region, zip, ... and only free shipping for specific regions, you could take a look at "matrixrate" module or "tablerates" module. Just search for these inside magento-connect, they're pretty popular.

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