WPRuby Blog

Explore our blog for expert tips on WordPress plugins, development, and eCommerce solutions to grow your online business.

How to Hide International Shipping for Products Over 2kg

Blog Image

International shipping gets expensive fast and not linearly. One extra item pushes the cart from 2kg to 2.1kg, and suddenly your shipping cost doubles. Customers don’t see your carrier rate tables; they just see a $95 shipping option and abandon checkout. Or worse: they place the order, and you eat the difference. WooCommerce’s native shipping logic isn’t built for these cliff-edge thresholds, especially with carriers like Australia Post. You need a way to hide or restrict international shipping methods before customers cross the weight limit, not explain it after the fact.


Why This Problem Exists

Most carriers price international shipping in weight bands, not smooth increments. Australia Post is the classic example:
2kg might be reasonable, 2.1kg might be catastrophic.

WooCommerce, however, treats weight-based shipping as additive, not conditional. It calculates rates, displays them, and assumes merchants are fine with passing any result to the customer. There’s no native concept of “this method should disappear once weight exceeds X for this country.”

Common workarounds try to:

  • Stack flat rates
  • Duplicate shipping zones
  • Abuse shipping classes

They all break because weight thresholds are global, but the pain is country-specific. What’s acceptable domestically becomes insane internationally. WooCommerce simply doesn’t give you a clean way to say:

“If cart weight > 2kg AND destination = international, don’t show this method.”


The Manual / Hacky Solutions

Option 1: Do it manually
You monitor orders, email customers, refund or re-quote shipping. This doesn’t scale, destroys trust, and burns your time. Every “sorry, shipping is actually more” email costs you goodwill.

Option 2: Use a generic shipping plugin
Most weight-based plugins stop at pricing. They’ll calculate higher rates, but they won’t hide methods by country and weight together. Result: customers still see $95 shipping and bounce.

Option 3: Custom code
Yes, you can hook into woocommerce_package_rates, inspect weight and country, and unset rates. Now you own:

  • Edge cases
  • Plugin conflicts
  • WooCommerce updates
  • Client support forever

It works… until it doesn’t. And when it breaks, it breaks checkout.


The Clean Solution with RuleHook

RuleHook is built specifically for conditional shipping logic, not just rate calculation.

You define rules using real-world logic merchants actually need.

Goal:
Hide international shipping methods once cart weight exceeds a threshold.

Rule setup:

  1. Condition 1: Cart Weight → Greater than 2kg
  2. Condition 2: Shipping Country → Not Australia
  3. Action: Hide specific shipping methods (or all international methods)
Hide International Shipping for Products Over 2kg

That’s it.

What happens at checkout:

  • Customer adds items
  • Cart stays under 2kg → international shipping shows
  • Cart hits 2.1kg → international methods disappear instantly
  • No scary prices
  • No abandoned carts
  • No support tickets

Customer experience:
Customers never see an option you don’t want them to choose. The UI stays clean, predictable, and aligned with your actual fulfillment costs.

This works with any carrier (Australia Post, Royal Mail, DHL, custom rates) because RuleHook operates after rates are calculated but before they’re shown.


Edge Cases to Consider

When this might NOT work

  • If your store doesn’t use weights correctly (missing product weights = broken logic)
  • If all shipping methods are carrier-calculated, and you expect WooCommerce to “guess”

Powerful combinations

  • Weight + Country + Cart Total
  • Weight + Product Tag (e.g. bulky items)
  • Weight + Shipping Class

Summary

Weight thresholds are silent margin killers. Customers don’t understand carrier pricing cliffs and they shouldn’t have to. The fix isn’t better explanations or bigger shipping tables. It’s preventing bad options from appearing at all.

RuleHook lets you control shipping the way carriers actually price it: conditionally, surgically, and without hacks.

If international shipping jumps from $45 to $95 at 2kg, hide it at 2kg not after the order.

👉 Try RuleHook free for 7 days

Related scenarios:

Leave a Reply

Your email address will not be published. Required fields are marked *