Shopify International Shipping: Zones, Rates and Returns for Australian Brands

Team Insiteful

Shopify international shipping guide featured image with a global routing illustration on a dark teal gradient

An Australian brand turns on Shopify Markets, adds a “Rest of World” shipping zone with one flat rate, and waits for the offshore orders to arrive. Sessions from the US and UK climb. Add-to-carts climb. Then the checkout data comes back and the international conversion rate sits at roughly a third of the domestic number.

Nothing is broken. The store loads, the currency converts, the rates display. The problem is that the shipping configuration was built for one country and then stretched over forty. A single flat rate that works for Auckland is either a loss on every Los Angeles parcel or a wall in front of every Manchester shopper.

The numbers are unforgiving. Baymard puts the average cart abandonment rate at 70.22%, and unexpected extra costs remain the single biggest reason people leave. On cross-border carts specifically, 48% of shoppers walk when international shipping costs push the total past what they expected. Shipping is not a settings page. For a brand selling offshore it is the largest single lever on international contribution margin, and it needs to be architected the same way you would architect a theme or a checkout.

Why a Single “Rest of World” Zone Quietly Costs You Orders

A shipping zone is a group of countries that share a rate. The default instinct is to build two: Australia, and everywhere else. That structure guarantees you are wrong in both directions at once.

Freight from Melbourne to Auckland and freight from Melbourne to Dublin are not remotely comparable. A 1kg parcel to New Zealand on Australia Post Pack and Track runs a fraction of the same parcel to Ireland, and DHL Express typically undercuts AusPost EMS on both price and transit time for anything above roughly 2kg heading to Europe, North America or the Middle East once volume rates apply. Averaging those into one number means the New Zealand customer subsidises the Irish one, and you lose both.

When we rebuild international shipping for an Australian client, the starting architecture is almost always five zones, not two. Each zone maps to a genuine freight band and a genuine demand pattern, not to a continent on a map.

ZoneCountriesTypical rate modelWhy it stands alone
DomesticAustraliaFree over threshold, flat underHighest volume, best negotiated rates
Trans-TasmanNew ZealandFlat, lowShort haul, cheap, high repeat rate
North AmericaUS, CanadaWeight-based tiersLargest offshore market, duty de minimis matters
UK and EUUK, Ireland, EU statesWeight-based, DDPVAT and IOSS obligations change the maths
Rest of WorldEverything elseCarrier-calculatedLow volume, high variance, do not guess
The five-zone baseline we deploy before any market-specific tuning.

The last row matters more than it looks. Low-volume, high-variance destinations are exactly where a flat rate loses money on the parcels you did not anticipate. Push them to carrier-calculated and the carrier absorbs the guessing for you.

Shopify admin shipping and delivery settings showing five international shipping zones with rate models and free shipping thresholds
Five zones inside one general profile. Each zone carries its own rate model and its own free shipping threshold.

Shipping Profiles: The Layer Most Stores Never Build

Zones handle geography. Profiles handle product. Most Australian stores we audit have exactly one profile, the General Shipping Profile, doing all the work for a catalogue that contains a 90g sample sachet and a 14kg piece of furniture.

Shopify lets you create custom profiles that apply different rules to specific products and specific locations. That is the mechanism for separating oversized freight, restricted goods and dropship items from your standard parcels without writing a line of code.

The profile matrix we build for a mid-sized Australian catalogue usually looks like this:

  • General profile. Standard parcels under 5kg. Carries all five zones. Handles 80% or more of order volume.
  • Oversized profile. Bulky or long items. Domestic and Trans-Tasman only, carrier-calculated. Offshore destinations are excluded so the item simply does not offer a rate rather than offering a wrong one.
  • Restricted profile. Aerosols, liquids over a volume limit, lithium cells. Domestic only, road freight rate. This is the profile that stops a customs seizure from becoming a chargeback.
  • Sample and accessory profile. Sub-200g items. Flat low rate to all zones, because letter-rate economics are completely different to parcel economics.
  • Dropship or supplier-direct profile. Tied to the supplier’s location so rates calculate from their warehouse, not yours.

The restricted profile is the one founders skip and later regret. Australia Post and every express carrier maintain prohibited and dangerous goods lists that differ by destination country. If your checkout quotes an international rate on a product the carrier will not fly, you have already taken the money and you will be the one paying to unwind it.

Flat, Weight-Based or Carrier-Calculated: Picking Per Market, Not Per Store

There is no single correct rate model. There is a correct rate model per zone, and the decision comes down to how predictable your parcels are into that zone.

Carrier-calculated rates pull live pricing from UPS, FedEx, DHL or Australia Post based on weight, dimensions and destination, so the number at checkout matches the number you will actually pay. That accuracy comes at a cost: it depends on clean product weights and dimensions across every variant, and it introduces a live API call into the checkout. If your catalogue has half its variants sitting at 0kg, carrier-calculated rates will return nonsense or nothing at all.

The decision rule we apply is straightforward:

  • Flat rate when parcel weight into that zone varies by less than about 40% and volume is high enough to average out. Trans-Tasman is the classic case.
  • Weight-based tiers when you have clean weight data and want predictable margin per band. Four to six bands is the practical ceiling before customers stop understanding the ladder.
  • Carrier-calculated when parcels are genuinely unpredictable or the destination is low volume. Also the right answer for oversized freight anywhere.

Before any of this goes live, the data audit comes first. We run a variant-level check for missing weights, because a rate table built on incomplete data will fail silently at checkout rather than loudly in testing.

# Find every variant missing a shipping weight before enabling
# carrier-calculated rates on any international zone.

query {
  productVariants(first: 250, query: "weight:0") {
    edges {
      node {
        id
        sku
        displayName
        inventoryItem {
          measurement { weight { value unit } }
          requiresShipping
        }
      }
    }
  }
}

Run that against the Admin GraphQL API, export the result, and fix the weights before you switch a single zone to carrier-calculated. On a 900-SKU catalogue we recently migrated, that query returned 214 variants with no weight recorded. All of them would have quoted zero-dollar international freight.

Freight recovery audit dashboard showing average shipping recovery per parcel by destination country with six of eight countries shipping below cost
The freight reality check we run before touching settings. Six of eight destinations were shipping below cost on a single flat rate.

Landed Cost: What DDP Actually Does to Your Conversion Rate

Delivered Duty Paid means the customer pays duties and import taxes at your checkout and the parcel clears customs without a second invoice. Delivered Duty Unpaid means the carrier chases the customer at the door for a bill they never agreed to.

The trade-off is real and it is measurable. Collecting landed cost upfront typically adds 20% to 30% to the visible total on UK and EU orders and 10% to 15% on inbound Australian orders. That is a larger number at checkout. But it cuts refused-parcel rates from the 2% to 5% range down to under 1%, and it lifts conversion by 5 to 10 percentage points because the price the shopper sees is the price they pay.

A refused parcel is not a neutral event. You pay outbound freight, return freight, and you lose the sale. Model it properly before choosing DDU because it looks cheaper on the rate card.

Line itemDDU orderDDP order
Order value$220 AUD$220 AUD
Shipping shown at checkout$34 AUD$34 AUD
Duties and tax shown at checkout$0$46 AUD
Total shown$254 AUD$300 AUD
Refusal rate2% to 5%Under 1%
Cost of a refusal$68 AUD freight both ways plus lost saleRare
Support tickets per 100 ordersHigh. Customs invoice queriesLow
The DDU rate card looks cheaper until you price the refusals and the support load.

Shopify Markets can calculate and collect duties and import taxes at checkout on eligible plans. Turning it on is a settings change. Getting it right is a data exercise, because duty calculation depends on an HS code and a country of origin on every product. Missing HS codes means fallback estimates, and fallback estimates mean you either overcharge the customer or eat the shortfall.

Cross-border analytics dashboard comparing DDP and DDU checkout completion rates by cart value band and the total cost of a refused parcel
DDP shows a bigger number at checkout and still converts better in every cart band, because the number is final.

Free Shipping Thresholds That Do Not Quietly Eat Margin

Most Australian stores set one free shipping threshold and apply it globally. If your domestic threshold is $99 AUD and you extend that to the United Kingdom, you are absorbing roughly $30 to $45 AUD of freight on a $99 order. On a 55% gross margin product that wipes out most of the contribution.

The threshold has to be calculated per zone, from actual freight cost and actual margin. The formula we use is deliberately simple so the client can maintain it without us:

Threshold = (Average freight cost to zone) / (Gross margin % x Absorption tolerance)

Example, UK zone:
  Average freight to UK       = $38 AUD
  Gross margin                = 0.55
  Absorption tolerance        = 0.30  (willing to give up 30% of GM)

  Threshold = 38 / (0.55 x 0.30) = $230 AUD

Round to a psychologically clean number: $229 AUD

Run that per zone and you will usually end up with something like $99 AUD domestic, $149 AUD Trans-Tasman, $199 AUD North America and $229 AUD UK and EU. Four different numbers, each defensible, none of them destroying margin.

Then surface the threshold. A cart drawer progress bar that says “Add $54 more for free shipping to the United Kingdom” does two jobs at once: it lifts average order value and it removes the sticker shock that drives that 48% cross-border abandonment figure.

Controlling the Rate Ladder with a Delivery Customization Function

Zones and profiles determine which rates exist. A Delivery Customization Function determines which of them a customer actually sees, in what order, and under what name.

This matters more than it sounds. If an international shopper is presented with five rates including an $89 AUD express option they will never take, the whole ladder reads as expensive. Hiding, renaming and reordering the options is conversion work, not admin work.

Shopify Functions replaced Scripts for this logic, and Scripts stopped being supported after 30 June 2026. Functions compile to WebAssembly and execute in under 10ms, so there is no checkout latency penalty for running this logic on every session.

// Delivery customization: hide express on low-value international
// carts, and rename standard so the transit expectation is explicit.

export function run(input) {
  const country = input.cart.deliveryGroups[0]
    ?.deliveryAddress?.countryCode;
  const subtotal = parseFloat(
    input.cart.cost.subtotalAmount.amount
  );

  const operations = [];

  for (const group of input.cart.deliveryGroups) {
    for (const option of group.deliveryOptions) {
      const isExpress = option.title.includes("Express");

      if (country !== "AU" && isExpress && subtotal < 300) {
        operations.push({ hide: { deliveryOptionHandle: option.handle } });
        continue;
      }

      if (country !== "AU" && option.title === "Standard") {
        operations.push({
          rename: {
            deliveryOptionHandle: option.handle,
            title: "Standard International (7 to 12 business days)"
          }
        });
      }
    }
  }

  return { operations };
}

Two rules, and both are doing conversion work. The first stops a $300-plus express rate from anchoring the entire ladder as expensive on a $120 order. The second replaces a bare word with a delivery expectation, which is the single most requested piece of information in international checkout support tickets.

Cross-Border Returns: The Line Nobody Models Until It Hurts

Shipping architecture is only half of it. Every parcel you send offshore is a parcel that might come back, and cross-border returns cost roughly 2.5 times what a domestic return costs.

The typical cross-border return rate sits around 20%, though the pattern is interesting: international orders are often returned less than domestic ones, partly because customers are put off by the cost and effort. That is not a win. Somewhere between 25% and 30% of international shoppers abandon the return process entirely once they see the fees and instructions, and an abandoned return is a customer who never orders again.

The number that catches most Australian brands out is duty recovery. Only 18% of cross-border operations consistently reclaim the duties and taxes paid on goods that come back. The other 82% simply absorb it. On a $150 order at a 20% duty and tax rate, that is $30 evaporating on every single return.

Return scenarioPolicy we recommendReason
Low-value item, high freight ratioRefund and let the customer keep itReturn freight exceeds recoverable value
Mid-value, resellablePrepaid label, fee deducted from refundRecovers most of the unit cost
High-value, region has volumeRegional return hub, consolidated backConsolidation cuts per-unit freight sharply
Faulty or wrong item sentFree return, no questionsYour error. Never make the customer pay
Returns policy by scenario, not one blanket rule applied to every market.

Publish the international returns policy on the product page, not buried in a footer link. The cost of a returns policy is paid whether or not the shopper reads it, so you may as well earn the conversion lift from showing it.

Fulfilment Architecture: One Hub, Regional 3PL, or Both

Every shipping decision above sits on top of a physical question: where do the parcels leave from? Australian brands going offshore have three realistic answers, and the right one is usually a function of order volume into a single region rather than total revenue.

  • Single Australian hub. Everything ships from your warehouse. Simplest inventory position, highest freight cost per offshore parcel, longest transit. Correct until a region reaches meaningful, repeatable weekly volume.
  • Regional 3PL. Inventory pre-positioned in the destination region. Freight drops to domestic rates in that market, transit collapses from weeks to days, returns become local. Costs you a second inventory pool and a forecasting problem.
  • Hybrid. Best sellers pre-positioned regionally, long tail shipped from Australia. Configured in Shopify as separate locations with a fulfilment priority order.

The hybrid model is where most growing Australian brands land, and Shopify supports it natively. Locations carry their own inventory, shipping profiles are location-aware, and rates calculate from whichever location will actually fulfil. The build work is in the fulfilment logic, not the storefront.

One warning. Do not move to a regional 3PL because a competitor did. Move when the freight saving on your current offshore volume exceeds the fixed cost of the second location, including the working capital tied up in duplicated stock. That calculation usually needs 40 to 60 orders per week into the region before it clears.

Where the Pieces Compound

Taken individually, none of these changes look dramatic. Splitting one zone into five. Adding a restricted-goods profile. Recalculating four thresholds. Writing thirty lines of Function code. Publishing a returns matrix.

Together they change the economics of the entire offshore channel. Accurate zones stop you subsidising the wrong customers. Correct profiles stop you quoting rates on parcels that cannot legally fly. DDP removes the second invoice at the door and takes refusals from 5% to under 1%. Per-zone thresholds protect contribution while still giving shoppers a reason to add one more item. The Function stops a rate ladder from reading as expensive. And a returns policy priced per scenario stops 20% of your offshore orders from silently deleting your margin.

Australia Post lifted international parcel and letter pricing by an average of 3.75% from 1 July 2026. Freight costs will keep moving. A shipping architecture built as a system absorbs that. A single flat rate does not.

How We Do It at Insiteful

When a client comes to us wanting to sell offshore, we do not open the shipping settings first. We open the data.

The first pass is a variant audit: weights, dimensions, HS codes, country of origin, and the requires-shipping flag on every SKU. Nothing about international shipping calculates correctly on top of incomplete product data, and this is where the majority of broken international checkouts we inherit trace back to.

The second pass is a freight reality check. We pull twelve months of actual fulfilment cost by destination and weight band from the client’s carrier accounts and compare it against what the store has been charging. On almost every audit we find at least one zone that has been running at a loss and at least one that has been overcharging enough to suppress conversion.

Only then do we build. Zones, profiles, rate tables, duty collection, Delivery Customization Functions and the cart-drawer threshold messaging all go in as one connected piece of work, tested against a matrix of real destination addresses and real cart compositions before anything reaches a live customer. We test the failure cases deliberately: the restricted product to a country that bans it, the zero-weight variant, the oversized item to a zone with no rate.

We build native Shopify. No headless layer, no custom shipping middleware sitting between the customer and the checkout. Everything above runs on Shopify Markets, shipping profiles, Functions and locations, which means the client’s team can maintain it after we hand it over. That is the point.

Across hundreds of Aussie Shopify founders and the builds we have shipped for them, the pattern holds: international shipping is rarely a demand problem. It is an architecture problem wearing a demand problem’s clothes.

Getting Your Offshore Shipping Right

If your international conversion rate is a fraction of your domestic number, the fix is almost never more traffic. Start with the variant audit, then rebuild the zones, then price the thresholds off real freight data. In that order.

If you are weighing up how to structure international shipping on your own Shopify build, that is exactly the kind of call we help Australian founders make. See how we approach a build.

© Insiteful.
Lovingly human-made.