How to Set Up WooCommerce Shipping Classes
Set up WooCommerce shipping classes for heavy or small products, assign them to your catalog, and configure flat rate charges for different carts.
Last updated:
Reviewed for accuracy by Jesse Nickles
Create your shipping classes
- Go to WooCommerce → Settings → Shipping → Classes.
- Click Add shipping class.
- Enter a Shipping Class name, such as Heavy. Leave Slug blank to generate it automatically and optionally describe which products belong in the class.
- Click Create. Add another class, such as Small parcel, if you need a different rate.
Shipping classes group products with similar delivery needs, such as bulky items and small parcels. They do not set prices or delivery destinations by themselves; a shipping method in a shipping zone determines the rate offered to customers.
Choose classes for meaningful shipping-cost differences, not one class for every product. The WooCommerce shipping class documentation also explains how to edit or delete classes.
Assign classes to products and variations
- Go to Products → All Products and edit a physical product.
- For a simple product, open Product data → Shipping, select its Shipping class, then click Update.
- For a variable product, set a class on the parent if appropriate. Open Variations and assign a different shipping class to individual variations when necessary. Save the variations and update the product.
Each product has only one shipping class at a time, but variations can have their own. To assign the same class to several products, select them on Products → All Products, choose Bulk actions → Edit → Apply, set Shipping class, and click Update. See our bulk editing guide for other batch changes.
Set class costs in a flat rate method
Class assignments affect the order total only when a shipping method uses them. WooCommerce's built-in Flat rate method has separate costs for each class:
- Go to WooCommerce → Settings → Shipping → Shipping zones and edit the zone where you want to offer the rate.
- Edit a Flat rate method, or click Add shipping method → Flat rate → Continue.
- Enter a customer-facing Name and select the Tax status. Set the main Cost to
0when you want only class charges. - Under Shipping class costs, enter
12for Heavy and4for Small parcel, in your store currency. Use No shipping class cost if unclassified products should have their own charge. - Select Calculation type, then click Save zone and method.
The main Cost is added to the applicable class costs. Customers see the shipping method's name, not a separate delivery option for each class. The first shipping zone matching the delivery address supplies the available methods.
Calculate shipping for mixed carts
With a base cost of 0, Heavy at $12, and Small parcel at $4, the calculation type changes the total for a single shipping package:
| Cart contents | Per class | Per order |
|---|---|---|
| Heavy item | $12 | $12 |
| Small parcel item | $4 | $4 |
| Both classes | $16 | $12 |
Per class adds each applicable class charge; Per order adds only the highest class charge. A fixed class amount is charged once for that class in a package, not once per item. For quantity formulas, see our flat rate shipping guide and WooCommerce's Flat Rate documentation. These examples exclude shipping tax and assume one package.
Test the rates at checkout
- Check a cart with only Heavy, only Small parcel, and both together. Compare the rate with your chosen calculation type.
- Test a product without a class and verify the No shipping class cost setting.
- Test a variation with a different class from its parent product.
- Enter an address within the configured zone, then one outside it, and check which shipping methods are offered.
- Review any shipping tax and test extensions that split a cart into multiple packages, because each package can have its own rate.
If a charge is wrong, check the product or variation assignment, matching zone, main Cost, class cost fields, and Calculation type. Assigning a class alone never creates a shipping rate. For more checks, see WooCommerce's shipping troubleshooting guide.