Product Icon

Split Shipping Packages for WooCommerce

Split WooCommerce orders into multiple shipping packages based on flexible conditions.
Choose a billing option
$49
Save 20%
$98 $78.40

Subscription includes

  • Product updates and improvements
  • Customer support
  • 30-day money-back guarantee

WooCommerce treats the whole cart as one shipment. Real stores do not work that way. Split Shipping Packages lets you create rules that divide a cart into multiple shipping packages at checkout, give each package its own name, and decide which shipping methods each package is allowed to show.

You set the conditions once. From then on, every order is split the way you would split it by hand.

What you get:

  • Multiple shipping packages per order, created automatically from rules you define
  • Six ways to decide which products go into a package: specific products, categories, brands, tags, shipping classes, or a custom condition builder
  • Allow or exclude specific shipping methods for each package
  • Condition groups with AND / OR logic, for both product matching and package creation
  • A global on/off switch, so a store problem never forces you to edit rules one by one

Why this plugin?

The problem

Out of the box, WooCommerce calculates shipping for one package containing everything in the cart. That is fine until your catalogue is not uniform.

Imagine a customer who adds a sofa, two cushions and a bottle of cleaning spray to their cart. The sofa needs a freight carrier. The cushions can go by standard courier. The spray is classed as a restricted item and cannot go by air. WooCommerce still shows one set of shipping rates for all three, and the customer gets a price that is wrong for at least two of them.

Store owners usually end up with one of these workarounds:

  • Flat rates that are too high for small items and too low for bulky ones
  • Separate stores or separate checkout flows for different product types
  • Custom code that breaks the next time WooCommerce updates

The solution

Split Shipping Packages gives you a rule engine for this exact situation. Each rule answers three questions:

  1. When should this package exist? (for example, only when the cart subtotal is over a certain amount, or only for a particular country)
  2. Which cart products belong in it?
  3. Which shipping methods should the customer be able to choose for it?

WooCommerce then calculates shipping separately for each package, and your customer sees clearly named shipping options for each one at checkout. Anything that does not match a rule is not left behind: it goes into a default package that you also name.


Key features

Unlimited rules, managed like normal WordPress posts

Each rule is its own entry under WooCommerce → Package Splitter. The post title is the rule name, so you can label rules the way you think about them (“Furniture – freight”, “Chilled items”, “Wholesale bulk orders”). You can create as many as your store needs, and they can be searched, edited, and bulk-managed from the standard list table.

Why it matters: once you have more than three or four rules, clear names and a proper list view are what keep the setup maintainable.

Enable or disable a rule without deleting it

Every rule has an Enable rule checkbox. Turning it off keeps all your settings but stops the rule from running.

A rule only applies on the storefront when it is both published and enabled. A draft rule never runs, even if the checkbox is ticked. This lets you build and review a rule safely before it touches live checkouts.

Custom package title shown at checkout

The Package title field sets the label customers see above the shipping options for that package. “Shipping from our UK warehouse” or “Oversized items” tells the customer why they are seeing separate shipping lines, which cuts down on confusion and support emails.

Shipping method restriction per package

This is where splitting becomes genuinely useful. Each rule has three modes:

  • Allow all shipping methods: the package shows every method that WooCommerce would normally return for the shipping zone.
  • Allow only specific shipping methods: pick the methods from a multi-select, and only those appear for this package.
  • Exclude specific shipping methods: pick methods to hide. Everything else that is available still shows.

Example: your “Fragile glassware” package allows only a tracked courier service. Your “Digital-adjacent accessories” package excludes local pickup. Each package shows only what you can actually fulfil.

Six ways to choose which products go into a package

The Products to be added to package field decides what the rule picks up from the cart:

  1. Specific products: choose individual products.
  2. Products of specific categories: any cart product in the selected categories joins the package.
  3. Products of specific brands: useful if you carry brands from different suppliers or warehouses.
  4. Products of specific tags: handy when you already use tags as an internal flag, such as “bulky” or “hazmat”.
  5. Products with a specific shipping class: works neatly if your WooCommerce shipping classes already describe how items are shipped.
  6. Products matching specific conditions: the custom condition builder, described next.

For options two to 5, only products that are in the cart at that moment are considered. Your category or brand can contain hundreds of products, and the package only ever includes the ones the customer is actually buying.

Product condition builder with AND and OR logic

When the built-in selectors are not specific enough, choose Products matching specific conditions and build the match yourself. Each condition row has a condition, a logic operator, a value and an action.

Product-level conditions you can use:

  • Product weight, length, width, height, and volume (in your store’s own units)
  • Product quantity in the cart
  • Product stock quantity and stock status
  • Product brand, tag, category, and shipping class
  • A specific product

Logic operators change depending on the condition. Numeric conditions offer equal to, not equal to, greater than and less than. Brand, tag, and shipping class offer equal to and not equal to. Category and product conditions have their own plain-language operators.

The value field adapts as well: a text box for numbers, a dropdown of real brands, tags, categories, or shipping classes for the rest.

How the logic combines:

  • Rows inside one table are joined with AND. A product must satisfy every row.
  • Click Add New Product Conditional Group and you get another table. Tables are joined with OR. A product only needs to satisfy one whole group.

Example: Group 1: weight greater than 20 AND shipping class equals “Bulky”. Group 2: length greater than 150. Any product matching either group goes into the package.

Conditional Logic: decide when a package gets created at all

The Conditional Logic box controls whether the rule fires. A new package is created when at least one of its condition groups matches. This box uses the same AND / OR builder but with cart-level and customer-level conditions:

  • Cart-based: item count, subtotal, shipping class in cart, category in cart, product in cart, product tags in cart, product brand in cart
  • User role: limit a rule to wholesale customers, for example
  • Coupon code: equal to, not equal to, any coupon applied, or no coupon applied
  • Shipping details: zip/postcode, city, state, or country
  • Product totals: cart total weight, maximum product length, width, and height, minimum product stock, any product with a given stock status

This is what lets you build rules like “only split out bulky items when delivering to a specific country” or “create a separate package for wholesale customers over a set subtotal”.

Drag-and-drop rule order

Rules run from top to bottom in the Package Splitter list. Reorder them by dragging rows. A product can only live in one package, so when it matches more than one rule, the first rule in the list claims it and later rules never see it.

That gives you a predictable priority system: put your most specific rules first and your broader ones lower.

Bulk enable and disable

Select several rules in the list and enable or disable them in one action. Useful for seasonal setups, supplier outages, or testing a group of rules against live traffic.

A default package for everything else

If a cart has six products and your rules claim four of them, the remaining two are not dropped. They form a package of their own, named using the Default package name setting. Customers always get shipping for every item.

A kill switch for the whole plugin

The Enable package splitter checkbox in the settings turns all rule checking on or off. When it is off, no rules are evaluated and WooCommerce goes back to its standard single-package behaviour. If something looks wrong on a busy day, you do not have to disable rules one at a time.


Use cases

Furniture and homeware stores

Sofas, tables, and wardrobes go out by freight. Cushions, candles, and small decor go by parcel. A weight or shipping-class rule puts the heavy items into a freight package with only freight methods allowed.

Food and grocery shops

Chilled and frozen products need express delivery. Dry goods do not. Group chilled items by category or tag and restrict that package to next-day methods only.

Stores shipping from more than one location

If brand A ships from one warehouse and brand B from another, a brand-based rule gives each its own package and its own shipping options.

Hazardous or restricted items

Perfumes, aerosols, batteries, and similar goods often cannot go by air. Use a shipping class or tag rule and exclude the air-based methods for that package.

Wholesale and B2B

Create a package only when the customer has a particular user role and the cart subtotal passes a set value, then offer a pallet or freight method for that package.

Oversized or long items

A rule on product length or dimensions catches items that exceed your carrier limits, such as flooring, curtain poles or boards, and routes them to a suitable method.

Pre-order and in-stock mixes

Use stock status or stock quantity conditions to separate items that are ready to dispatch from those that are not, so each can have its own method and title.

Coupon-driven shipping

If a promotion includes special delivery terms, a coupon-based condition can create a dedicated package when that coupon is applied.


How it works

  1. Switch it on. Go to WooCommerce → Settings → Shipping → Split Shipping Packages. Tick Enable package splitter and set the Default package name.
  2. Create a rule. Go to WooCommerce → Package Splitter and click Add New Rule. Give it a title; that becomes the rule name.
  3. Define the package. Enter a package title, choose which shipping methods are allowed or excluded, and pick how products are selected.
  4. Add conditions if needed. In the Conditional Logic box, set when the package should be created.
  5. Publish and enable. Publish the rule and make sure Enable rule is ticked.
  6. Set the order. Drag rules into priority order in the list.
  7. Checkout does the rest. At checkout, WooCommerce evaluates rules from top to bottom, assigns each product to the first matching package, puts leftovers into the default package, and shows each package with its own title and shipping options.


Advanced capabilities

  • Nested logic on both sides. Product matching and package creation each support multiple AND rows and multiple OR groups, so you can express conditions such as “(heavy AND bulky class) OR (very long)”.
  • Volume as a condition. Product volume is calculated from your store’s dimension unit, handy for carriers that charge by cubic size.
  • Category logic with four modes. Cart contains category, at least one item not from the category, all items from the category, or no item from the category. This allows rules like “only create this package if the cart is made up entirely of one category”.
  • Coupon logic beyond equal-to. Test for a specific coupon, any coupon, or no coupon at all.
  • Location-based conditions. Zip code, city, state, and country let you vary packages by delivery destination.
  • Exclude mode for shipping methods. Instead of listing every method you want, list only the ones you do not.
  • Strict priority order. First matching rule wins, with no double-counting of products.
  • Global kill switch for safe troubleshooting on a live store.

Why choose Split Shipping Packages?

If you are comparing other shipping package plugins, here are the things worth checking on any tool before you commit. This is what Split Shipping Packages offers on each:

What to look for Split Shipping Packages
Ways to choose products for a package Six: specific products, categories, brands, tags, shipping classes, and a custom condition builder
Brand-based splitting Yes, as a dedicated option and as a condition
Control of shipping methods per package Allow all, allow only selected, or exclude selected
Separate conditions for “which products” and “when to create the package” Yes, two independent condition builders
OR groups as well as AND rows Yes, in both builders
Rule priority Drag-and-drop ordering with first-match-wins
Safe testing Draft rules never run; one checkbox disables everything
Leftover products Automatically placed in a default package with a name you choose

If you already use other shipping package splitter plugins, the idea will feel familiar: rules, conditions, packages. The difference you will notice is how much more granular the product matching and the shipping method control are.


Stop sending every item through the same shipping calculation

If your cart often mixes heavy and light items, chilled, and dry goods, or products from different warehouses, one package per order is costing you accuracy and probably customers. Set up your first rule in a few minutes and see the split on your own checkout.


Frequently asked questions

What does this plugin do?

It splits a WooCommerce cart into multiple shipping packages at checkout, according to rules you create. Each package gets its own title and its own set of allowed shipping methods.

Can I split packages by category, brand, tag or shipping class?

Yes. Each of these has its own selector in the rule. You can also build custom product conditions such as weight, dimensions, stock or quantity.

What happens to products that don't match any rule?

They are placed into a default package. You choose its name in the plugin settings.

What if one product matches several rules?

Rules run in the order shown in the Package Splitter list. The first matching rule takes the product, and it is not added to any later package.

Do I need to publish a rule for it to work?

Yes. Only published rules with Enable rule ticked are applied on the storefront. Drafts are ignored.

Can I show different shipping methods for different packages?

Yes. For each rule you can allow all methods, allow only selected ones, or exclude selected ones.

Can I turn the whole plugin off quickly?

Yes. Untick Enable package splitter under WooCommerce → Settings → Shipping → Split Shipping Packages. No rules will be evaluated until you turn it back on.

Use of your personal data
We and our partners process your personal data (such as browsing data, IP Addresses, cookie information, and other unique identifiers) based on your consent and/or our legitimate interest to optimize our website, marketing activities, and your user experience.