Delivery by Distance for WooCommerce

Add-on for WooCommerce stores that rent or sell

Charge for every delivery by how far it goes

Delivery by Distance prices each WooCommerce delivery from your store, or your nearest warehouse, to the customer’s door. Set your price bands once: shoppers see the delivery price on the product page, checkout charges the right fee for the address, and addresses that are too far are turned down. It works out the distance itself with no map account, or uses the map service you choose for road distances and drive times.

0 keys
needed: its own calculation sends nothing anywhere and costs nothing
3 ways
to price: by distance, by drive time, or whichever costs more
1 postcode
is all a shopper types to see the delivery price on a product page
2 checkouts
classic and block, with the reason when an address is too far
yourstore.com · WooCommerce › Settings › Shipping › Delivery by Distance
Delivery by DistanceDistance sourceOriginsPrice tablesPostcode dataLicenceUp to 10 mi ยท $45Up to 20 mi ยท $65Up to 35 mi ยท $65 + $3/miThe Event Collection78704 ยท 2.7 mi$45.0078681 ยท 27.2 mi$86.6078130 ยท beyond 35 miNot offered: too farEvent deliveryPrice by distance ยท miles ยท one wayUp toFeePer unit beyond the start10 mi$45.00020 mi$65.00035 mi$65.00$3.00Not offered beyond 35 miTest an address2219 Amberfield Dr, 78681Work it out$86.60ยท 27.2 mi ยท 71 minFrom The Event Collection ยท Measured by:straight line ร— 1.30 (postcode point)Distance 27.2 mi (20โ€“35 mi band)+ $3.00 ร— 7.2 mi$86.60
A party rental store in Austin: $45 up to 10 miles, $65 up to 20, then $3 a mile up to 35 miles, and Test an address working out a delivery to Round Rock.
Video tour

See a delivery priced, start to finish

The price on the product page, the fee at checkout, the pin on the map and an address that is too far. Then the setup: your store, the price table, how the distance is measured, and Test an address.

Distance based shipping for WooCommerce

Stop charging one delivery fee for every address

A flat fee loses money on the long trips and looks expensive to the customer around the corner. Shipping zones by postcode mean long lists to keep up, and they still don’t know how far each address is.

A flat fee, or zones by hand

  • The customer 3 miles away pays the same as the one 30 miles away
  • Long trips eat the margin; short ones look overpriced
  • Postcode lists to type in and keep up for every zone
  • Shoppers find out what delivery costs only at checkout

With Delivery by Distance

  • Each address priced from its own distance, band by band
  • Free delivery nearby or over an order total, a lowest and a highest fee
  • One price table for the whole area, and a limit past which delivery isn’t offered
  • The delivery price on the product page, before they order
How it works

Set up once, priced on every order

A checklist at the top of the settings shows what is left to do.

1
Put your store on the map

Find it on OpenStreetMap, use its postcode point, or type its coordinates. Add warehouses and branches too.

2
Make a price table

Bands by distance or drive time, limits, free delivery and extra charges, with a preview as you type.

3
Add it to a shipping zone

Delivery by Distance is a WooCommerce shipping method: add it to a zone and pick its price table.

4
Customers see the price

On the product page, at checkout and on the order, with the distance and the drive time.

For your customers

The delivery price before they order

Shoppers type a postcode on the product page and see what delivery will cost. At checkout, the fee follows the address.

Delivery to my postcode

A checker on the product pages that ship, or anywhere else with a shortcode or a block. It uses your own calculation: no map service is asked, and nothing about the visitor is kept.

The right fee at checkout

A WooCommerce shipping option priced for the address, on the classic and the block checkout. Show the distance in its name if you like: “Delivery (27.2 mi)”.

Check the pin on the map

Customers move the pin to their door or gate on an OpenStreetMap map, within a distance you set, so the price can’t be lowered by moving it.

Too far? They’re told why

Past your limit, delivery isn’t offered and the customer reads the reason. When you offer pick up, it says so.

On the order

The order screen shows the distance, the drive time and the price table used, for whoever delivers.

Festoon string lights, 30 m$129.001Add to cartDelivery to my postcodeUnited States (US)78681CheckDelivery to 78681: from $86.60 (about 27.2 mi). Exact price at checkout.Your orderFestoon string lights, 30 m ร— 1$129.00Subtotal$129.00ShipmentDelivery (27.2 mi): $86.60Total$215.60
A plain WooCommerce store: the price on the product page, then the same delivery at checkout.
Where should we deliver?2219 Amberfield Dr, 78681 Round RockDrag the pin to your door or gate, up to 2 km from the address.The delivery price is measured from the pin.Leaflet | ยฉ OpenStreetMap contributorsThe pin is 67 m from the address.Use this pinCancel
Check the pin on the map: the price is measured from the pin.
Delivery to my postcodeUnited States (US)78130CheckWe deliver up to 35 mi from The Event Collection.CheckoutShip to: 12 Mill Race Ln, New Braunfels, TX 78130ShipmentWe deliver up to 35 mi from The Event Collection.Choose pick up.Total$129.00Place order
An address beyond the limit: no delivery, and the reason.
Measuring the distance

No map account needed, or the map service you choose

Start with its own calculation, free. Add a map service later for road distances and drive times; own calculation stays as the fallback.

Measured byWhat it needsWhat it measuresWhat is sent
Own calculationNothing: no account, no key, no costThe straight line from your store to the address, times a road factor (1.00 to 2.50); drive time from an average speedNothing leaves your store
A map serviceYour own key from Geoapify, openrouteservice, LocationIQ, TomTom, HERE or GoogleRoad distances and drive times, with own calculation as the fallbackThe delivery address, to the service you chose
Work it out from real trips

Enter a few trips you have driven, with the driving distance, and it suggests your road factor: “Suggested road factor: 1.15 (from 5 trips)”.

Postcode points for your country

Download a country’s postcode points from the Sales Igniter mirror (checksum verified) or GeoNames, so an address is placed without any map service.

A checkout never waits

A daily cap per service, usage counts and Test the connection. If a service doesn’t answer, the next step does, and finally own calculation.

Price tables

Your prices, band by band

A price table turns a distance into a delivery fee. Make one for each kind of delivery, and try any address before you save.

Distance, drive time, or whichever costs more

In miles or kilometres; one way, there and back, or delivery and collection for rentals.

Distance bands

Each band charges its fee up to its distance, plus an amount for every mile past the band’s start if you like.

Limits and free delivery

Not offered beyond a distance, free on orders over an amount or within a distance, a smallest order, and a lowest and a highest fee.

Extra charges and rounding

A base fee, a rate per mile or per drive minute, handling, weight, per item and per shipping class; round the distance and the fee.

Preview and Test an address

The preview prices four distances as you type. Test an address works out a real one step by step, the way checkout will.

Copy a table to another site

Every table can be copied out and pasted in as JSON.

Event deliveryDistancemilesone way (to the customer)Distance bandsUp toFeePer unit beyond the start104502065035653and beyond0Limits and free deliveryNot offered beyond35 miMargin10 %Free on orders ofneverHighest feenonePreview5.0 mi ยท 18 min$45.0015.0 mi ยท 42 min$65.0027.5 mi ยท 72 min$87.5042.0 mi ยท 107 minToo far
The Event delivery table and its preview.
Who it’s for

For stores that sell, rent, or both

Delivery by Distance is a standard WooCommerce shipping method, so it works on any WooCommerce store. Next to our other plugins it does more.

Stores that sell

Anything you deliver yourself: price each delivery by distance on a plain WooCommerce store. No rental plugin needed.

WooCommerce

Rental stores

Price your rental delivery areas by distance, for the delivery and the collection, and give posted rentals their days in transport by distance. One postcode box on the rental product page gives the delivery price.

With Rentals & Bookings Regular

Delivery routes

Smart Routing plans each day’s runs with road travel times from your map service, and prices its delivery areas by distance, with or without Rentals & Bookings.

With Smart Routing

More than one location

Each delivery is priced from the nearest store, warehouse or branch, including your Multi Location Inventory locations that deliver.

With Multi Location Inventory
Features

Everything the add-on does

AreaWhat you get
Shipping methodA WooCommerce shipping method for any shipping zone, on the classic and block checkouts; the distance in its name if you like
Price tablesBy distance, drive time or whichever costs more; miles or kilometres; one way, there and back, or delivery and collection; distance bands with an amount per unit beyond the start; preview; Test an address; copy as JSON
LimitsNot offered beyond, a margin for straight-line distances, free on orders of, free within, smallest order, lowest and highest fee; when a distance can’t be measured, charge the last band or don’t offer delivery
Extra chargesBase fee, rate per mile or kilometre, per drive minute, handling, weight, per item and per shipping class; rounding
DistanceOwn calculation (the straight line × a road factor you can work out from real trips), or road distances and drive times from Geoapify, openrouteservice, LocationIQ, TomTom, HERE or Google, with a daily cap, usage counts and own calculation as the fallback
Postcode dataPostcode points per country from the Sales Igniter mirror or GeoNames, refreshed monthly if you like
OriginsYour store, warehouses and branches; the nearest one prices each delivery; Multi Location Inventory’s delivering locations
Storefront“Delivery to my postcode” on product pages, as a shortcode and as a block; address suggestions as customers type (with a map service); “Check the pin on the map” at checkout; the reason when an address is too far
OrdersA Delivery by Distance box on the order with the distance, the drive time and the price table used
PrivacySuggested privacy-policy text, personal data export and erasure; map-service keys are never shown again once saved
With Rentals & Bookings RegularRental delivery areas priced by distance; posted days by distance; one postcode box on rental product pages; the store’s address lookups through your map service
With Smart RoutingRoad travel times for planning the day, and delivery areas priced by distance, with or without Regular
Questions

Questions about Delivery by Distance

Do I need Rentals & Bookings?

No. Delivery by Distance is a standard WooCommerce shipping method and works on any WooCommerce store, for the products you sell. With Rentals & Bookings for WooCommerce Regular it also prices rental deliveries and collections by distance.

Do I need a map account or an API key?

No. Own calculation measures the straight line from your store to the address’s postcode point and multiplies it by a road factor, at no cost and with nothing sent anywhere. A map service is optional, for road distances and drive times: you use your own key and set a daily cap.

How close is own calculation to the real drive?

It is an estimate: the straight line times your road factor. Enter a few trips you have driven and it suggests the factor for your roads. A margin keeps addresses just past your limit on offer. For road distances, add a map service.

What does the customer see when an address is too far?

Delivery isn’t offered at checkout, and they read the reason, for example “We deliver up to 35 mi from The Event Collection.” When you offer pick up, it adds “Choose pick up.”

Does it work with the block checkout?

Yes. It works on the classic checkout and on the block checkout.

I have more than one store or warehouse.

Add each as an origin, and every delivery is priced from the nearest one. With Multi Location Inventory, its locations that deliver are added as origins.

Is it included in my package?

Yes, if you have Rentals & Bookings for WooCommerce Regular, Pro or Ultimate: it comes with them at no extra cost, and your main licence key covers its updates. On its own it is $49 for the first year, then $25 a year. If you stop renewing, it keeps working; only the updates stop.

Pricing

Delivery by Distance for WooCommerce

On its own, or included with Rentals & Bookings for WooCommerce Regular, Pro and Ultimate.

Delivery by Distance

Everything on this page.

$49renews at $25/year

The first year is $25 plus a one-time $24 sign-up fee.

  • Delivery fees by distance or drive time, in miles or kilometres
  • Own calculation with no map account, or your map service
  • Delivery to my postcode on product pages
  • Check the pin on the map at checkout
  • Your store, warehouses and branches as origins
  • Updates and support for 1 year
Buy Delivery by Distance

Before you buy

What it needs.

  • WooCommerce 8.0 or newer, on WordPress 6.6 and PHP 8.1 or newer
  • A WooCommerce shipping zone to add it to
  • Optional: a map service account, for road distances and drive times
  • Optional: Rentals & Bookings Regular, for rental delivery areas priced by distance
  • Optional: Smart Routing, for road travel times when you plan routes
Read the guide

Already on Rentals & Bookings for WooCommerce Regular, Pro or Ultimate? Delivery by Distance is included: download it from your account. See WooCommerce pricing

Price every delivery by how far it goes

Install it next to WooCommerce, put your store on the map, make a price table and add it to a shipping zone.