Shopify Shipping in Australia: How to Stop Losing Money on Shipping Fee’s

Shopify is a fantastic platform for us Australian drop shippers however it’s lacking in one very important area… shipping.

Shopify, if you’re reading this, C’mon guys… you need to realise that sending a carton from Melbourne, VIC to Weilmoringle, NSW is way more expensive than sending that same parcel from Melbourne, VIC to Sydney, NSW.

It’s almost double the price!

So what are us Aussie Shopify users do to?

Shopify Shipping in Australia- how to stop losing money on shipping fees

I’ve been battling with this issue since I first started drop shipping in 2014 and have had some really costly orders from remote locations where I didn’t just break even, I lost money on the sale due to the high cost of shipping to the customer.

Last Weeks BigPost Invoice

Last Weeks BigPost Invoice for over $1,000

At first, I started to exclude high-cost shipping areas from my advertising areas on Google AdWords such as to Western Australia and the Northern Territory.

But as my store began to climb the SERP’s (Search Engine Results Pages ie: Google), I no longer had control of who was able to access my website and buy my products.


My next attempt at a solution was a two part system


Part 1. Geotargeting bid adjustments in Google AdWords

I began advertising in high-cost shipping areas again but I reduced my ad spend for those areas in AdWords by adjusting my location targeting bids down on a deeper level. Here’s how I split my AdWords Geotargeting up for advertising in Australia:

Location Area Bid Adjustment %
Australian Capital Territory, Australia (state)  0
New South Wales, Australia (state)  0
Northern Territory, Australia (state) -50
Queensland, Australia (state)  0
South Australia, Australia (state)  0
Tasmania, Australia (state) -50
Victoria, Australia (state)  0
Western Australia, Australia (state) -50
Sydney, New South Wales, Australia (city)  0
Darwin, Northern Territory, Australia (city) -25
Brisbane, Queensland, Australia (city)  0
Adelaide, South Australia, Australia (city)  0
Hobart, Tasmania, Australia (city) -25
Melbourne, Victoria, Australia (city)  0
Perth, Western Australia, Australia (city) -25

Areas that were more expensive to ship to such as regional and remote WA have a 50% reduction in ad spend for each search query whereas the same search query from someone in Perth, WA would only trigger a 25% reduction in ad spend as shipping to Perth isn’t as expensive. By separating each major city and state within Australia, I was then able to control how much I spent on advertising for each location.

By separating each major city and state within Australia, I was then able to control how much I spent on advertising for each location.

Still, it didn’t solve the problem entirely as I was still getting traffic from remote areas.

Part 2. Shipping Disclaimer 

I introduced a disclaimer for my shipping rates within the stores shipping policy that said…

“Below is a list of our standard home delivery zones. Deliveries outside of these areas may be to a local depot and/or may incur additional charges. Be sure to check the list below before placing your order and contact our team if you have any questions.”

This approach worked but it involved a lot of manual work to chase up each customer who ordered from a non-metro location to then ask them for an additional payment.

And in some cases, it resulted in the sale being lost and an unhappy customer 🙁

I knew it wasn’t going to be a long term solution.

Raise the Shipping Rate To The Average Cost

My next approach was to increase the shipping rates to the average shipping price for the standard delivery areas as well as the regional areas.

For example; One of the stores shipping rates was $50 for 40kg to 50kg to addresses in Victoria. This would cover the standard delivery areas just fine. In some cases, the regional cost would be as high as $100 so I changed the rate for all orders of that 40kg to 50kg shipping rate from $50 to $75 to compensate for the regional orders.

Some you win and some you lose.

But this meant I was also losing out on sales as people in standard delivery zones would be put off by the price.

I even edited the message on the store’s cart page shipping estimator to say something like “Shipping cost too high? Call our team to get a better rate!”.

Of course, you can tell what happened then, right?

Everyone called and asked for a better rate. I spent far too much time on the phone with customers checking prices with BigPost (my preferred freight broker) to get the customer the best shipping price.

*Bangs head against desk*


Build My Own Shipping App to Show Live Carrier Rates

It was around this time that I hired my first full-time VA. It was bad enough that my time was being wasted looking for shipping rates for the customer but I knew I really didn’t want to be paying her to manually fetch shipping rates.

I reached out to a program developer buddy of mine that I met while in Chiang Mai with my problem, hoping he could help develop a shipping app.

Eating dinner at Imm Iam in Chiang Mai

My buddy Drew and I with our families eating dinner at our favourite vegetarian restaurant in Chiang Mai – Imm Aim

I knew this was possible as there are other apps similar on the Shopify App Store like the Australia Post Shipping Extension so it’s something that we could potentially build.

The idea was that we’d develop a shipping app for Australian stores using Shopify. The app would use the APIs from the two freight brokers that I used the most often–Transdirect and BigPost.

In theory, we’d be able to show live shipping rates from the freight providers on both Transdirect and BigPost, allowing the customer to choose which suited best.

We hit a brick wall after diving into this idea as to enable this to work, the Shopify user (you guys) would be required to create packages for each product and to be on a 12-month Shopify Plan.

After researching the market we concluded that there just wasn’t enough potential customers out there to justify the cost of developing the app… for now.

So, I was left back at square 1.

The Next Best Solution to Live Shipping Rates: Postcode Shipping Extension

Postcode shipping extension app for shopify

I’m not sure how I came across it but somehow I found an app called Postcode Shipping Extension which provides customised shipping rates based on global postcode ranges.

The Postcode Shipping Extension app is pretty powerful in regards to how deep you want to go with creating different shipping rates. I won’t go into all the details here – I’ll leave that for you to discover on your own.

Instead, I want to share with you how I use this app on my Shopify stores…

How I use the Postcode Shipping Extension App on my stores

With the use of this app, I’m now able to charge customers the correct shipping price depending on their postcode rather than just a state wide flat rate.

I’ve set up this app in such a way that each postcode is categorised into one of five categories:

  1. Metro
  2. Inner Regional
  3. Outer Regional
  4. Remote
  5. Very Remote

As I’m in Australia there are plenty of towns here that are as we say “out in the sticks” which pretty much means “out in the middle of nowhere” or “very remote”.

Customers who place orders from out in the sticks are only shown a “Very Remote” shipping rate whereas customers who are from a major city or town area would be shown a cheaper “Metro” shipping rate.

The other 3 shipping rates would be shown to people who are located between “Metro” areas and “Very Remote” areas.

How The Postcode Shipping Extension App Works

How this app allows you to calculate the rates is pretty cool. I’ll show you how I’ve set it up on my store soon. But first, here’s a basic example of how having rates for different postcodes would work using Postcode Shipping Extension.


Example #1

Bruce the shopper lives in Southbank Victoria, 3006. He orders an item that is 15kg in weight. When Bruce is at checkout, Shopify calls upon the weight based shipping rate that is set for products between 14kg and 20kg for Barry’s postcode of 3006 which is called “Metro: Domestic Shipping” at a cost of $35 to Bruce.

shopify shipping calculated quotation at checkout for metro shipping


Example #2

Bruce’s mate Barry also wants to buy the same item as Bruce but he lives out in White Cliffs, NSW 2836. When Barry is at checkout, Shopify calls upon the weight based shipping rate that is set for products between 14kg and 20kg for Bruce’s postcode of 2836 which is called “Very Remote: Domestic Shipping” at a cost of $110 to Barry.

shopify shipping calculated quotation at checkout for very remote shipping

As you can see, instead of losing $75 on shipping fee’s for Barry’s Very Remote order he’s been charged an accurate amount for his location.


Setting up this app isn’t easy. But here’s how I did it

Here’s a quick overview of how to set up the app as I have on my stores:

  1. Upgrade to an Annual plan on Shopify
  2. Install the Postcode Shipping Extension app
  3. Add your postcode zones (if you’re in Australia use the Postcode shipping zones spreadsheet I’ve created here)
  4. Add your shipping rates
  5. Delete your old shipping rates

Step 1. Upgrade to an Annual plan on Shopify

One of the obstacles I had with this app is that I needed to have Carrier Calculated Rates enabled from Shopify.

To enable the calculated shipping feature on my store I had to upgrade an Annual plan (pay for the Shopify subscription for 12 months in advance.) or pay an additional $20/month on the monthly cycle.

I paid for the Annual plan and saved myself $96 in doing so!

shopify save $96 by upgrading to annual plan

You can be on the Basic $29/month Shopify plan or the Standard $79/month Shopify plan to enable the carrier calculated feature.


How to activate carrier calculated shipping

Simply head to your store and navigate to: Settings > Account > Compare plans > Change your Billing Period.

shopify dashboard compare plans link

Once you’ve paid for the annual plan just shoot Shopify support an email ( letting them know that you’d like to have the carrier calculated rates function enabled.

A Shopify guru will get back to you within a few days with the confirmation 🙂


Step 2. Install the Postcode Shipping Extension app

Postcode Shipping Extension

I’ve got to admit – the app isn’t designed the best for user experience. But hey, it works! For me, it just took a little getting used to how to navigate my way around it.

To install the Postcode Shipping Extension app click here.


Step 3. Setting Up Postcode Ranges

When I got to this point I was stumped.

I didn’t know what postcodes were remote and which were metro.

After a few days of searching, I stitched together data from a number of websites to build a complete list of Australian postcodes which I put into a handy Postcode Zones spreadsheet.

(Note: for all you folks who aren’t in Australia, search Google for “remote zip codes” or “regional postage zones”. You could even approach a few universities that may have conducted location research and ask for their data.)

The Postcode Zones spreadsheet that I created consists of 13 sheets. You’ll only need the first 3 to begin with:

  • Sheet 1. Has the Metro postcode zones for ACT, NSW, SA, QLD & VIC as well as WA, NT & TAS
  • Sheet 2. Has the Inner Regional, Outer Regional, Remote and Very Remote postcodes for ACT, NSW, SA, QLD & VIC
  • Sheet 3. Has the Inner Regional, Outer Regional, Remote and Very Remote postcodes for WA, NT & TAS

Once you’ve installed the app, open the Postcodes section and click the + Add Postcode Range button to set up a new range.

add postcode range button on Postcode Shipping Extension app

Enter your Range Name, Postcode Ranges and Country for your shipping locations.

Add range screen Postcode Shipping Extension

Here’s how I’ve got mine set up:

(This location setup works for the products in my store but may not necessarily work for yours. Use your own judgement here and adjust as you see fit)

Range Name: Metro A,N,S,Q,V
(Note: Only you see the range name. The above stands for ACT, NSW, SA, QLD and VIC but there isn’t enough characters for the full description)
Country: Australia
Postcode Matches: 1000-5999
(Note: this is shown on Sheet 1 of the Postcode Zones spreadsheet)
Excluded Postcodes:
Add all the postcodes from Sheet 2 on the Postcode Zones spreadsheet
Catch All? No

Click the Submit button to save the rate

Next, we’ll be adding the rates for this postcode range. Don’t worry – you’ll be able to go back later on to finish adding the remaining range.


Step 4. Setting Up Rates

Open the Postcodes section and click the Add Rate button under the desired range to setup a new rate.

Add rate button on the Postcode Shipping Extension

Enter your Rate Title, Base Rate, select Rate Type and set the Rate Cost.

Add rate screen Postcode Shipping Extension

Here’s how I’ve got mine set up for the first shipping rate “Metro: Free Shipping” on Sheet 4 of the Postcode Zone spreadsheet:

(As mentioned before, this setup works for the products in my store but may not necessarily work for yours. Use your own judgement here and adjust as you see fit)

Rate Name: Metro: Free Shipping
Base Rate: 0
Rate Type: By Weight
Rate Cost: 0
Minimum Weight: 0
Maximum Weight: 1
Minimum Quantity: 0
Maximum Quantity: 999999
Minimum Order Price: 0
Maximum Order Price: 999999

Click the Submit button to save the rate.

Continue to use the Postcode Zone spreadsheet to add each rate for the Metro rate range then move on to Sheet 5 for the Inner Regional rate range and so on.

Lastly, once you’ve finished adding all of the rates for each range, go back to Step 3 and add the WA, NT & TAS Postcode Range and the rates for this range.


Arrrrgh… I’m Lost?!

I bet most of you will read this and still be unsure. As I mentioned the app doesn’t have the best user experience in mind.

But stick with it. Re-read over the steps I laid out and you’ll eventually get it.

I know… It’s tedious work, but once it’s done it’s done!


Step 5. Delete your old shipping rates after you test the app

Now that the Postcode Shipping Extension app is managing your shipping you’ll need to go back and delete your original shipping rates from your Shopify shipping dashboard so that your customers aren’t shown the old rates and the new rates at checkout.

Of course, they’ll choose the cheaper out of the two!

(Note: don’t delete the zones, just the rates in each zone)

Before you delete anything, first head to your store and test out the shipping rates for a few of your products in different postcodes.


How to make your shipping rates seem like they’re live rates

Real calculated shipping rates are rarely rounded to full dollars (Eg. $20.00). So when a customer is shown a shipping rate such as $20.00 or $30.00 for example, they may think that you’re overcharging for shipping and not purchase.

I like to remove this fear by applying a rate adjustment in the Shopify shipping settings.

By applying a -$0.47 reduction to each shipping rate the customer is shown a shipping price of $19.53 rather than $20.00.

Calculated shipping rates adjustment in shopify


Does this work with Google Shopping?

Yes! I was waiting until Google crawled my site and testing the website shipping prices before writing this post just so that I was sure that the app worked with Google Shopping.

As Google tests from 48 Pirrama Road NSW 2009 only the “Metro: Domestic Shipping” shipping rate is shown as the postcode 2009 is in an inner city metro area.

Google testing shipping rates using the address 48 Pirrama Road 48 Pirrama Road

I’m still testing and adjusting

Now that I don’t get stung by extra shipping costs by customers ordering from out in the sticks I’m a happy chappy. However, I don’t want to be losing sales when the shipping rates are too high.

Every now and then I’ll go back and check these rates to make sure they’re accurate and I’m not overcharging my customers or worse, losing sales for having the shipping costs too high.

I’ve found it easiest to change the weight of the product rather than adjust each rate in the app.

It doesn’t eliminate our problem, but it’s the best we can do for now

I still think that we need a shipping app here in Australia that connects with the major shipping carriers we use and displays live shipping rates to our customers. But for now, this is the most accurate method I know.

Let me know what you guys think and if you’ve found a better shipping method to use in the comments!