View Categories

Set Different Free Shipping Amounts by Method or Zone

Table of Contents

Problem Description #

Site owners want the free-shipping bar to use a different free-shipping threshold per shipping method or zone.

Common symptoms

  • Bar always uses a single global amount though different zones/methods use different minima.
  • User asks for per-method thresholds.

Cause

  • Plugin’s free features provide global threshold handling; per-method/per-zone minima and more advanced handling are available in Pro or use of shipping-method-aware calculation options. Support threads indicate advanced per-method features are Pro. WordPress.org

Solution (step-by-step)

  1. Check plugin’s shipping options: Admin → General → Calculation → Shipping — see if per-method options exist (Pro).
  2. If you need per-zone thresholds and plugin doesn’t support it in free version: Either:

    • Use plugin Pro that offers per-method/zone awareness, OR
    • Create a small custom snippet to detect current customer shipping zone and set the threshold dynamically (developer required).

Example conceptual snippet (developer):

// Concept example: detect customer shipping zone and output threshold

$package = WC()->cart->get_cart_for_shipping();

$zone = wc_get_shipping_zone($package);

$zone_id = $zone->get_id();

// Map zone_id to threshold

$thresholds = [ ‘1’ => 50, ‘2’ => 75 ];

$threshold = isset($thresholds[$zone_id]) ? $thresholds[$zone_id] : 75;

  1.  Use on staging and adapt to your theme/plugin.
  2. Contact plugin sales/support to confirm whether Pro is recommended for multi-zone support.

Prerequisites

  • Knowledge of your shipping zones and methods; access to plugin Pro if required.

Additional Notes

  • If you use dynamic/custom shipping logic (3rd-party table-rate plugins), confirm compatibility with the plugin or consider a dev to bridge calculations.

 

Free Shipping Bar: Amount Left for Free Shipping for WooCommerce