How to set metro and regional shipping rates for Australia in Magento eCommerce – tutorial with free template to download
Business case: “We’ve boundless plains to share”…. and deliver
“We’ve boundless plains to share” we sing in Australian national anthem: Australia is a big country, actually the only country that occupies the whole continent. Australian population is concentrated in several metro areas with millions of residents based in rather small limits. On the other hand in rural Australia population density is very low: there may be hundreds of kilometres between small villages.
The implication of this specific for eCommerce business is that delivery cost is very different between metro and regional areas, especially if you ship items over 20 kg that are too big for Australian Post.
Therefore rather often it makes a business sense to set-up regional and metro shipping prices for online stores. Such pricing structure is simple enough to understand for consumers and at the same time flexible enough to keep your costs under control.
So quite often Aussie retailers want to implement price table similar with one below:
Destination | Shipping rate |
---|---|
Melbourne metro | $35 |
Regional Victorian | $50 |
Sydney metro | $35 |
Regional NSW | $50 |
Adelaide metro | $60 |
Regional SA | $35 |
Brisbane/Gold Coast metro | $60 |
Regional QLD | $60 |
Perth metro | $80 |
Regional WA | $150 |
Tasmania (all) | $60 |
NT (all) | $120 |
Others | $150 |
Assume that we don’t change the rate depends on shipping weight, volume and total price, so the business case seems to be quite simple.
How to configure such metro/regional shipping rates in Magento?
Magento eCommerce supports natively the next shipping calculation methods:
- Flat rate
- Table rates
There is also free shipping and several international carriers, but it isn’t relevant for our business case.
Unfortunately flat rate doesn’t work for us: we need to vary the rate depends on the destination.
Table rates seems to be a possible solution: this method allows to define rate depends on destination. However there is a problem with using out-of-the-box table rates and it is related with the requirement to have more then one rate for state: we have flat state rates only for TAS and NT, for other states we want to apply metro and regional rates to reflect different delivery costs.
So there is a need to find a way to distinguish regional and metro areas for VIC, NSW, QLD, SA and WA. How can we do that?
Only reliable way to do that (at least as we see it) is use postcodes. There are known postcode ranges for regional and metro areas and you can tweak that ranges based on how your carriers treat them.
So it is potentially possible to use out-of-the-box Magento table rates method, however the problem there is that you need to specify every single postcode that your customer can enter to define metro (or regional) area. With thousands of postcodes used in Australia it is quiet daunting and time consuming task to list them all.
Is there better way to do it?
Power of Magento ecosystem: free extension that can make this job easier
Wouldn’t be nice if instead of specifying every single postcode we can define postcode ranges? In this case we can have couple dozens instead of hundreds or thousand records in our shipping rates table. Fortunately such extension exists and moreover it is free!
It is called Matrix rate, developed by WebShopApps. You can install it from Magento Connect
N.B. Magenable isn’t affiliated with WebShopApps, we just found this free extension very useful.
After installing this extension and initial configuration (you can find instructions how to do it at vendor’s website, we’ll not repeat them here) you need to prepare CSV file with your shipping pricing rules.
Pricing rules for our business case are presented in the table below. We stripped out non-essential information, actual CSV file contains more columns.
Postcode From | Postcode To | Cost | Region description |
---|---|---|---|
150 | Other than below | ||
1100 | 1299 | $35 | Sydney Metro |
2000 | 2234 | $35 | Sydney Metro |
2235 | 2999 | $50 | Regional NSW plus ACT |
3000 | 3207 | $35 | Melbourne Metro |
3208 | 3999 | $50 | Regional VIC |
4000 | 4199 | $60 | Brisbane Metro |
4208 | 4287 | $60 | Gold Coast |
4288 | 4299 | $110 | Regional QLD |
4300 | 4305 | $60 | Brisbane Metro |
4306 | 4499 | $110 | Regional QLD |
4500 | 4519 | $60 | Brisbane Metro |
4520 | 4999 | $110 | Regional QLD |
5000 | 5199 | $35 | Adelaide Metro |
5200 | 5999 | $60 | Regional SA |
6000 | 6199 | $60 | Perth Metro |
6200 | 6797 | $150 | Regional WA |
7000 | 7999 | $60 | TAS |
800 | 899 | $120 | NT |
9000 | 9015 | 60 | Brisbane Metro |
You see that this table is less compact than one from original business case: sometimes things are a bit complicated, especially for QLD, where we set up several postcode ranges for the state to reflect metro and regional delivery areas according our business case requirements. Note that your requirements may be different so you may need to change postcode ranges.
After you prepare CSV file that reflect the logic above and upload it to your Magento store that’s it. You’ll get the rates established and they will be used for delivery calculation. BTW, the extension allows to implement more complicated logic.
Bonus – fill the form below to download CSV template
We’ve prepared a CSV template that reflects the business logic above, you are welcome to download it free of charge and use (at your own risk)
Is there any catch? Very little, we’ll add your email to our mail list and you’ll occasionally receive newsletters from us with eCommerce news, articles, researches and other useful information. You can unsubscribe from these emails any time if you don’t like them.