When using multiple shipping groups with Table Rates carriers, often different shipping groups will have different methods. This article will cover how the different shipping groups will affect the outcomes.
Pre-requisites: This article assumes you already have a Table Rate Carrier and understand how the setup of Table Rates works. It also assumes that you will be using Shipping Groups to affect rates for certain products. See the Shipping Group Configuration article for details on how to create a shipping group and the Table Rates Configuration article for the general overview of how to create a Table Rates carrier.
This article will use the following product configuration throughout these examples:
Red Sofa Piece, price 45, weight 4, not assigned to a shipping group.
Dark Wood Desk, price 145, weight 25, assigned to a “Bulky” shipping group.
Mobile Phone, price 32, weight 1.4, assigned to a “light” shipping group.
NOTE: Products not assigned to a shipping group may show as “UNDEFINED” in the Table Rates configuration section. This is normal.
For simplicity all shipping addresses will receive the same rates.
It is important to ensure that the “Maximum Per Package Weight” and “Maximum Carrier Shipment Weight” options are adequately high enough for the weights of the products that will be handled by the Table Rates carrier.
Same shipping methods
The example image below shows rates for different shipping groups. All of the products share the same shipping method names, though they have different rates between them. This is the simplest way to configure table rates carriers.
With the above configuration, the table is using the “Cumulative” totalling algorithm. This means the shipping group rates will add together when there are multiple shipping groups in the cart.
For example, 1x Light plus and 1x Bulky product in the cart will see a rate of 68 for “Next Day”, and 20 for “Ground”.
When using the “Per Item” totalling algorithm, rates will be multiplied by the respective quantities in the cart.
When using “Highest”, ShipperHQ will choose the greater rate of the two groups. In this case for the example above, the rates will be 50 for “Next Day” and 20 for “Ground” as they are the greater rates of the two groups.
Different Shipping Methods
With the configuration examples below, different shipping method names will be displayed for the different shipping groups.
If any of the groups are alone in the cart, all of the respective methods for that group will be displayed. For example, the products not assigned to a shipping group (UNDEFINED) will show “Next Day” and “Ground” as the method until the cart exceeds 100. When the cart exceeds 100, the methods shown will be “Free Shipping”, and “Next Day” will still be offered.
If a Light and a Bulky product are in the cart together, then “Next Day”, “Ground” and “Heavy Goods” will be displayed. If a product not assigned to a shipping group that is over a price of 100 then “Free Shipping” will be displayed as well.
Hierarchically, in this scenario, when all of the different shipping groups are in the cart together, “Free Shipping” should not be displayed because it only applies to one shipping group and “Heavy Goods” should be displayed instead of “Next Day”.
Why does this happen? The system always looks for matching rules within the table rates based on the products that are in the cart.
In the above example, when all three shipping groups are in the cart, it will display the “Next Day” method. This is because it matches on the “Next Day” method products not assigned, and for the “Light” shipping group, but not for the “Bulky” shipping group. That method will be displayed because it applies to at least one of the shipping groups in the cart.
One way to think of this would be to check for any one time that these match
|Unassigned <=100||Unassigned >100||Light||Bulky||Method shows?|
|Free Shipping||X||✓||✓||✓||Only if Unassigned <=100|
To achieve the desired results carrier rules will need to be used to determine when a method name is displayed.
The best way to configure these would be to modify the groups one at a time. This prevents the rules being too complicated too quickly. First, the “Bulky” shipping group’s name change will be addressed as it only entails a name change. The “Free Shipping” method name is based on the cart price so that will require a little extra.
As the rules are currently configured, the “Next Day” shipping method will be displayed in addition to any other eligible shipping method, regardless of the shipping group in the cart. So a carrier rule will be required to hide the unwanted shipping method when there is a product assigned to the “Bulky” shipping group in the cart.
To resolve this, you would:
- Create a new carrier rule and give it a name
- Highlight your “Next Day” method under the “Applicable Shipping Methods” panel
- In the “Conditions” panel, select the “Bulky” shipping group under the “Includes one or more of these Shipping Group(s)” field. None of the other conditions are required for this particular rule.
- Next, under “Actions”, change the action to Hide Shipping Methods and save the rule.
Test this rule on the frontend by adding a “Light” and a “Bulky” product to the cart and requesting a shipping rate. The “Next Day” method will not be displayed.
The carrier rule required for the “Free Shipping” method is very similar to the “Next Day” carrier rule. You can use the duplicate button on that carrie rule to copy the rule. Instead of selecting “Next Day” from the applicable methods, select the “Free Shipping” method and, in the includes one or more of these groups, select “Light” and “Bulky”.
Due to the simplicity of the above scenario it is possible to use the restrictions on the shipping group settings to restrict the available shipping methods. However, this is a more definitive approach to the configuration and can cause conflicts if not careful.
For this approach:
- In the shipping groups tab, select the “Bulky” shipping group
- Under the shipping methods restriction section, highlight the “Heavy Goods” and “Ground” methods.
- Save the Shipping Group.
This will make it so that when any items from the “Bulky” shipping group are in the cart, the whole cart will show only Heavy Goods or Ground methods.
This configuration is fine for when the shipping group being configured is at the top of the hierarchy and is completely unconditional.
An example of where this would not be appropriate would be the configuration of the “Light” shipping group to prevent the “Heavy Goods” shipping method from being displayed. In that scenario, if you add a product that is assigned to the “Light” shipping group to the cart then the “Heavy Goods” method would not be displayed, as expected but, if you then add a product from the “Bulky” shipping group to the cart then the “Heavy Goods” shipping method would still not be displayed because the “Light” shipping group is preventing that method from being displayed.
Carrier Rules (Special Note)
Please note that carrier rules take effect after the table rate carriers have been applied.
For example, from the above tables, if you have a carrier rule that sets free shipping to the LIGHT shipping group and there is a product assigned to LIGHT group, together with a product assigned to the BULKY shipping group this will not take effect as expected. Instead, the rule will need to be incorporated within the table.
Filtering Based on Subtotal
From the above configuration, if the “Light” shipping group products should also receive free shipping when the cart is over 100, then some changes would need to be made to the configuration.
With the above table, if there are 3x Red Sofa Pieces and 1x Mobile Phone in the cart, then the “Free Shipping” method will be displayed in addition to “Ground” and “Next Day”, rather than replacing “Ground”. This is because the filters defined within the table configuration apply to the respective shipping groups.
To make it so that the subtotal between the shipping groups is used, instead of the separate shipping groups’ prices, a filter will need to be created for use with a carrier rule:
- Go to the “Filters” tab on the lefthand nav > Add New
- Select “Whole Cart” under “Filter Applies to”. This will use the sum of all of the products in the cart, regardless of shipping group.
- Next, set the price range of 0 to 100. This filter will be referred to as “Cart price <=100” as the “Maximum” represents “equal to or less than”.
- A separate filter rule will also need to be created for a price from 100 with no maximum.
- Save the Filter
Next, create a new carrier rule:
- Go to Carrier Rules > Add New
- Under the Applicable Shipping Methods panel, select your “Free Shipping” method
- Under the Conditions panel, select the “cart price <=100” filter you made above under Weight/Price/Quantity Filters dropdown.
- Under the Actions panel, set the action to Hide Shipping Methods.
- Save and Duplicate the Rule to make an exact copy (you will adjust this copy via steps below)
In the duplicate rule:
- Change the Applicable Shipping Method to “Ground”
- In Conditions, and the filter for “cart price >100” (remove the “cart price <=100” filter).
- Also in Conditions, set the “Bulky” shipping group under the Excludes these Shipping Groups dropdown. You are excluding this here because the “Ground” method should be displayed when the “Bulky” group is in the cart, regardless of price.
- Set the Action to Hide Shipping Methods
- Save the Rule
Go back to your Table Rates configuration:
- Remove the price filter from the “Ground” shipping method for the “Light” and “UNDEFINED” shipping groups.
- For the “Free Shipping” shipping method, deselect all methods from the “Shipping group” field. If you are using a CSV to import the table, you’ll change the shipping group column to an asterisk (*).
- This will make it so that the carrier rule controls the display of the “Free Shipping” method instead of the Table Rate.
- These adjustments made to the table should look like the below screenshot:
This will then provide the desired results using the combined total of the “Light” shipping group and products not assigned to a shipping group.