Setting up a Shipping by Item Example
CFWebstore has a lot of different settings that will allow you to do a really wide range of custom shipping methods. In version 6, even more options were added to custom shipping methods that improved the flexibility of options even more. Of course all the complexity does make things a bit more confusing so I thought a little example of one type of shipping setup might be helpful. If you have a particular shipping setup that is really complicated and difficult to set up, by all means let me know and I will try to help you get it configured...and maybe add it as another tutorial on this blog as well. But let's first take a look at a setup a recent customer needed.
For this customer, we were looking to set up a shipping based on the number of items. For items shipped in the U.S., we'd like the shipping cost for each item to be as follows:
- $10 per item for ground shipping
- $15 per item for 2nd day shipping
- $20 per item for overnight shipping
In addition, we needed to handle some international shipping methods. We wanted rates for outside the U.S. as follows:
- $20 per item to Canada
- $25 per item to Europe
- $35 per item to Asia
So the first thing we do is set the global shipping method to Shipping by Item. This sets the basic type of shipping that our store uses. Typically a store has only one global shipping type set, but you can see my blog entry on Using Multiple Shippers for information on how to use more than one global method. For this example though, Shipping by Item is all we need. So select that and also set your base rate and handling to 0 and save the changes to activate this type of shipping.
Now we need to make some determinations of how this shipping needs to be calculated. To do this, we want to find a base amount that everything can be based on. In this case, it looks like everything can be easily divided by 10, and since that is also our ground shipping rate, it should work nicely as a base rate. Note that this is different than the defined Base Amount set on the Settings page...that is used to set a single price that is added to all shipping rates after all other calculations are done, typically used just to bump your rates up by a dollar or so. Here we are just looking for a "base" to calculate all the other rates upon, so ideally we would have all amounts easily divisible by a single number, as in this case. So now that we've determined what that will be, let's first configure the settings that apply to custom shipping methods. The options screen will look like this:
You can choose to display the shipping table (in many cases you may prefer to just do your own hard-coded table that outlines your rates, as in this case.) The next setting determines if we will be multiplying per item. Since we do indeed want our rates to be per item, we will turn this setting on. I'll cover an example where this would be turned off on another blog article. Likewise, cumulative amounts is typically used when you are not calculating by item and will have shipping amounts that will need to add together to determine a rate. In this case, we don't need that so this is left off. Methods Multiply Shipping is the setting that will determine how the additional methods we set up will work (ground versus 2 day versus overnight.) When you enter amounts for these, they can either just be a set amount to add, or they can be an amount to multiply your base rate by. In this case, we're going to want those amounts multiplied as they will be applied on a per item basis as well. So turn that on and save your setting changes.
Now we're ready to set up the shipping table. This is basically where we define the base amount of shipping for each range of items that we wish to configure. In many cases, you will have multiple entries in the table. For instance, you might have one rate for 1-2 items and then a lower rate for 3-4 items, etc. In this case we don't care how many items they buy, they are going to get the same shipping rate. So we'll create one entry and set it for a range from 1 to some large number (999999) that should cover all orders. Enter the amount to charge per item ($10), save the entry and then return to the Settings page.
Now we need to set up our custom shipping methods. These are basically the different shipping options that will be presented to the customer when they are checking out. This is where that setting for multiplying methods is really going to come into play. In this case, we want three different methods for domestic shipping (ground, next day and overnight) and we want one single shipping method for international orders (these customers do not get any choices, just one shipping amount.) We know our base amount per item is $10 so since we are setting up this custom methods to multiply, we need to divide by 10 to determine the amount for each method. In the case of our US shipping methods, we would use $1 for ground shipping, $1.50 for 2nd day shipping and $2.00 for overnight shipping. This will give us the final rates of $10, $15 and $20 that we are looking for.
So how do we set the multiplication factor for international methods? Well, since we are going to use different amounts for different countries, we're going to adjust that on another setting screen. So for the sake of our shipping method here, we'll just leave it set to multiply by 1; in other words, it will just use the same base amount as was created in the shipping table.
So after returning to the main screen, we're going to select Country Rates. This is where we can define amounts that will be added to our base rate when shipping to other countries. The way these rates work is they will take the amount as determined *before* any custom shipping methods are applied, and determine a percentage of that amount and add it to the shipping cost to determine the base cost for each country. Any custom shipping methods you have created will then be applied if you have multiple shipping choices for international customers.
For our example, we want to take our base amount of $10 per item, and convert that to an amount of $20 for Canada, $25 for Europe and $35 for Asia. This means that we will be adding $10 for Canada, $15 for Europe and $25 for Asia. These amount converted to percentages of $10 would be 100%, 150% and 250%. So those are the amounts we would enter for the countries in these regions, a couple examples are shown in the image to the right. For example, if we were shipping 4 items to France, the base amount from our shipping table would be $40 (4 items * $10). We're adding 150% to that amount for France, which will give us $100 ($40 + $60). Since our international shipping method is set to multiply by 1, it won't change this amount and that will be our final shipping amount for this example purchase.
Hopefully this example will help you set up your own custom shipping rates. Keep an eye out for future tutorials!








Off topic: In IE6 on Windows 2000 this textarea goes beyond my available screenwidth for the pop-up. In other words: 20% of this textarea is invisible (this portion), so I have no idea what I have written there ==>... Even when going full-screen the whole textarea is NOT visible. Maybe smart to set the max-width of the text-area?