How to restrict WooCommerce same-day Shipping in rural areas.
Show same-day shipping only where you can truly deliver (metro/nearby ZIPs). Hide it for rural addresses so customers pick the correct delivery option.
đź’° Real Revenue Impact: What You Lose Without This Rule
đźš« Without rules | âś… With rules |
---|---|
Customers in rural areas choose Same-Day, you miss the cutoff → refunds, re-ship, or coupons. | Rural addresses don’t see Same-Day. They choose valid methods. Fewer refunds and no reship costs. |
Example: 40 rural orders/month × $12 loss (failed SLA/credits) = $480 lost. | The same 40 orders use standard rates → $480 saved and fewer tickets. |
In The Article
How to use
Create a hide rule for your Same-Day Shipping method based on country/state/ZIP.
Result: Same-day shows in allowed metro ZIPs; it’s hidden everywhere else.
Benefits
- Accurate promises (no missed SLAs)
- Lower costs (no reships/credits)
- Cleaner checkout (only valid options per address)
- Works with zones, weight, subtotal, day/time, and more—no code
How to configure — step guide
General settings
1) Go to WooCommerce → Hide Shipping → General Settings.
2) Make sure the plugin is enabled. Click Save.
Create the hide rule
3) Go to WooCommerce → Hide Shipping → Manage Rules → Add New Rule.
4) Rule Title: “Hide Same-Day in Rural Areas”.
5) Select Shipping Methods to Hide: choose your Same-Day Shipping method.
6) Add Condition (choose one approach):
- Blocklist (simple): Postcode → is in → your rural ZIP list (comma-separated or ranges).
When a rural ZIP is detected, Same-Day is hidden.
Allowlist (strict): Postcode → is not in → your metro ZIP list (e.g., 900**, 902**, 941**).
- Same-Day is hidden for every ZIP not in the metro list.
- (Optional) Add more limits: State/Province, City, Day/Time (e.g., hide after 2:00 PM), Weight.
Enable the rule and Save.
Test it
9) Checkout with a metro ZIP → Same-Day visible.
10) Checkout with a rural ZIP → Same-Day hidden; standard/express show.
Ready to See All Features in Actions?
Access our complete advanced features instance, allowing you to configure every feature with real checkout scenarios.
Real examples
Example 1 — Metro allowlist (Los Angeles area)
- Method: Same-Day Shipping
- Condition: Postcode is not in
900**, 902**, 904**
- Result: Same-Day shows for LA-metro ZIPs only; hidden elsewhere.
Example 2 — Rural blocklist (state + ZIPs)
- Method: Same-Day Shipping
- Conditions: State in
[MT, WY]
OR Postcode in a rural ZIP list - Result: Same-Day hidden across sparsely covered areas; standard delivery remains.
Expected outcome
- Same-day delivery appears only where you can deliver it.
- Fewer missed deliveries, lower costs, and a clearer checkout.
FAQs
1) Where do I get rural ZIP lists?
Use carrier tools (UPS/USPS/FedEx), your courier’s service map, or your historical failed-delivery ZIPs. Prefixes like 970*
are supported.
2) Can I add a daily cutoff?
Yes. Add a Day/Time condition (e.g., hide Same-Day after 2:00 PM or on weekends).
3) What about mixed carts (some items not eligible)?
Use extra conditions (e.g., Shipping Class ≠Oversize, Weight ≤ X) to limit Same-Day by item type/weight.
4) Does this remove other shipping methods?
No. It hides only Same-Day. Standard/Express remains.
5) Same-Day still shows—what should I check?
Confirm the rule is enabled, you picked the exact Same-Day method (per zone if needed), the ZIP/State values are correct, then clear cache and re-test.