WooCommerce 怎么设置满额包邮?免运费门槛、优惠券包邮与常见错误

WooCommerce 怎么设置“满多少包邮”?用自带的免费送货方式设置最低订单金额,讲清“优惠券折扣前”选项、优惠券触发包邮、满额后隐藏其他运费,以及区域顺序等常见错误。

“买满多少就包邮”是独立站最常用的提单手段之一。在 WooCommerce 里,它不需要插件:在对应的配送区域里添加“免费送货(Free shipping)”方式,把触发条件设为“最低订单金额”,填上门槛金额即可。但很多卖家设完后会遇到几个问题:满额了还在收运费、用了优惠券后包邮失效、某些国家不显示包邮。本文把满额包邮的设置、优惠券包邮和常见错误讲清楚。

如果你还不熟悉配送区域和统一运费的基础设置,可以先看 WooCommerce 如何设置运费?,本文默认你已经建好了配送区域。

先弄清楚:包邮是“按区域”生效的

WooCommerce 的运费结构是 配送区域 → 配送方式 → 条件。客户填写收货地址后,系统从上到下找到第一个匹配的区域,只显示这个区域里的配送方式。所以:

  • 想让美国满额包邮,就要在“美国”这个区域里添加免费送货;
  • 想让不同国家的包邮门槛不同,就在各自区域里分别添加,各填各的金额;
  • 某个国家不在任何区域里,就会落到“其他地区(Locations not covered by your other zones)”,这里不加包邮就不会包邮。

第一步:添加“免费送货”配送方式

  1. 进入后台 WooCommerce → 设置 → 配送;
  2. 找到要设置包邮的配送区域,点击“编辑”;
  3. 点击“添加配送方式”,选择“免费送货(Free shipping)”;
  4. 保存后,点开这个配送方式的设置,进入下一步。

第二步:选择包邮的触发条件

“免费送货需要”这一项决定了什么情况下才包邮,一共有几种选择:

选项含义适用场景
无条件(N/A)这个区域所有订单都包邮全场包邮,运费已含在商品价格里
有效的免费配送优惠券客户使用了允许免费配送的优惠券才包邮只给特定客户或活动包邮
最低订单金额订单达到门槛才包邮最常见的“满额包邮”
最低订单金额或优惠券满额,或者用了包邮券,满足其一就包邮常规满额包邮 + 活动券并存
最低订单金额和优惠券既要满额,也要用包邮券较少用,适合限定活动

满额包邮选“最低订单金额”,然后在“最低订单金额”里填门槛,金额单位是你商店的货币。

第三步:注意“优惠券折扣前”这个勾选项

选了最低订单金额后,下面会出现一个选项:在优惠券折扣前应用最低订单规则。它决定门槛按哪个金额判断:

  • 不勾选(默认):按扣除优惠券后的金额判断。比如门槛是 100,客户买了 110 的商品,用了一张减 20 的券,实付 90,就不包邮;
  • 勾选:按使用优惠券之前的金额判断。上面同样的订单,110 已过门槛,仍然包邮。

很多“用了券就不包邮”的投诉都来自这里。选哪个没有对错,关键是和你在网站上宣传的规则一致:写“满 100 包邮”,客户通常理解为商品金额满 100。

另外,门槛比较的是购物车的小计,是否含税取决于你在税费设置里选择的价格显示方式。如果你开启了税费,结账测试时要留意这一点,税费设置可参考 跨境独立站 WooCommerce 的税率设置指南。

第四步:设置优惠券触发包邮

如果想通过优惠券给客户包邮(比如老客户回购券),需要两边配合:

  1. 在 营销 → 优惠券 中新建或编辑优惠券,在“常规”里勾选允许免费配送;
  2. 回到配送区域里的免费送货设置,把条件设为“有效的免费配送优惠券”或“最低订单金额或优惠券”。

只做了第一步而没改配送方式的条件,优惠券是不会触发包邮的;反过来也一样。优惠券本身可以同时有折扣金额,也可以是 0 元折扣、只用来包邮。

第五步:满额后隐藏其他付费运费(可选)

WooCommerce 默认会把区域里所有可用的方式都列出来。满额后,客户会同时看到“免费送货”和“统一运费”,虽然默认会选中一个,但也容易让人困惑。想满额后只显示包邮,可以在子主题的 functions.php 或代码片段插件里加入下面这段代码:

add_filter( 'woocommerce_package_rates', function ( $rates ) {
    $free = array();
    foreach ( $rates as $rate_id => $rate ) {
        if ( 'free_shipping' === $rate->method_id ) {
            $free[ $rate_id ] = $rate;
        }
    }
    return ! empty( $free ) ? $free : $rates;
}, 100 );

它的作用是:只要有免费送货可用,就只保留免费送货;没达到门槛时,正常显示其他运费。加代码前请先备份,改完记得清除缓存再测试。如果你还提供“加急配送”这类付费选项,就不要用这段代码,否则加急选项也会被隐藏。

第六步:在结账页实际测试

设置完一定要自己下单测试一遍,至少测这几种情况:

  • 金额略低于门槛:应该收运费;
  • 金额达到门槛:应该出现免费送货;
  • 达到门槛后再用一张优惠券:结果是否符合你选择的“优惠券折扣前/后”规则;
  • 换几个不同国家的收货地址:每个区域的结果是否正确。

如果运费显示和预期不同,可以在 WooCommerce → 设置 → 配送 → 配送选项 里打开“调试模式”,结账页会显示匹配到了哪个区域;测试完记得关闭。同时清除购物车再试,因为运费结果会被缓存在购物车会话里。

常见错误

  • 区域顺序不对:一个大范围区域(如“全部欧洲国家”)排在具体国家前面,导致具体国家的包邮设置永远匹配不到。具体的区域要放在上面;
  • 有国家没被任何区域覆盖:落到“其他地区”后没有任何配送方式,客户会看到没有可用的配送方式、无法下单;
  • 门槛写错货币:用了多币种插件时,确认门槛是否会按汇率换算,不同插件做法不同,要实际切换货币测试;
  • 网站宣传和设置不一致:页面写“满 50 包邮”,后台填的却是 100,或优惠券规则不同,容易引起投诉;
  • 缓存插件缓存了购物车页:购物车、结账页不应被整页缓存,否则运费显示可能不更新。

结账时如果还遇到“没有可用的付款方式”,可以看 WooCommerce 结账提示“No payment methods available”怎么办。

包邮门槛怎么定

这里不给具体数字,因为它取决于你的客单价、实际物流成本和毛利。常见思路是:先算清楚一单的平均物流成本,再把门槛设在略高于当前平均客单价的位置,引导客户多加一件;上线后观察客单价和利润的变化再调整。门槛要在商品页、购物车或顶部公告条上写清楚,客户看得到才有效果。

如果你想从零开始跟着步骤搭建自己的零售独立站,可以看 SHOPAGG 自己搭建 B2C 跨境零售独立站。

常见问题

设置满额包邮需要装插件吗?不需要,WooCommerce 自带的“免费送货”方式就能实现。只有门槛按重量、按商品类别等复杂规则时才需要插件。

为什么满额了还显示运费?先检查客户地址匹配到的区域里有没有加免费送货,再看“优惠券折扣前”的勾选,以及门槛是否含税。

能不能只对部分商品包邮?自带功能只按订单金额或优惠券判断。按商品包邮可以用限定商品的包邮优惠券,或使用运费插件。

说明:本文依据 WooCommerce 自带配送功能的通用设置方法整理,没有引用具体店铺案例、物流报价或测试数据。不同版本的后台文字和位置可能略有差异,请以你的后台实际界面为准。


作者:庄朋龙(关于 SHOPAGG)。

分享您的喜爱

发表回复