Shipping Class Based Shipping Rule

Use Shipping Classes to group products that cost more or less to ship. Then apply a flat shipping fee only when those classes are in the cart. This keeps pricing fair for bulky, fragile, or oversized items without confusing other customers.

What is a shipping class based rule?

A rule that checks if the cart contains items from one or more Shipping Classes and charges a specific fee when it does.

Examples:

  • Class Bulky → $14.99 flat
  • Class Fragile → $9 with a handling note
  • Class Standard → $5 everywhere in the US

Why is it required?

  • You control costs for products that are heavy or need special packing.
  • You avoid overcharging every order with one blanket rate.
  • You can keep checkout simple and predictable.

Configure shipping class based rules

Works with Shipping Class conditions and can combine with location, time, subtotal, tags, and more.

1. Create shipping classes in the default WooCommerce

To create it, go to the Dashboard > WooCommerce > Settings > Shipping> Classes

Click on the "Add shipping class" button to create a new shipping class.

2. Configure shipping class based shipping rules.

  • Go to Dashboard → Dotstore → Flat Rate Shipping → Add New.
  • set a Label and Cost (for example, $14.99).
  • Click Add Condition → Shipping Class → is in → select one or more classes (for example, Bulky).

Optional extra shipping rules that you can configure based on your needs:

  • State/ZIP filters
  • Day/Time window
  • Subtotal threshold
  • User role or Logged-in only
  • Tooltip and Estimated delivery time text

Real example use case 1

Goal: Charge $14.99 for Bulky items. Use $6.99 for everything else.

Rule setup

  1. Zone: United States.
  2. Method A: Flat rate $14.99 with Shipping Class = Bulky.

    Method B: Flat rate $6.99 with Shipping Class ≠ Bulky, or simply no class condition.

    Labels:

    • A: “Bulky Shipping”
    • B: “Standard Shipping”
  3. Save and test carts with Bulky and without Bulky items.

Real example use case 2

Goal: Fragile items ship $9.00 on weekdays, $12.00 on weekends in CA and NV only.

Dotstore setup

  1. Method A: Flat rate $9.00
    • Conditions: Shipping Class = Fragile, State in [CA, NV], Day = Monday–Friday

      Method B: Flat rate $12.00

    • Conditions: Shipping Class = Fragile, State in [CA, NV], Day = Saturday, Sunday
  2. Optional: Add a Tooltip like “Fragile packaging”.
  3. Save and test.

Expected outcome

  • The shipping fee appears only when the cart contains products from the selected Shipping Class.
  • Other carts see your standard rates.
  • Checkout labels are clear and predictable.

FAQs

1) Shipping Class vs Category — what should I use?

Use Shipping Class for logistics and packing cost rules. Use Category for merchandising groups. You can use both if needed.


2) What if the cart has multiple classes?

Create separate methods and let conditions decide which shows. In the core, choose the Calculation type that fits your policy.


3) Can I combine class rules with coupons or subtotals?

Yes. In Dotstore, add a Coupon or Subtotal conditions to your class-based method.


4) How do I bulk-assign a class to many products?

Use Products → All Products → Bulk actions → Edit. Set Shipping class and update.


5) How do I exclude a class from free shipping?

On your free method, add that the Shipping Class is not in [Bulky, Fragile], so it hides when those items are in the cart.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.