View Categories

Creating Delivery Rules

Delivery rules let you create different delivery promises for specific products, categories, shipping methods, destinations, or stock statuses.

Use delivery rules when your default delivery estimate is not enough for every order.

For example, you may want:

  • Express shipping to show a faster delivery estimate
  • International orders to show a longer delivery estimate
  • Backorder products to show extra processing time
  • Bulky products to show a freight delivery window
  • Specific product categories to use custom lead times

What is a delivery rule? #

A delivery rule is a set of conditions and timing values.

When the conditions match the customer’s order, Delivery Promise uses that rule to calculate the dispatch and delivery estimate.

A rule can control:

  • Processing time before dispatch
  • Delivery time after dispatch
  • Cutoff time
  • Working days
  • Product or category conditions
  • Shipping method conditions
  • Shipping country conditions
  • Stock status conditions
  • Custom message override

Where to create delivery rules #

To create a delivery rule:

  1. Go to WooCommerce → Delivery Promise.
  2. Open the Rules tab.
  3. Click Add Rule.
  4. Enter a rule name.
  5. Choose the rule conditions.
  6. Set the processing and delivery timing.
  7. Save the rule.

Rule name #

Give the rule a clear name so you can understand it later.

Examples:

  • Standard Shipping
  • Express Shipping
  • International Shipping
  • Backorder Products
  • Made-to-Order Items
  • Bulky Freight Products

A clear name also makes it easier to understand results in the Delivery Promise Tester.

Rule priority #

Priority controls which rule should be used when multiple rules could match.

Use priority to control rule order.

Example:

  • Express Shipping — Priority 10
  • Standard Shipping — Priority 20
  • International Shipping — Priority 30

Check the helper text in your Rules screen to confirm whether lower or higher numbers are applied first in your version of the plugin.

Conditions #

Conditions decide when a rule should apply.

If a condition is empty, the rule usually applies to any value for that condition.

For example, if you leave the product field empty, the rule can apply to all products.

Common conditions include:

Shipping method #

Use this when different shipping methods have different delivery times.

Example:

  • Standard Shipping: 3–5 days
  • Express Shipping: 1–2 days

Shipping country #

Use this when orders to certain countries need a different delivery estimate.

Example:

  • Domestic orders: 2–3 days
  • International orders: 7–14 days

Product or category #

Use this when specific products need different processing time.

Example:

  • Handmade products: 5–10 processing days
  • Bulky products: 2–4 processing days
  • Digital products: no delivery promise needed

Shipping class #

Use this when WooCommerce shipping classes represent fulfillment differences.

Example:

  • Freight class
  • Fragile class
  • Oversized class

Stock status #

Use this when in-stock and backorder products need different delivery estimates.

Example:

  • In stock: dispatch today
  • On backorder: dispatch in 7–14 days

Processing time #

Processing time is the time before the order is dispatched.

Example:

Processing time: 1–2 working days

This means your store needs 1 to 2 working days before the order is expected to dispatch.

Delivery time after dispatch #

Delivery time after dispatch is the transit time after the order leaves your store.

Example:

Delivery time after dispatch: 2–3 working days

This means the package is expected to arrive 2 to 3 working days after dispatch.

Example: Express shipping rule #

Use this rule for faster shipping methods.

Rule name: Express Shipping
Condition: Shipping method = Express Shipping
Processing time: 0–1 working days
Delivery time after dispatch: 1–2 working days
Cutoff time: 14:00

Customer may see:

Estimated delivery: July 2 – July 3

Example: Backorder rule #

Use this rule for products that are not immediately available.

Rule name: Backorder Products
Condition: Stock status = On backorder
Processing time: 7–14 working days
Delivery time after dispatch: 2–5 working days

Customer may see:

Estimated delivery for backorder items: July 12 – July 24

Example: International shipping rule #

Use this rule for cross-border orders.

Rule name: International Shipping
Condition: Shipping country is not your store country
Processing time: 1–3 working days
Delivery time after dispatch: 7–14 working days

Customer may see:

International delivery estimate: July 10 – July 18

Custom message override #

A rule can use a custom message instead of the default message.

Example:

Estimated express delivery: {delivery_range}

Or:

Made to order. Estimated delivery: {delivery_range}

Useful placeholders include:

{dispatch_date}
{dispatch_range}
{delivery_date}
{delivery_range}
{shipping_method}
{cutoff_time}
{countdown}

Testing a rule #

After creating a rule, use the Delivery Promise Tester.

  1. Go to WooCommerce → Delivery Promise.
  2. Open the Tester tab.
  3. Select a product.
  4. Choose a shipping method and country.
  5. Run the test.

The tester shows:

  • matched rule
  • processing time used
  • delivery time used
  • cutoff status
  • skipped holidays or non-working days
  • final delivery message

Troubleshooting #

My rule is not matching #

Check:

  • the rule is enabled
  • the product/category condition is correct
  • the shipping method condition matches the selected method
  • the stock status condition is correct
  • the shipping country condition is correct
  • another rule with higher priority is matching first

The estimate is too early #

Check:

  • processing days are not too low
  • transit days are not too low
  • holidays are configured
  • working days are correct
  • cutoff time is correct

The estimate is too late #

Check:

  • processing maximum days
  • delivery maximum days
  • product-level lead time
  • backorder settings
  • matched rule priority

The wrong rule is being used #

Use the Delivery Promise Tester to see which rule matched and why.

Adjust rule priority or make your rule conditions more specific.