---
title: Two-Tier Shipping Strategy — Free ≥$50, Flat Fee <$50
type: article
created: '2025-12-12'
updated: '2025-12-12'
source_docs:
- raw/2025-12-12-weekly-call-w-karly-108482131.md
tags:
- woocommerce
- shipping
- ecommerce
- strategy
layer: 2
client_source: null
industry_context: null
transferable: true
---

# Two-Tier Shipping Strategy — Free ≥$50, Flat Fee <$50

## Overview

When a client wants to offer free shipping above a threshold (e.g., $50), the instinct is often to reach for a shipping plugin that calculates real-time rates by zip code or carrier. In most cases, this is unnecessary complexity. A simple two-tier flat-fee approach achieves the same business goal with no additional plugins and minimal configuration.

This pattern came up while configuring shipping for [[clients/lucys/index|Lucy's]] in December 2025.

## The Strategy

Define exactly two shipping tiers in WooCommerce's built-in shipping zones:

| Order Total | Shipping Cost |
|---|---|
| Less than $50 | Flat fee (e.g., $10) |
| $50 or more | Free |

WooCommerce's native shipping zone and method settings support this out of the box — no third-party plugin required.

## Why This Works

- **Orders under $50 are typically small.** A flat fee of $10–$15 is reasonable and predictable for the customer.
- **No carrier API needed.** Real-time rate calculation (USPS, UPS, FedEx) adds plugin overhead, potential API failures, and ongoing maintenance. For a simple free-shipping threshold, it's overkill.
- **Native WooCommerce supports it.** Two shipping methods — one "Free Shipping" with a minimum order amount condition, one "Flat Rate" — cover the full range without custom code.

> "We can make this all super complicated and have shipping plugins and other crazy stuff. Or you can just say, hey, anybody with less than $50, charge them a flat fee."
> — Mark Hope, 2025-12-12

## Implementation Steps

1. **Get the flat fee amount from the client.** They decide what to charge for sub-threshold orders ($10 is a reasonable default; $20 on a $49 order feels prohibitive).
2. **In WooCommerce → Settings → Shipping**, open the relevant shipping zone.
3. **Add a "Free Shipping" method.** Set the minimum order amount to `50`. This method will only appear at checkout when the cart total is ≥$50.
4. **Add a "Flat Rate" method.** Set the cost to the client-approved amount. This method will appear for all orders, but will be superseded by Free Shipping once the threshold is met.
5. **Test both paths** — a cart under $50 and a cart at or above $50 — to confirm correct method display.

## When to Use a Real Shipping Plugin Instead

This approach is appropriate when:
- Shipping cost is a flat business decision, not weight- or distance-based
- The client ships a relatively uniform product type
- Simplicity and reliability are priorities

Consider a carrier-rate plugin (e.g., WooCommerce USPS Shipping) when:
- Products vary significantly in weight/size
- The client needs accurate cost recovery on shipping
- International shipping is involved

## Related

- [[clients/lucys/index]]
- [[knowledge/woocommerce/index]]