If you are using custom options and need to create different shipping rules based on the option/s that the customer chooses you can do that with ShippingOverride. Ideally you’d use configurable products rather than custom options, but if your store is already setup and that’s not possible ShippingOverride will handle it. This is done through the custom options SKU. Each SKU becomes its own shipping group.
This will create a shipping group using each custom options SKU. This means you can vary the shipping price per item based on each custom option.
Create a new shipping group called “SKU” and assign that to all of the products that you want to use their custom option SKUs as the shipping group.
System->Configuration->Shipping Settings->WebShopApps ShippingOverride and find the advanced options. You’ll need to select “Use custom option SKU as shipping group”.
Lets take the product below as an example. It’s main SKU is “Dark Wood Desk 25lbs”.
Each custom option show above will need it’s own shipping group in the CSV file, as will the base SKU. The CSV file below shows how that would look.