The ‘Cost per product’ feature allows you to easily configure shipping cost cost per product or variation within a shipping rate. These settings can be found in the Advanced Pricing section of the Advanced Shipping for WooCommerce plugin.

This doc generally explains the possibilities and features of the feature and how it can be used.

Shipping Cost Per Product

The shipping cost per product feature is very flexible in allowing you to configure shipping cost per product, variation and has options to set conditions based on the product quantity, subtotal or weight that is present in the cart.

The fees added in this section will be added to the shipping rate cost. It however does not determine if a shipping rate does or does not show up, this is all handled with the main conditions.

You can add as many rows as you’d like (as long as your server doesn’t hit any limits), there’s no limit within the plugin.

The ‘Product’ Field

The ‘Product’ field is relatively simple; here you can search for and select products or product variations. When selecting a variation is will only use values of that variation with the Min/Max fields. When selecting a main (variable) product, it takes the value of all possible variations of that product that are present in the cart.

The ‘Min/Max’ Fields

The ‘Min/Max quantity’ fields natively work based on the item quantity that is present in the cart. There are different ‘modifier characters’ available that can modify this behaviour to change it to be based on the product subtotal or weight.

Both fields are optional, when left empty there will be no minimum threshold or maximum limit accordingly. When one of the two is entered it will simply apply the threshold or limit accordingly.

Setting Shipping Cost Based On Product Quantity

To setup shipping cost per product quantity you can enter any valid numeric value in the Min/Max fields. The rule(s) will only apply and the amount added when the product is present in the cart and matches the Min/Max quantity conditions.

Setting Shipping Cost Based On Product Weight

By using a ‘w‘ modifier character in the Min or Max fields you can change the default behaviour of matching against product quantity to product weight, allowing you to setup shipping cost based on the product weight.

Below a sample setup based on the product weight. Note the decimal accuracy of the weight ranges, if you enter ’10’ instead of ‘10.1 / 10.01′ it will apply both the first and second rules when the weight is exactly ’10’.

The weight is unit independent (or can be considered the same as the store unit). You should not add any weight unit to the value, e.g. entering a value of 10kg would be invalid and won’t work as you’d expect.

Setting Shipping Cost Based On Product Subtotal

To setup shipping cost based on the product subtotal you can use the dollar sign ($) modifier character (its always the dollar sign, no matter your store currency).

The ‘Fee amount’ Field

The Fee amount field has different modifier keys to allow for a flexible way of setting up different cost to be added (or deducted) from the shipping rate cost.

Flat Fee

Any numeric value without any other characters will be added as a flat fee. Adding a minus sign (-) will deduct it as a flat fee from the shipping cost.

Example value: 10 – Add $10 to the shipping rate cost
Example value: -10 – Deducting $10 from the shipping rate cost

Cart Subtotal Percentage

Using a percentage (%) sign with a numeric value will change the behaviour to calculating and adding a cart subtotal percentage accordingly.

Example value: 10% – Adding 10% of the cart subtotal

Product Subtotal Percentage

With a double percentage (%%) you’ll be able to setup a percentage cost of the product subtotal.

Example value: 10%% – Adding 10% of the product subtotal

Cost per Item

Using a asterisk (*) character you can configure a value that will be multiplied with the quantity of the select product that is present in the cart.

Example value: 10* – Adding $10 per item of the selected product (variation)

Additional Cost per Item

To configure a “Additional cost per item” you can use a double asterisk (**). The value set in the ‘Min quantity’ field will be used as the number to start counting from. With this feature you’re able to for example configure a setup that charges “$5 base cost for the first 5 items, and $2 for each additional after that”

Min quantity Max quantity Fee amount Product quantity Shipping cost added
5 1** 8 $3
5 2.5** 8 $7.5
6 10** 12 $60

Cost per Interval

With the Cost per Interval feature you can configure a setup that charges cost like “$4 for every 12 quantity”. The plugin has two different ways you can configure this, the difference between the two is that one rounds up and the other down.

Cost per Interval Rounding Up

Using a forward slash (/) you can setup a cost per interval that will be rounding up. Setting a value like “4/12” will translate to “Add $4 cost for every 12 products, rounding up”.

This table illustrates how different cost will be added depending on the fee amount value entered and the product quantity that is present in the cart.

Fee amount Product quantity Shipping cost added
4/12 1 $4
4/12 11 $4
4/12 12 $4
4/12 13 $8
4/12 24 $8

Cost per Interval Rounding Down

Using a back slash (\) the cost per interval will be rounded down. This means the cost won’t be added until the quantity is a ‘full’ quantity fo the entered interval. Using a value like “4\12” translates to “Add $4 for every 12 products, rounding down”.

The table below illustrates different scenario’s of the configured fee amount and the product quantities that are in the cart. The last column shows what cost will be added to the shipping rate cost.

Fee amount Product quantity Shipping cost added
4\12 1 $0
4\12 11 $0
4\12 12 $4
4\12 13 $4
4\12 24 $8