Two-Tier Shipping Logic — WooCommerce
Overview
When a client wants free shipping above a cart threshold, the instinct is often to reach for a shipping calculator plugin (e.g., USPS live rates). In most cases, this is unnecessary complexity. A simple two-tier flat-rate system handles the requirement cleanly using WooCommerce's built-in shipping zone functionality — no additional plugins required.
The Pattern
| Cart Total | Shipping Cost |
|---|---|
| ≥ $50 | Free |
| < $50 | Flat fee (e.g., $10) |
This covers the most common client request: "free shipping on orders over $X." The flat fee for smaller orders recovers some shipping cost without requiring real-time carrier rate lookups.
Why Not a Shipping Plugin?
Live-rate plugins (USPS, UPS, FedEx) add meaningful overhead:
- Additional plugin to maintain and update
- Carrier API credentials to manage
- Rate lookup failures can break checkout
- Overkill when the client's actual goal is just a free-shipping incentive threshold
For small product catalogs or stores where shipping cost variation is low, a flat fee is a reasonable approximation that clients and customers both understand easily.
Implementation Notes
WooCommerce handles this natively via Shipping Zones → Shipping Methods:
- Create (or edit) the relevant shipping zone
- Add a Flat Rate method — set the cost to the agreed flat fee (e.g., $10)
- Add a Free Shipping method — set the condition to "A minimum order amount" and enter the threshold (e.g., $50)
- WooCommerce will display the applicable option at checkout based on cart total
No custom code or third-party plugins are needed.
Choosing the Flat Fee
The flat fee should be reasonable relative to the threshold. As a rule of thumb:
- A $10 fee on a $49 order (~20%) is noticeable but not prohibitive
- A $20 fee on a $49 order (~40%) risks cart abandonment
- Ask the client what they want — they know their margins and customer expectations
Confirm the flat fee amount with the client before configuring. Frame it as: "For orders under $50, what flat shipping fee would you like to charge?"
Client Example
This pattern was recommended for Lucy's site (December 2025). The client requested free shipping for orders over $50. Rather than installing a USPS shipping plugin to calculate rates for smaller orders, the team proposed a $10 flat fee for sub-$50 orders using WooCommerce's native shipping tiers.
"We're not actually calculating shipping or by zip code or any other craziness. We're just saying there's two tiers, free and not free."
— Mark Hope, 2025-12-12 weekly call
Related
- [1]
- [2]