All articles
2026-10-13 · Dreamfox Team

WooCommerce Shipping Gateway Per Product: Complete Setup

Set up WooCommerce shipping per product: choose allowed shipping methods on each product, decide how mixed carts behave and add category and tag rules.

Checkout page where only the shipping methods allowed for the products in the cart are shown

You sell a $15 t-shirt and a $400 industrial generator to the same customer. The t-shirt ships in a poly mailer for a few dollars, while the generator needs freight. With one flat rate for everything you either lose money on the generator or scare the buyer away with a freight price on a t-shirt.

This guide shows how to set shipping methods per product in WooCommerce with the Dreamfox plugin (also searched for as shipping gateway per product): choose the allowed methods on each product, decide how mixed carts behave, and use category and tag rules in the Premium version.

Why one shipping setup does not fit every product

WooCommerce offers the same shipping methods for every product that ships to a zone. That causes problems as soon as a catalog contains different kinds of goods:

  • Heavy or bulky items need freight or pick-up, not a parcel rate or free shipping.
  • Light items should not be offered an expensive method that only makes sense for large goods.
  • Items you only hand over locally need pick-up, not a carrier.

Shipping classes help with the cost inside a method, but they do not hide methods per product. For that you need custom code or a plugin.

What the plugin does, and what it does not

The plugin filters the shipping methods you already set up in WooCommerce. It does not create rates or connect carriers.

  • Free version: choose allowed shipping methods per product. Mixed carts use the methods that all products have in common.
  • Premium version: category rules, tag rules, and more ways to handle mixed carts (see Step 3).
  • Zones: methods belong to a shipping zone, so a product's selection is evaluated against the zone of the customer's address.

Step 1: set up shipping zones and methods

Go to WooCommerce → Settings → Shipping and create your zones, with the methods you want in each zone, for example Standard, Express, Freight and Local pickup. The plugin can only choose between methods that exist and are enabled here.

Step 2: choose the allowed methods on a product

  1. Open the product in the WooCommerce edit screen.
  2. In the sidebar, find the Choose shipping gateway box.
  3. Tick every shipping method this product may use.
  4. Update the product.

While that product is in the cart, methods that are not ticked are hidden. A product with nothing ticked can use every enabled method, so you only need to set the products that must be restricted.

Step 3: decide how mixed carts behave

Go to WooCommerce → Product Shippings and open the Cart Rules tab. The setting "Multiple products in cart with different shipping gateway" decides what happens when the products in a cart allow different methods.

OptionVersionResult for a mixed cart
Only common gatewaysFree and PremiumOnly methods that every product allows
Do not show shipping gatewayPremiumNo shipping method when the products' selections differ
Choose the cheapest gatewayPremiumOne method: the cheapest of the allowed methods
Choose the expensive gatewayPremiumOne method: the most expensive of the allowed methods
Let customer decidePremiumAll methods that any product allows

With Only common gateways, a cart whose products share no method ends with no shipping options, so the customer cannot check out. Keep at least one shared method, such as Standard shipping, ticked on every product.

Step 4: category and tag rules (Premium)

Under the Per Categories and Per Tags tabs you can set allowed shipping methods for a whole category or tag, so new products inherit the rule. For a walkthrough see set a shipping method by product category.

Example setups

Heavy items. Tick only Freight and Local pickup on the generator. A cart with only that product never shows a parcel rate or free shipping.

Pick-up only products. Tick only Local pickup on products you hand over in person. See hide local pickup for specific products for the reverse: keeping pick-up away from products that must ship.

Express only for premium products. Tick Express on the products that qualify, and Standard on the rest. In a mixed cart, the cart rule decides whether the customer sees only the shared method or, in Premium, the cheapest, the most expensive or all allowed methods.

Zones and international orders

Methods are tied to a zone. If a product has only methods from one zone ticked and a customer from another zone adds it, no ticked method is available for that customer and no shipping options are shown. Tick at least one method for every zone you ship to.

Test before you go live

  • Test each product on its own, then a cart with a heavy product and a light product.
  • Test an address in every zone you ship to.
  • Test on the classic checkout and on the block checkout.
  • If you use a Premium option, test it with a mixed cart and check which method is offered.

Related guides

Conclusion

Shipping methods per product protect your margin and keep checkout relevant: heavy goods get freight or pick-up, light goods keep the cheap methods, and the cart rule decides what mixed carts do. Start with the products that cause the most trouble, keep one shared method on every product, and test a mixed cart. The rules in this guide are in the Dreamfox Shipping Methods per Product for WooCommerce plugin.

FAQ

How do I set shipping methods per product in WooCommerce?
Set up your shipping zones and methods in WooCommerce, then open a product and tick the methods it may use in the Choose shipping gateway box in the sidebar. Update the product. At checkout only the ticked methods are offered while that product is in the cart.
Is shipping per product free?
Choosing shipping methods per product is available in the free version, and mixed carts then use the methods the products have in common. Category rules, tag rules and the other mixed-cart options (hide shipping, cheapest, most expensive, let the customer decide) are Premium.
What happens when products in the cart allow different shipping methods?
In the free version only the methods that all products allow stay available. In Premium you choose under Cart Rules: show no shipping method, pick the cheapest or most expensive allowed method, or let the customer choose from the allowed methods.
Why does checkout show no shipping options?
Usually the ticked methods do not overlap for the products in the cart, or the ticked methods belong to another shipping zone than the customer's address. Tick at least one shared method on every product, and one method for every zone you ship to.
Can I hide local pickup for certain products?
Yes. Tick the methods the product may use and leave local pickup unticked. Local pickup then disappears whenever that product is in the cart.
Does it work with the WooCommerce block checkout?
Yes. The plugin filters the shipping rates through WooCommerce filters that both the classic checkout and the Cart and Checkout blocks use.

This article is part of our WooCommerce payments topic hub, where the related plugins and guides live together.

Keep reading