Shipping Zones by Drawing for WooCommerce


Shipping Zones by Drawing allows you to draw your shipping areas into a map and use them with WooCommerce. You will no more be limited by zip code level when defining a shipping zone.
By connecting a drawn shipping area to a WooCommerce shipping method you can define a shipping cost for every zone.
Limiting shipping methods by a transportation radius from your store location is also possible.

To get knowledge of WooCommerce shipping zones and methods, we recommend a visit to the WooCommerce Shipping Zones Documentation. Remember that the drawn shipping areas will be added as shipping methods to WooCommerce.
If you are experiencing problems with the address validation for your country on the checkout page, please report it in the forum.

To use the plugin with extended functionality, there is a premium version available.


  • Draw your shipping zone

  • At checkout

  • Add as shipping method

  • Add your delivery map to a shipping method


  1. After activation, go to WooCommerce -> Settings -> Shipping Zones by Drawing.
  2. You will need to enter a Google Maps API Key. (Maps JavaScript API, Places API, Geocoding API, Directions API)
  3. Now, go to WooCommerce -> Shipping Zones by Drawing and draw a shipping zone.

Now you are ready to set up your WooCommerce shipping zones and methods at WooCommerce -> Settings -> Shipping.
Add your drawn shipping area as a WooCommerce Shipping Method into a WooCommerce Shipping Zone.

Remember that WooCommerce always chooses the first WooCommerce shipping zone that matches an address. So remember to put all your drawn shipping methods per country/region / postal code in the same WooCommerce shipping zone.

To get knowledge of WooCommerce shipping zones and methods, we recommend a visit to WooCommerce Shipping Zones Documentation

That is all.


Why doesn’t my drawn shipping methods show up at checkout?

Remember that WooCommerce always chooses the first shipping zone that matches an address. So remember to put all your drawn shipping methods per country/region/postcode in the same shipping zone.

Is it possible to add more than one zone?

Yes, five zones. But you draw as many you like with the premium version of the Shipping Zones by Drawing.

Which APIs of Google are needed?

Your Google API key needs the Maps JavaScript API, Places API, Geocoding API, Directions API .

Is there any way to display a delivery map to customers?

Yes, use shortcode [szbd ids=”id1,id2″ title=”Delivery Zones” color=”#c87f93, red”] to display a delivery map.

The arguments are:
ids – a list of drawn maps by post ids
radius – a list of radii that draws circles
circle_color – a list of colors of the circles (optional)
radius_unit – kilometer or miles, (optional, kilometer is the default)
title – the map’s title to display above the map (optional)
color – a list of colors of the delivery zones polygons (optional)
interactive – set to “true” if to enable user map interaction (optional, default is false)


March 8, 2024
Mesmo seguindo os passo, ele mostra os métodos de entrega para região que não deve.Edição bem confusa o que não traz confiança na ferramenta.
August 4, 2022
The plugin works great. Highly recommended if you want to organize shipping/delivery areas at different prices. I had some problems with the configuration and contacted support. The response was very fast and professional and very effective. The technical support provided by Viktor is 5 stars! Thank you for your quick response, kindness and great work! Congratulations!
March 21, 2021
I’ve tried different plugins and this works just incredible. The bundle with address checker just makes it a killer combination. Worth every dollar.
February 17, 2021
Excellent plugin for shipping and differentiated costs Try it because it is very simple, very good support from the team, for some difficulty, even in free. I tried other shipping plugins, but they did not meet these requirements. Here we can choose the zones, drawing on the map, and apply the shipping cost for that zone. Excellent
Read all 19 reviews

Contributors & Developers

“Shipping Zones by Drawing for WooCommerce” is open source software. The following people have contributed to this plugin.


“Shipping Zones by Drawing for WooCommerce” has been translated into 3 locales. Thank you to the translators for their contributions.

Translate “Shipping Zones by Drawing for WooCommerce” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



Fix: Removed underscore methods from blocks.


Compatibility: Updated compatibility with WooCommerce 9.


Fix: Clear shipping rate cache when updating customer on blocks checkout.


Compatibility fix: Requests from the “Check My Address” extension were affected by the current Food Online delivery session.


New policy: Google requests from server never uses client API Key (formerly the 1st key).

Fix: Clear shipping location data when choosing pickup location on blocks checkout

Fix: Removed underscore methods from blocks


Fix: Import Lodash library into blocks

Fix: Missing file


Fix: Picked delivery location display twice at ThankYou page


Fix: Component request string for Google calculations
Fix: Intergration with method selection block on checkout page


MAJOR UPDATE – Please back up your installation before upgrading

New Features: Ability to show an info message on checkout when no methods are available
New behavior: Google requests from the server now using address components for better accuracy. This can be disabled by using the new filter “exprimental_szbd_piped_request” and returning FALSE

Compatibility: Compatible with WooCommerce blocks checkout
Fix: Show only one shipping method with minimum cost when running in server mode


Fixes: Bug fixes regarding checkout map and plus code.


Fix: Bug fixes


Important change: It is now default to run the plugin in server mode.
Backward compatibility: Compatibility with older WC versions where OrderUtil class is not defined.


Compatibility: Compatibility with High-Performance Order Storage (HPOS) (BETA)


Fix: Modify the address format for Chile to be Google compatible


New: Updated [szbd] shortcode arguments


Fix: Google Maps requires callback function on initiation

Fix: Google Maps now use v3 where a callback function is not required

Compatibility: Compatibility with Elementor Pro 3.7 & Eelementor 3.5. (native JS events)

Improvement: Blocks Checkout improved compatibility
Compatibility: Food Online Premium

Compatibility: Food Online Premium 5.4.1
Improvement: Blocks Checkout basic compatibility


Compatibility: WordPress 6.1 & WooCommerce 7.1
Improvement: Checkout map & marker behavior


Fix: Geolocation of store address when running in server mode

Development: Shipping method filtering compatible with block checkout.


Fix: Unregister szbdzones post type on plugin deactivation


Bug Fix: Calculation of shipping rate depending of package weight


New: Option to run the plugin in server -mode. All method filtering performs at the server.
New: Possibility to use cart weight as an argument when defining a shipping flat rate.

Bugfix: Error geolocating shop address when wc shipping isn´t initiated


  • Fixes: Minor bug fixes and adjustments

Fix: Trailing whitespace may cause incorrect output


New: Option to enable geo-calculations on cart page
New option: Restrict shipping methods by product categories


Improvement: Added wp noces to ajax requests


Improvement: Monitoring of when shortcode [szbd] is inserted into DOM now waits until map is visible


Improvement: New advanced option to monitor and initialize when shortcode [szbd] is inserted into DOM


Improvement: More efficient way to geolocate checkout map center points


Fix: Reset chosen map location when set/unset “Ship to different address?”
Dev: Bind shipping method list by element id (“shipping_method”) and try with wildcard if this id does not exist


Compatibility: Compatibility with Food Online 5
Fix: Hide map on checkout when geolocation is not necessary


Bug Fix: Failure when shipping methods have class costs


New: Support for use of shortcodes [qty] & [fee] when defining a flat rate for a “Shipping zones by drawing” shipping method
New Option: Added option “Mandatory to precise at map”. This feature adds the possibility to force customers to use the map at checkout to precise their delivery location
Improvement: Major improvement when geolocating to always display the most relevant map at checkout
Dev: Updated checkout javascript file with increased stability and bug fixes

Improvement: Tries to not load Google Maps js if it is already loaded


Fix: Shortcode [szbd] with radius argument do not show
New: Argument radius_unit added for shortcode [szbd]
Fix: Removes empty locality component restrictions


Fix: Removed js arrow functions for improvement of browser compatibility.


Shortcode class [szbd] and javascript methods updated to allow multiple maps at same page

Updated compatibility WP 5.6 and WooCommerce 4.8

Bug fix: Shipping methods disappears from checkout when location is picked from map and methods are re-selected more than one time

Resolved naming conflict add to email filter

Bug Fix: Map for delivery location don´t show when Food Online plugin is installed

Bug Fix: Compatibility with Food Online when store address needs to be geolocated


Bug Fix: Radius methods fail at rare cases
Do not run js at order-pay endpoint page


Compatibility with Food Online 4.1


New Feature: As option, let user pick delivery location from map when a street address can´t be geolocated


New use of color argument for the [szbd] shortcode


WordPress 5.5 compatibility


New option on how to define the store location
New advanced option to force shortcode [szbd]. May be needed if showing the shortcode in popups etc.
New argument “radius” to the shortcode [szbd]. Display a circle with specified radius
Improved compatibility (with 3rd party plugins) when checkout fields like “Country” are removed from the checkout page


Improved evaluation of customer default address


Improved error handling at checkout along with 3rd party plugins


Impoved error handling at checkout
Improved messages at checkout


Improved compatibility with jQuery 3
Bug Fix: Feature “Select Top Shipping Method”


New option: Top sorted shipping method will be chosen at checkout


Bug fix: Checkout error when cart only consists of non shippable products


Added option to deactivate postcode restriction


Added shortcode argument ‘interactive’ to enable user interaction at the delivery map
Improved support for addresses in Poland


Bug Fix: Shortcode [szbd] map placed in wrong place
Store addresses accept establishment and route as geolocation types


Allowing Google responses with route types
Improved compatibility for Brazilian addresses


Now allowing geocode reults with establishment types


Better compatibility with states in some countries
Added support to use shipping classes


Bug fix: rounding rates


Added column in edit to show post ids.


Added shortcode [szbd] to display drawn delivery zones front end.
Example [szbd ids=”post_id1,post_id2″ title=”Delivery Zones” color=”#c87f93″]


Better compatibility when checkout is done stepwise (with external plugins)
Better compatibility with addresses in Angola

Better compatibility with checkout form where some fields are disabled

Better compatibility with addresses in Russia


Further improved backwards compatibility with shipping methods created prior to version 2.0.0
Better checkout perfomance.


Improved backwards compatibility with shipping methods created prior to version 2.0.0



  • Updated core for better performance.

  • Ability to limit shipping by a radius distance from the store address.
  • Ability to choose the tax status of the shipping cost.
  • Ability to choose title of shipping methods shown at checkout.


  • Better compatibility for addresses in Romania.
  • Improved address validation.


  • Better compatibility for addresses in Canada.


  • Fix: Version control of javascript files


  • Bug fix not showing shipping methods at checkout correctly

  • Bug fix


  • Possibility to draw up to 5 zones.


  • Better compatibility for addresses in Israel.

  • Minor javascript fix


  • Added option to hide shipping cost at cart page.
  • Visual improvement of the checkout page behavior.


  • Javascript bugfix at checkout


  • Enabled map drawing with more than 4 coordinates


  • Added option to disable Google Maps API script loading


  • Improved compability for network installation (multisite)


  • Bug fix: Edit link from settings page


  • Bug fix: file path reference


  • Bug fixes


  • Initial release