---
title: Two-Tier Shipping Logic — WooCommerce
type: article
created: '2025-12-12'
updated: '2025-12-12'
source_docs:
- raw/2025-12-12-weekly-call-w-108479355.md
tags:
- woocommerce
- shipping
- ecommerce
- configuration
layer: 2
client_source: null
industry_context: null
transferable: true
---

# 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**:

1. Create (or edit) the relevant shipping zone
2. Add a **Flat Rate** method — set the cost to the agreed flat fee (e.g., $10)
3. Add a **Free Shipping** method — set the condition to "A minimum order amount" and enter the threshold (e.g., $50)
4. 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

- [[wiki/clients/wisconsin-masonic/_index]]
- [[wiki/knowledge/woocommerce/plugin-management]]