Shopify Auto-Combining Shipping Prices

Shopify Auto-Combining Shipping Prices

Background

This tutorial is going to discuss the potential issues that occur with Shopify pricing when a customer orders multiple products that are stocked in different warehouses OR are in different shipping profiles.

Issue Explained

Let's say you have two products, where each of them are only in one warehouse:
  1. Product A - In Stock in Warehouse A only
  2. Product B - In Stock in Warehouse B only
When the user reaches the checkout, Shopify sends us one request for each of these items, because they cannot be shipped together as they are not stocked in the same warehouse.
This also occurs when you split your products into multiple shipping profiles inside Shopify - except they ship them from the same location, but as two requests.
What we get sent from Shopify is:
  1. Get Shipping Quote For Product A from Warehouse A to Customers Address
  2. Get Shipping Quote For Product B from Warehouse B to Customers Address
Shopify then takes the results from both of these requests, and combines the cheapest from both of them into a single shipping price.
Let's say the options returned where:
  1. Product A
    1. Regular Shipping - $20
    2. Express - $25
  2. Product B
    1. Regular Shipping - $25
    2. Express - $30
If the names of the shipping methods match, it retains the name, so in this case, the user would see:
  1. Regular Shipping - $45
  2. Express - $55
But, let's say one item was heavy, and required a tailgate, and the other was small and did not:
  1. Product A (small)
    1. Regular Shipping - $20
    2. Express - $25
  2. Product B (big)
    1. Business - $250
    2. Tailgate Delivery- $550
Now, in this instance, the names are not the same, so Shopify cannot combine them.
Instead, it takes the Cheapest available returned option for each product, and combines them as a single option called SHIPPING.
So, in this example, the user would see:
  1. Shipping - $270
The issue here is that the user may not be a business, and they may require a tailgate - but they are never presented with that option to choose from, and are charged the lesser business price.
Unfortunately, there are limited options with what we can do in this situation. They are:
  1. Only offer tailgate - that way the user will always be charged the higher price
  2. Put the smaller items into the other larger item location, but out of stock - then Shopify should include them with the bigger item in that request, but also still make the separate fulfilment on the order - but I'd test this.
Given that Shopify sends us two requests, and each request has no link to the other (IE. there is nothing that tells us they are related in anyway, or that two requests are coming), we cannot add handling on our side to combine the requests into one.

The other potential issue here is when we have a freight error and use the fall back price/description.

A fallback price is displayed whenever there is an error in us generating a price for a consignment. Common issues are:
  1. No routes/prices available due to no zone rates
  2. Product not added to Machship - so can't get dimensions
In these cases, we would return:
  1. Contact Us For A Freight Quote - $99
Going back to the above example, the issue will quickly become evident:
  1. Product A (small)
    1. Regular Shipping - $20
    2. Express - $25
  2. Product B (big)
    1. Contact Us For A Freight Quote - $99
What the user would see in their cart after Shopify returns the cheapest price in each case is:
  1. Shipping - $119

Potential Solutions

The resolution to this issue is limited, other than to ensure you pay attention to the error emails send by FusedShip and fixing up issues (such as adding products or rates).
The other option is to turn off the back up rates, or increase them. If they were turned off, it may say shipping is not available, or it would use the inbuilt Shopify fallback rates option.

    • Related Articles

    • 1.a - [Shopify] Integration Demo

      In this video we cover an end to end demo of our live pricing and order syncing integrations for Shopify. Below this video will be links to further articles that cover some of the topics mentioned in further detail. In order in install third party ...
    • Shopify - Adding Custom Field

      To add custom fields to product pages in Shopify, follow these steps. Log in to the Shopify admin and go to Settings > Custom data > Products 2. Create a metafield definition. 3. Add values you wish to display on the frontend to the metafield ...
    • Auto-Consolidation Via The MachShip API

      What is auto-consolidation? Auto-consolidation is a feature of Machship that is enabled on a per carrier basis, where we combine newly created consignments into existing consignments at the point they are created, rather than making a new ...
    • A guide to generating prices and routes via the API

      One of MachShip's primary functions is to dynamically generate prices and routes based on the items that are being sent. When pricing, MachShip will describe every despatch option and price that is available for a given combination of: Pickup suburb ...
    • Live Pricing - Carrier Grouping

      Background When a client reaches the checkout, the items in the users cart, as well as their location are sent to us to quote against the carriers in your Machship account. Rather than showing customers all of the potential carriers, services and ...