Development alpha.3 — local testing

Free shipping promotions

Working alpha.3 guide. The feature is connected in the local plugin; local HTTP purchases have passed for classic and Blocks checkout; browser acceptance remains open. This guide has not been published to the company website, whose download may be older.

Before you start

Configure delivery zones and enabled shipping methods in WooCommerce → Settings → Shipping. The promotion changes the cost of an existing available service. It does not create a delivery service, extend a delivery area or change which destination a method supports.

Create a promotion

  1. Open HookSpark → Pricing & Discounts → Create promotion.
  2. Enter a descriptive name and choose Free shipping.
  3. Under Shipping methods to make free, select the intended services. Each label includes its zone. Selecting Standard in one zone does not select Standard in another zone.
  4. Choose eligible products and exclusions, then the intended customers. Existing selector and audience conditions apply.
  5. Set minimum/maximum quantity and Minimum net spend. These conditions are evaluated separately for each shipping package. Quantity counts matching items; spend includes the package’s original net merchandise value, before Pricing reductions and coupons, excluding shipping and taxes.
  6. Set dates and coupon policy if needed. The default policy suspends the promotion while a coupon is applied. An end date is exclusive.
  7. Activate and save when ready. Test with a delivery address belonging to the selected zone.

Product-price adjustments, product-unit campaign quotas and product-line notes do not apply to this rule type. Converting a rule to Free shipping clears those product-specific quota/note settings when parsed; use a separate promotion if you want to retain a product discount as well.

What changes for the customer

The selected available rate has zero cost and zero shipping tax. The service identity and delivery information are retained. Other service instances keep their charges. Product prices are unchanged by the shipping rule itself.

For example, with a €200 threshold and a selected Standard service costing €7:

Package Original net merchandise value Result
Eligible product, one unit €100 Standard remains €7
Eligible product, two units €200 Standard becomes free
Unrelated product only €200 Standard remains €7
Same eligible product split into one-unit and two-unit packages €100 / €200 €7 for the first package, free for the second

A different destination with an unselected €11 service still costs €11. Local native tests verify these cases, plus restoring charges when disabling a campaign, applying an incompatible coupon, or restricting the audience.

A local regression also checks a €100 product discounted to €80 by a separate promotion: it still reaches the €100 original-net shipping threshold. Removing that product discount restores its price without changing the shipping benefit.

If shipping is not free

  • Confirm the address matches the zone of the selected method and that the service is enabled and available.
  • Check matching quantities and spend in each package, rather than the entire cart.
  • Check product exclusions, sale-item policy, customer conditions, dates and coupons.
  • A removed or disabled delivery service cannot be made available by this promotion. Reopen the rule and select the intended current method. Saved unavailable methods remain visibly selected with replacement guidance, so reopening a rule does not silently discard them. Uncheck them or choose a replacement; their presence does not create an available service.
  • The product-price simulator does not calculate shipping eligibility or savings. It explicitly defers this result to package and destination evaluation; a product subtotal is not a shipping quote.
  • Third-party package builders that replace product objects or use custom quantity formats are not yet validated. Do not infer compatibility from the standard-package tests.

Orders and other plugins

The native order shipping line retains the method identity, zero cost/tax and a private campaign reference. A local Store API purchase also passed: 12 physical items at €100, total €1,200, shipping cost/tax zero and campaign reference reread from the order; the temporary order was removed. The equivalent classic HTTP checkout also passed with the same amounts and attribution. Browser visual acceptance and invalid-quantity recovery remain open. Min/Max continues to own purchase quantity and amount constraints; a shipping benefit does not waive those rules. Combined full checkout acceptance remains open.

Shipping benefits do not compete with product discounts under the product-price first/best/stack calculation. Shipping rules run by priority (lower first), then rule ID. The first grant that reduces a rate to zero retains attribution; later grants do not claim the same saving. A service already free without the campaign is not attributed to it. Reports, full shipping simulation, screenshots, translations, complete checkout and website/demo synchronization remain pending.

Choose another guide →