[ Home ] [ Up ] [ Shipping Answers ] [ Examples ] [ Choosing Shipping Options ] [ Fedex Shipping Calculator ] [ Shipping Option 4 ] [ Option 5 ] [ Option 6 & 7 ] [ UPS Calculator ] [ Option 8 ] [ USPS Rate Calculator ] [ USPS ] [ USPS pounds ]


My grateful thanks to Alan Stoner stonergen@blueyonder.co.uk for taking the time to build this page and share with us a way of determining which shipping option may be best to meet your requirements. Please understand that this is not meant to be the total solution for your needs, but rather a way to hopefully make it easier to determine your needs.

Choosing Shipping Options

This is written as a tutorial so you should start at the beginning.
If however you are returning, the list of contents may be of use.

Where Do I Define It?
Zones
How to Select the Right Option chart
text version
Charging based on number of items The arrays - option 4
The arrays - option 6
How to Apply a Minimum
Minimum Charge Varies by Zone
Some Items Have Free Shipping
Charging based on value or weight The arrays - option 5
The arrays - option 7
How to Apply a Minimum
Minimum Charge Varies by Zone
Some Items Have Free Shipping
Refinements Minimum Charge Not Always Applicable
Running Out of Bands


There's an Excel version of the shipping logic at www.stonergen.pwp.blueyonder.co.uk/shipping.xls,
a Quattro Pro version at www.stonergen.pwp.blueyonder.co.uk/SHIPPING.WB1,
and a Lotus 1-2-3 version at www.stonergen.pwp.blueyonder.co.uk/shipping.123.
Download a version and enter values as on the Shipping Customization page to see some results.

Where Do I Define It?

On Mal's cart, shipping is mainly defined by Option selections made in Cart Setup on the page headed

CUSTOMIZE : SHIPPING CALCULATIONS

Shipping is sometimes free, a flat charge, or based on the cost of the order (sum of price) or the number of items (sum of qty). Because you include price and qty information when defining the product, the only extra shipping definition is done on the Shipping page.

If your charges are based on weight, or some other product related factor, you must also specify the UNITS value in each product definition. (Described later). (There is also a 'SHIPPING' product value which you can ignore.)

Zones

The charging rate may vary according to order value, quantity, weight, so you may need to specify several values. For this you define a table or array for a 'zone'.

Because the charges may vary by shipping destination or carrier service, or some other reason, you can specify up to 5 different 'zones', each with its own array.

How to Select the Right Option

The following table is an attempt to help you to match your requirement to a shipping option.

Work down the questions on the left hand side of the table. The appropriate option(s) are shown on the right. Stop when a Yes answer leads to an option. Once you've chosen your option, we'll discuss how you implement it.

The Options section of the table is split into two columns, and the answer Yes or No to Question 3 determines the relevant column for you. If you need a zone(s), use the Yes column. If you don't, use the No column.

If you find this difficult, a text version follows the chart.

Question & Answer Options
1. Is shipping free? Yes Select 'No Shipping'
2. Is shipping free for orders above a certain value? Yes Put the threshold in the first box on the Shipping page. Continue down this chart to specify shipping costs below that value.
3. Does it vary according to destination, carrier, or service? Yes column No column
4. Is there a flat handling fee on each order and nothing else? Yes Option 6
Zone Units Cost
Zone1 9999 fee1
Zone2 9999 fee2
Option 1. Don't specify a flat handling fee, just the option 1 value.
5. Is the shipping cost the same for each item? Yes Option 5
Zone Units Cost
Zone1 9999 feeperitem1
Zone2 9999 feeperitem2
Option 2
6. Does each item have its own shipping cost? Yes Option 3, cost per unit = 1. Set each product's UNITS value to its shipping cost.
7. Is it dependent on the NUMBER of items? Yes total changes with each extra item Option 4
Yes total changes every few items Option 6
8. Is it dependent on the total ORDER VALUE? Yes total changes with each increase Option 5 with checked box.
If 5% of price then
Units = 9999, Cost = .05
Options 3,5, with checked box.
If 5% of price then Opt 3 .05
Opt 5 Units=9999 Cost=.05
Yes total changes at thresholds Option 7 with checked box
9. Is it dependent on the units value provided for each item? Yes total changes whenever units total changes Option 5 Options 3,5
Yes total changes at UNITS thresholds Option 7


The Same Chart in Words

  1. Is shipping free? If your product prices include the shipping charges or your products are downloaded rather than shipped, just select 'No Shipping' on the cart setup Shipping page. You're done with shipping.

    No shipping
    If you don't wish to have shipping calculated or shown in the cart.

  2. If you give free shipping for orders over a certain value, put that value in the first box on the shipping page. Just the amount without any currency symbol. You'll have to read on so that you can specify charges below that value.

    You can make all shipping free with orders over in value. Set the value to 0.00 (zero) if you don't want this.

  3. If shipping charges are going to vary according to the destination or the carrier, you'll have to choose an option that allows multiple definitions. For example, you may want one set for shipping at home, and another for overseas orders. You have to bear this in mind as some of the subsequent questions result in a different option if you need multiple zones.

  4. If your shipping charge is always the same amount for any order, regardless of destination or carrier, select option 1 and enter the amount. Nothing else to do.

    Option 1:Fixed Value
    Shipping can be a simple fixed amount which is added to every order.
    Shipping cost per order:

    If you use different fixed amounts, for example for different destinations, you will need to use zones. Option 1 doesn't offer zones so select option 6 and say how many zones you need (maximum of five). Name the zone, for example Europe, and then enter 9999 in the UNITS column and the fee in the COST column. With option 6 this says use the COST value regardless of the number of items up to 9999. Do the same for each other zone(s) you need.

    Option 6: Calculated by quantity in bands

    ZONE TABLES

    Number of zones you need to use:

    NAME OF ZONE UNITS COST
    <> Up to <>

    We talk more about zone arrays later. There are more rows of UNITS / COST boxes available but we just need one for the moment. In addition to the fixed amount we have just discussed, it is possible to have a fixed amount (a flat handling fee) which is added to the result of any whatever option is chosen. We'll ignore that until later.

  5. Suppose you have the same shipping cost, $1, for each and every item. Obviously you could include it in the price and go for free shipping. If not, you can use option 2 and enter 1, the cost per item, in the box.

    Option 2:Calculated from quantity
    Shipping can be calculated from the number of items ordered multiplied by a fixed amount for each item.
    Shipping cost per item:

    If you charge $1 for North America and $3 for Europe, you need zones. Select option 5 instead. The UNITS columns can again be 9999 with COST having the cost per item. For option 5 this means multiply the number of items by the cost per item.

    Option 5: Calculated by weight or other value from an array

    NAME OF ZONE UNITS COST
    Up to
    Up to
  6. If each item has its own shipping cost, choose option 3 and set the cost per unit to 1 on the shipping page. For each product set the UNITS value to its shipping cost. A need for multiple zones perhaps means option 5 but we'll come to that later.

    Option 3: Calculated from weight or other value
    As items are added to the shopping cart you can assign a weight, or some other value such as volume or value, to the item on which shipping can be calculated using a fixed cost for each unit assigned.
    Shipping cost per unit:

    The shipping cost per unit (we specified 1) is multiplied by the UNITS value. The total shipping charge will be the sum of the units value of each item purchased. There are several ways to specify UNITS with a product. Suppose we wish to charge $3.50 (or £3.50 or whatever).

    1. If using a hyperlink include &units=3.5

    2. On a single product form

    3. On a multiple product form where X is the product number.

    4. If using productpr (or productprX) the three fields are description:price:units


  7. If the shipping cost depends on the number of items, regardless of weight or value, you use options 4 or 6. With option 4, the cost changes with each extra item. With option 6, there are steps and the cost changes at a certain number of items.

    Suppose shipping for EACH of the first 5 items is 2, for EACH of the next 5 is 1, and any additional quantity is shipped without extra charge. The maximum charge is therefore 15. We use option 4.

    Option 4: Calculated by quantity from an array.

    NAME OF ZONE UNITS COST

    For example; Florida
    Up to
    The next
    The next
    The next
    The rest

    Two things to notice. The UNITS column is specified in increments. We do not put 5 and 10 as thresholds but 5 and 5 as increments. The COST column contains MULTIPLIERS. The shipping cost is the sum of multiplications. If 8 items are purchased, the cost of shipping is 5*2 + 3*1, a total of 13. 9 items would cost 5*2 + 4*1, 14. The total increases with each item.

    Now consider another approach. Instead of increasing the cost with each extra item, we'll do it in steps using option 6. Suppose shipping 1 to 5 items costs 8, 6 to 10 items costs 14, 11 items or more costs 18. We would use the following.

    Option 6: Calculated by quantity in bands

    NAME OF ZONE UNITS COST

    For example; Florida
    Up to
    The next
    The next
    The next
    The rest

    Again the UNITS boxes are increments. What differs is that using option 6 no multiplication occurs. The band costs are ADDED together to determine the shipping charge. 6, 7, 8, 9, or 10 items cost the same amount, 14, the sum of the costs of the first two bands.


  8. If the shipping charges depend on the amount spent, you should use options 5 or 7 and check the box that says set UNITS equal to the price.

    These options are similar to 4 and 6. Option 5 uses multipliers. Option 7 uses bands that are summed.

    Automatically set units to equal the price (shipping by value)

This is the same as repeating the product's cost in the UNITS field but less effort!

Use option 5 (multipliers) if the shipping cost changes with every extra dollar spent. Use option 7 (bands) if it doesn't.

We saw a simple example of option 5 earlier where we charged $1 shipping per item. Let's consider some variations. To make shipping 10% of the value of the order we select option 5, check the units=price box and specify

Option 5: Calculated by weight or other value from an array

NAME OF ZONE UNITS COST
Up to

We could do the same thing with option 3 unless we need multiple zones or multiple lines in our tables. To charge 10% of the first $50 of the order, then 5% of the rest, we'd specify

NAME OF ZONE UNITS COST
Up to
The rest

There's lots of scope. One forum post wanted
Orders 0-$100= 10% of total order
100.01-200.00= 8% of total order
200.01+=5% of total order

The solution was a bit more complex but illustrates the potential. Using option 5

NAME OF ZONE UNITS COST
Up to
The next <>
The next
The next
The rest

Option 7, like option 6, is for steps. Another forum request was for

0 - £100 = £5.50
£100 - £200 = £7.00
and so on..

where the price does not change for each extra purchase but in steps. The suggested solution was

NAME OF ZONE UNITS COST
Up to
The next

.. adding bands as needed. However there are only five bands. See later on what to do if you need more.

  • Finally, if the shipping cost depends on the UNITS value, perhaps a weight, it will be the same as the previous item. Select option 5 or option 7, but here we do not check the 'set units = price' box. You must set each product's UNITS value. See the examples of 5 and 7 later.

  • The rest of the narrative includes examples of options 4 and 6 (for shipping based on the number of items) and options 5 and 7 (shipping based on value or weight or ...). There are also examples having a minimum charge, and we'll include a forum request here as the first example.

    "My actual shipping costs are 4.50 or 7% (whichever is greater). How can this be best accomplished?"

    First we need a minimum of 4.50, then we'll use option 5 with units=price checked. The flat handling charge is specified near the top of the shipping page.

    You can also add a flat handling fee of which is always added whatever the shipping method. Set the value to 0.00 (zero) if you don't want this.

    NAME OF ZONE UNITS COST
    Up to
    The next

    The first 64.30 of the order is free - 7% is the same as the 4.50 flat handling charge. The rest is charged at 7%. We can specify that on the second line as here or just use 'The rest' last line of the zone table.

    Charge based on Number of Items - Options 4 and 6

    Options 4 and 6 are appropriate if the shipping charge depends on the quantity or number of items. Let's start with those. I have used integers but units and cost values may include decimals, and cost may even negative.

    The arrays - option 4

    UNITS COST
    5 8
    10 6
    15 4
    0 0
    The rest 0
    # of items Shipping cost Why?
    3 24 3*8
    5 40 5*8
    8 58 5*8 + 3*6
    20 120 5*8 + 10*6 + 5*4

    Assume our array is as shown. With option 4, UNITS in the column heading really means ITEMS and the COST is a multiplier. COST can vary with the number of items. Here the first 5 cost 8 each, the next 10 cost 6 each, and the next 15 cost 4 each. The rest are free. The shipping cost is shown for four different order quantities.

    If the total purchase is 3 items, all will be charged under the first band. The same applies to a purchase of 5 items. If 8 items are bought, 5 are charged under the first band and the remaining 3 under the second. Orders for over 30 (the sum of the UNITS column) items are charged at the rate for 30, giving a maximum of 160.


    The arrays - option 6

    UNITS COST
    5 8
    10 6
    15 4
    0 0
    The rest 0
    # of items Shipping cost Why?
    3 8 band 1
    5 8 band 1
    8 14 bands 1 + 2
    20 18 bands 1 + 2 + 3

    The same array but with a very different meaning. UNITS in the column heading again means ITEMS but the COST value is the total for the band. NO multiplication occurs. We just add the COST of the relevant bands.

    Purchases of from 1 to 5 items will cost 8, not 8 each. A purchase of 8 overflows into the second band so the price is the sum of the two COST values. A purchase of 20 uses three bands and the COST values are added. The maximum charge is 18 (the sum of the COST column) and applies to 16 or more items.


    How to Apply a Minimum Charge

    With option 6, the first band IS the minimum charge. Option 4 needs a different approach.

    UNITS COST
    2.5 0
    2.5 8
    10 6
    15 4
    The rest 0
    # of items Shipping cost Why?
    3 24 20 +2.5*0 +.5*8
    5 40 20 +2.5*0 +2.5*8
    8 58 20 +2.5*0 +2.5*8 +3*6
    20 120 20 +2.5*0 +2.5*8 +10*6 +5*4

    Suppose we want a minimum charge of 20. One method is to specify 20 as a flat handling fee (near the top of the Customize: Shipping Calculations page). We have to adjust the bands to compensate. The calculation is more complex but arrives at the same results.

    Minimum Charge Varies by Zone

    UNITS COST
    1 20
    1 0
    1 4
    2 8
    The rest 6
    # of items Shipping cost Why?
    3 24 1*20 +0 +1*4
    5 40 1*20 +0 +1*4 +2*8
    8 58 1*20 +0 +1*4 +2*8 +3*6
    20 130 1*20 +0 +1*4 +2*8 +15*6

    You can only specify one flat handling fee. If the minimum charge varies by zone, another approach is needed. Set the multiplier for the first item to the minimum charge and adjust the following bands. The problem is that, with this set of numbers, you run out of bands. 20 items now cost 130 and a maximum charge cannot be applied.

    Some Items Have Free Shipping

    If some items are shipped free, you will not want them to count in the UNITS calculation. Instead of options 4 or 6 use options 5 or 7, and set each product's UNITS value to 1 or 0, the latter being for free shipping. You will presumably not want a minimum charge if the only purchases are items with free shipping so use the second method above.

    Charge Based on Order Cost, Weight or Other Method - Options 5 and 7

    With options 5 and 7, the arrays and calculations are the just the same as those for options 4 and 6. There are two differences. (1) Instead of the number of ITEMS being used with the bands, either the total of the UNITS value or the PRICE of the products is used, and (2) we may be working with decimals instead of integers.

    To specify that the PRICE be used, check the 'UNITS=PRICE' box for that option on the Customize: page. If weight is the basis, set each product's UNITS value to the weight. Use pounds, ounces, grammes or whatever, with the appropriate cost values in the array(s).

    If you have a specific shipping cost for each product, specify that as the UNITS value. You may be then be able to use option 3 with a cost per unit of 1 if you do not require multiple zones. (Unconfirmed rumours say avoid option 8.)

    The arrays - option 5

    UNITS COST
    5 8
    10 6
    15 4
    0 0
    The rest 0
    # of items Shipping cost Why?
    3 24 3*8
    5 40 5*8
    8 58 5*8 + 3*6
    20 120 5*8 + 10*6 + 5*4

    The calculations are just a repeat of Option 4 in case you skipped that section!

    Using option 5, the shipping charge changes with each additional purchase. The COST column in the zone array is used to multiply the number of units. UNITS comes from either the UNITS values of the products or their PRICE values.

    The arrays - option 7

    UNITS COST
    5 8
    10 6
    15 4
    0 0
    The rest 0
    # of items Shipping cost Why?
    3 8 band 1
    5 8 band 1
    8 14 bands 1 + 2
    20 18 bands 1 + 2 + 3

    Just like option 6. The COST value is the total for the band. NO multiplication occurs. We just add the COST of the relevant bands.

    Using option 7, the shipping charges are in steps and need not change for each additional purchase. The total shipping cost will be the sum of the 'COST' values for the bands used and no multiplication takes place.

    How to Apply a Minimum Charge

    With option 7, the first band IS the minimum charge. Option 5 needs a different approach.

    UNITS COST
    2.5 0
    2.5 8
    10 6
    15 4
    The rest 0
    # of items Shipping cost Why?
    3 24 20 +2.5*0 +.5*8
    5 40 20 +2.5*0 +2.5*8
    8 58 20 +2.5*0 +2.5*8 +3*6
    20 120 20 +2.5*0 +2.5*8 +10*6 +5*4

    Suppose we want a minimum charge of 20. One method is to specify 20 as a flat handling fee (near the top of the Customize: Shipping Calculations page). We have to adjust the bands to compensate. The calculation is more complex but arrives at the same results.

    Minimum Charge Varies by Zone

    UNITS COST
    1 20
    1 0
    1 4
    2 8
    The rest 6
    # of items Shipping cost Why?
    3 24 1*20 +0 +1*4
    5 40 1*20 +0 +1*4 +2*8
    8 58 1*20 +0 +1*4 +2*8 +3*6
    20 130 1*20 +0 +1*4 +2*8 +15*6

    You can only specify one flat handling fee. If the minimum charge varies by zone, another approach is needed. Set the multiplier for the first item to the minimum charge and adjust the following bands. The problem is that, with this set of numbers, you run out of bands. 20 units now cost 130 and a maximum charge cannot be applied.

    Some Items Have Free Shipping

    If some items are shipped free, set their UNITS value to 0. You will presumably not want a minimum charge if the only purchases are items with free shipping so use the second method above.

    If your shipping charges are based on value, you'll be using option 5 or 7 with units=price checked. If some should be shipped free, we need some changes. Uncheck units=price. Set each product's UNITS value to its price unless it requires free shipping in which case set UNITS to 0.

    Refinements

    Minimum Charge Not Always Applicable

    Suppose you have three products. Product A costs 1.50 per item to ship with a minimum of 4.50. Product B costs 0.50, no minimum. Product C costs 0.75, again with no minimum.

    If you specify UNITS values of 1.50, 0.50 and 0.75 respectively, you lose out when one or two of Product A is/are included in the order. One possibility may be to put Product A on its own form, linking to addmulti.cfm instead of add.cfm. Add a second product to the form, called a handling charge, give it a price of 3, a quantity of one, and units of 0.



    If any quantity of Product A is ordered, the handling charge will automatically be included in the invoice. The usual limitations apply. If the form is used twice, the charge will appear twice and, as ever, the user can zero the count for this field in the cart.

    Running out of Charge Bands

    If you are using Options 6 or 7, you can combine bands or change to options 4 or 5.

    Options 6 and 7

    UNITS COST
    5 8
    10 6
    15 4
    20 3
    The rest 5
    UNITS COST
    5 8
    25 10
    20 3
    0 0
    The rest 5

    The first approach is to combine bands so as to need fewer. On the left is the array first used for option 6, extended to use the remaining bands. On the right is a variation, freeing up one band. The charge is increased for orders of from 6 to 15 items. Otherwise it is the same. You could perhaps vary the numbers to give the customer the benefit in some cases and yourself in the others. Or perhaps not.

    Options 4 and 5

    Again the approach is to combine bands and this is probably easier than with options 6 and 7. With the latter, 'the rest' is one lump sum for any additional quantity. With 4 and 5 it is a multiplier, dependent on the actual quantity. You could plot the actual shipping costs you want to achieve against the quantities, draw four of five straight lines corresponding to the values, and use them to determine your bands. Often a flat handling fee will also be necessary.