Documentation
Service Area Validator documentation
How to set up and use Service Area Validator: install, settings, shortcodes and fixes for common problems.
Overview
Service Area Validator tells visitors whether you serve their address, and shows you on a map where out-of-area customers are asking from.
Where to find it: Service Area, in the main WordPress menu.
What you need
- WordPress 5.8 or newer
- PHP 7.4 or newer
- A Google Maps key with Maps JavaScript, Places and Geocoding
- Gravity Forms (optional)
Install
- With The Vault (easiest): open The Vault in your WordPress menu, find Service Area Validator and click Install. It is installed and activated for you.
- By hand: buy a license on the plugin page, then go to Plugins → Add New → Upload Plugin, choose the zip and activate it.
Updates arrive automatically from wpwizards.com, like plugins from WordPress.org.
License
This is a premium plugin. Open The Vault → Licenses, paste the key from your order confirmation and click Activate License. WP Wizards clients have every plugin included while their service is active, with no key needed. Without a license the plugin keeps working but stops receiving updates.
Quick start
- Add your Google key. Open Service Area → Settings. The setup guide walks you through creating the key and turning on the three APIs.
- Define your area. Choose a method: a Google My Maps boundary, a radius around an address, or a list of ZIP codes.
- Place the checker. Add
[service_area_check]to a page. Visitors type an address and see your in-area or out-of-area message.
Gravity Forms
Under Service Area → Settings → Integrations, enable Gravity Forms. Enter the form ID(s) and the ID of the address field. Use a single-line Text field for the address and make it required.
Visitors get Google autocomplete on that field, and the rest of the form stays hidden until the address is inside your area. Out-of-area addresses see your error message, with an optional link to your service area page.
Demand Map
When a visitor checks a full street address that is outside your area, it is saved and plotted under Service Area → Demand Map. You see totals, the top cities and ZIP codes, and the latest addresses, for the last 30, 90 or 365 days or all time. A summary also appears on the WordPress dashboard.
Only the address is stored: street, city, state, ZIP and map position. No names, emails, phone numbers or IP addresses.
Bookings and travel pricing
Since version 4.0 these live in the separate Service Bookings plugin. Sites that already used them keep working until Service Bookings is installed, and it then takes over with the same settings.
Settings
Service area
| Method | Google My Maps (paste the map link or ID), Business location and radius, or ZIP codes (one per line). |
|---|---|
| Autocomplete country | Limits address suggestions to one country, as a two-letter code. |
| Success message / Failure message | What visitors see in and out of your area. |
| Checker layout and colors | Side by side or stacked, with your button and border colors. |
Service areas
| More than one area | Add areas under Service Area → All Service Areas. Each has its own method, messages and shortcodes. One is marked Default and is used by shortcodes with no area, and by Gravity Forms. |
|---|
Demand Map
| Record out-of-area addresses | On by default. Turn it off, or delete everything recorded, from the Demand Map screen. |
|---|---|
| Keep for | How many days addresses are kept. |
| Export CSV | Download any date range. |
Import / Export
| Import / Export | Move settings between sites. Google Calendar sign-ins are not included. |
|---|
Shortcodes
[service_area_check]
The address checker.
| Attribute | Values | What it does |
|---|---|---|
placeholder |
text | Text inside the address box. |
button_text |
text | The button label. |
layout |
horizontal or stacked | Overrides the layout setting. |
id, slug or profile |
area | Check against a specific service area instead of the Default. |
[service_area_map]
A map of your area.
| Attribute | Values | What it does |
|---|---|---|
width, height |
CSS size | Defaults: 100% and 500px. |
zoom, center |
auto or value | Leave on auto to fit the area. |
embed_mymaps |
true or false | Embed the Google My Maps viewer instead of drawing the boundary. |
id, slug or profile |
area | Show a specific service area. |
[service_area_map_and_check]
The map and the checker together.
| Attribute | Values | What it does |
|---|---|---|
map_width, map_height |
CSS size | Size of the map. |
placeholder, button_text, layout |
text | As for the checker. |
id, slug or profile |
area | Use a specific service area. |
Place a shortcode in a Divi Text or Code module, a Shortcode block, or a widget.
Troubleshooting and questions
The map or autocomplete does not load.
Check that Maps JavaScript API, Places API and Geocoding API are enabled for the key, and that the key’s website restrictions include your domain.
My Google My Maps area is not recognised.
In Google My Maps, click Share and set the map to “Anyone with the link can view”.
Nothing appears on the Demand Map.
Only full street addresses outside your area are saved, and checks made while logged in as an administrator are skipped.
ZIP boundaries are still loading.
Boundaries are fetched one at a time after you save a ZIP list. Leave the settings page open until it finishes.
Get help
Stuck on something this page does not cover? Contact us and tell us which plugin and version you are on. Need it to do something it does not do yet? We build custom plugins too.



