Gravity Forms Geolocation - WordPress Plugin
Gravity Forms Geolocation is a geolocation add-on specifically designed for WordPress, and it seamlessly integrates with the popular Gravity Forms plugin. With this geolocation add-on, users can enhance their forms by adding geolocation functionality, allowing them to collect and store geographical information effortlessly.

Plugin Features
By incorporating Gravity Forms Geolocation into their WordPress website, users can enrich their forms with geolocation fields, which can be used to capture the location data of form respondents. This valuable information can be utilized in a myriad of ways, such as creating location-based surveys, registration forms with auto-populating addresses, or event forms with geolocation tags. The possibilities are endless.
The geolocation feature of this plugin is incredibly user-friendly. Users can simply drag and drop the geolocation field onto their form, and it will automatically detect the respondents location based on their IP address. Alternatively, if users want to provide a manual or custom location, they can input the desired address into the field.
Gravity Forms Geolocation offers extensive customization options, allowing users to tailor the geolocation functionality to their specific requirements. They can choose between different data formats, such as latitude and longitude or street address, and even control the accuracy of the geolocation results. Additionally, this plugin integrates seamlessly with other Gravity Forms add-ons, opening up even more possibilities for customization and optimization.
The geolocation data captured through this plugin can be easily managed and utilized. Users can view and export the geolocation data from their form entries, enabling them to analyze the geographic distribution of their respondents. This information can be used for demographic analysis, targeted marketing campaigns, or even optimizing business operations based on regional trends and preferences.
Furthermore, Gravity Forms Geolocation ensures the security and privacy of the collected geolocation data. Users have complete control over how the data is stored and accessed, ensuring compliance with data protection regulations. Plus, with regular updates and dedicated support from the plugin developer, users can rely on the stability and reliability of this geolocation add-on for their WordPress site.
In conclusion, this powerful geolocation plugin for WordPress enhances the functionality of Gravity Forms, enabling users to collect, store, and utilize valuable geographical data effortlessly. With its user-friendly interface, extensive customization options, and seamless integration, this plugin is a valuable tool for businesses and website owners seeking to leverage the power of geolocation.
Specifications:
| Release date: | 11-01-2023 | |
| Last updated: | 29-05-2026 | |
| Type: | Paid | |
| License: | GPL | |
| Subject: | Maps & Weather for Gravity Forms | |
| Compatibility: | W5.x W6.x | |
| Includes: | Plugin | |
| Language packs: |
|
|
| Developer: | Gravity Forms | |
| Rating: | ||
Share with your friends!
Guide to Configuring and Using Gravity Forms Geolocation
Gravity Forms Geolocation is useful not as "a map next to a form," but as a set of fields and rules that turns a standard Gravity Forms form into one that works with addresses, coordinates, routing, distance, and verifiable location data inside each submission. In this guide, we will walk through how to approach installation, which settings to check first, how to connect fields through a geocoder, how to build a working on-site service request workflow, and how to understand why the map, autocomplete, or route calculation did not work.
This guide is written for a site owner, webmaster, or developer who already works with WordPress and Gravity Forms and wants to add geolocation to a form without relying on a random mix of plugins. We will not repeat the product's marketing description. Instead, we will go from preparing the Google Maps API to checking entries in the admin panel, notifications, shortcodes, and typical limitations.
The core logic of the plugin is built around the chain "input field - Geocoder - map - result." If you understand that relationship up front, configuring Gravity Forms Geolocation becomes much more predictable: the user enters an address or selects a point on the map, the plugin syncs the connected fields, and the form entry stores address components, coordinates, distance, or route data.
What Problems Geolocation Solves in WordPress Forms
Before installation, define not just that you "need a map," but the specific problem the map is solving inside the form. Gravity Forms Geolocation adds fields to Gravity Forms for address input, coordinates, maps, a locate-me button, routing, directions panels, distance, nearest locations, map drawings, and location output through shortcodes. With that toolkit, you can build anything from a simple delivery form to a more advanced service workflow with distance calculation, nearest office selection, or a map of submitted requests.
The most common use cases look like this:
- A service request form for dispatching a technician, where the user enters an address and the team receives precise coordinates and a complete address in the entry.
- A delivery or service estimate form, where the distance between the customer's address and a base location affects the price or service availability.
- A form for submitting a property, event, pickup point, or listing, where the address later needs to be shown on a shared map.
- A service form that helps select the nearest branch, pickup location, or service area.
- An internal form for field staff, where coordinates, location confirmation, and route data matter.
The main advantage of this approach is that location data becomes part of the Gravity Forms entry, rather than a separate visual block with no connection to the submission itself. That matters for notifications, entry filtering, exports, follow-up processing, and integrations.
The plugin may be unnecessary if all you need is a static map showing your office address on a page. In that case, a map block, theme widget, or standard embed is enough. Gravity Forms Geolocation makes sense when the user is actively submitting a location and the site needs to store, calculate, validate, or display that data.
When Gravity Forms Geolocation Is the Right Fit and When a Simpler Option Makes More Sense
This plugin is aimed at sites where Gravity Forms is already the primary tool for collecting submissions. If the site's forms are built with another form builder, it is usually more practical to look for geolocation tools built for that platform, because each builder has its own logic for fields, notifications, entries, and conditional logic.
Who this plugin is a good fit for
Gravity Forms Geolocation works especially well for service sites, delivery businesses, events, directories, dispatch requests, service companies, education projects with location-based content, and any project where a user's address should do more than sit in a plain text field. It is particularly useful when the form needs to connect multiple elements: address, coordinates, map, and route.
There is another important benefit for developers and agencies: the plugin works inside the Gravity Forms ecosystem and uses the familiar model of forms, fields, entries, notifications, and conditional logic. That reduces the risk of geolocation becoming disconnected from the rest of the site's business logic.
Who it may not be a good fit for
If the site does not use Gravity Forms, adding it just for one simple map is usually hard to justify. If the project needs a full geospatial system with many layers, advanced analytics, editable geodata, and granular access controls, a form plugin alone may also fall short. In that case, Gravity Forms Geolocation can serve as the data entry point, but not as the entire geo platform.
You should also evaluate the plugin's dependence on Google Maps Platform. Address autocomplete, geocoding, maps, routing, and some calculations require correctly enabled APIs and properly configured keys. If the client is not prepared to maintain a Google Cloud project, manage key restrictions, and monitor quotas, it is better to discuss that support burden in advance.
What to Check Before Installing on a Live Site
The preparation step is not just formalities. Most problems with geolocation forms do not come from the field itself, but from an incorrect Google Maps key, an API loading conflict, cached scripts, missing HTTPS, or a confusing form structure. Before installation, check a few things.
Basic WordPress and Gravity Forms compatibility
First, make sure the site is running a stable, up-to-date WordPress installation and that Gravity Forms itself is working properly. Gravity Forms documentation lists recommended system requirements for WordPress, PHP, and MySQL, and a third-party plugin depends on that foundation. If the form already has submission errors, theme conflicts, or notification problems, geolocation will only make troubleshooting harder.
- Open an existing test form and verify that a normal submission works without any geolocation fields.
- Make sure the form loads on the page without JavaScript errors in the browser console.
- Check that the theme does not hide standard Gravity Forms fields or break their width.
- If script optimization is enabled, document the current settings so you can quickly roll back minification or deferred loading if needed.
Google Maps API and key restrictions
Gravity Geolocation documentation covers Google Maps key creation separately. In practice, it is not enough to generate a key. You also need to enable the right services and restrict each key based on its purpose. In a typical setup, a browser key is used on the public site, while a server key is only needed for server-side operations if your configuration actually uses them.
For a form with an address field, map, and routing, you will typically need Maps JavaScript API, Geocoding API, Places API, and route-related services. The plugin documentation includes an important note: compatibility with newer Google APIs may still be transitional in some areas, so during setup you should follow the developer's current documentation and avoid disabling older APIs if your feature set still depends on them.
Practical check: create a separate Google Cloud project for the site, do not use one shared key across all clients, and make sure restrictions are in place. Browser keys are typically limited by HTTP referrers, while server keys are usually restricted by server IP. That reduces the risk of unauthorized key usage and unexpected costs.
HTTPS, location permission, and privacy
The current-location button uses the browser's location capabilities and depends on user consent. In practice, that means the site needs to run over HTTPS, the user needs to allow location access, and the form should clearly explain why you are requesting an address or coordinates. If the visitor denies permission, the form should still allow manual address entry if that fits the workflow.
Do not request precise geolocation unless you actually need it. For many submissions, an address or neighborhood is enough, and exact coordinates are only necessary for delivery, routing, service area validation, or dispatch. The more clearly you explain why the data is being collected, the fewer rejections and user concerns you will face.
Installation and the First Low-Risk Check
Installing Gravity Forms Geolocation is technically similar to installing any ZIP plugin in WordPress: upload the archive in the plugins section, activate it, then go to its settings inside Gravity Forms. This guide does not cover purchasing the product, obtaining a license key, or account management. The goal here is to enable a plugin you already have and safely confirm that the site is ready for geolocation setup.
- Create a backup of the site, or at minimum the database and plugins folder.
- On a staging copy of the site, open
Pluginsand use the standard ZIP plugin upload flow. - After activation, open
Forms-Settingsand find theGravity Geolocationtab. - Add the required Google Maps keys and save the settings.
- Create a separate test form instead of changing live production forms right away.
- Open the page with the test form in a normal browser window and in a private window.
At this stage, you do not need to build the full advanced workflow. It is enough to confirm that the settings tab appears, the keys are saved, geolocation fields are visible in the form editor, and the page does not show an obvious map loading error. If an error appears immediately, it is much easier to fix it before adding routes, shortcodes, or conditional logic.
Detailed Configuration After Installation
The plugin settings control behavior that affects every form: Google Maps keys, language and country, high-accuracy mode, IP locator, and Google Maps API loading. These options are best configured before you start adding fields to a specific form, because errors here will show up across all forms immediately.
Google Maps keys and the services worth enabling
The settings include a field for the Google Maps Browser API Key. It is required for maps, autocomplete, and browser-based geolocation features to work. The server key is described in the documentation as optional and mainly used for server-side geocoding through custom functions. For that reason, you should not enable server-side scenarios "just in case" unless you actually know which part of the project depends on them.
From a practical standpoint, it helps to keep a checklist:
- The browser key is restricted to the site's domain and is not reused on unrelated projects.
- The key has only the APIs enabled that the form actually needs: maps, geocoding, address suggestions, and routing if used.
- Usage monitoring is enabled in Google Cloud so you can spot unexpected request spikes after launch.
- The keys are not exposed in public notes, screenshots, tickets, or client documentation.
If the form only collects an address with autocomplete and coordinates, do not add routing fields until the basic field chain is working reliably. If the form calculates a route or distance, separately verify the route-related APIs and the restrictions applied to that key.
Country and language for address suggestions
The country and language settings help tailor address suggestions to the site's audience. Country affects the default geocoding behavior and may also work together with autocomplete restrictions in the Address field. Language affects the map interface and suggestions. This does not translate the entire form. It only changes how Google Maps behaves.
For a local business, it usually makes sense to limit suggestions to the relevant country or region. That helps users pick the correct address faster and prevents staff from having to sort through submissions from cities with the same name in different countries. For an international project, overly strict restrictions may get in the way.
High Accuracy and IP Address Locator
High Accuracy mode applies to the browser's HTML5 geolocation and can produce a more precise result, but it may also increase wait time. It is worth enabling when precision matters more than speed: dispatching a technician, delivering to a hard-to-find location, or verifying an employee's position. For a standard request form, it is usually better to test without High Accuracy first and only turn it on if there is a real need.
IP Address Locator can be used as an alternative or fallback location method. The documentation lists providers, some of which require registration or an API key. IP-based geolocation is usually less accurate than browser permission or manual address selection, so it should not be treated as the only source of precise coordinates for delivery or on-site service visits.
When to disable Google Maps API loading
The Disable Google Maps API setting is meant for a specific situation: when the theme or another plugin is already loading Google Maps API correctly on the same page as the form. It is not a general performance trick or a universal optimization. If you enable it without checking first, the map or autocomplete may stop working simply because the required script is no longer loading.
The safe order is this: first leave API loading enabled in the plugin and test the form. Then check for duplicate loading in the browser console or based on visible symptoms. If there really is a conflict, enable API loading disablement only on a staging copy and retest the form page there.
| Setting | When you need it | How to verify the result |
|---|---|---|
| Google Maps Browser API Key | For almost all maps, addresses, and suggestions | Open the form and make sure the map and autocomplete load without errors |
| Country Code | When the form serves a specific country or region | Start typing an address and compare how relevant the suggestions are |
| Google Maps Language | When you need control over the map and suggestion language | Check the map labels and address results on the public page |
| High Accuracy Location Mode | When accuracy matters more than location speed | Click the location button and evaluate both delay and accuracy |
| Disable Google Maps API | Only when a duplicate API loading conflict has been confirmed | After enabling it, recheck the map, autocomplete, and browser console |
Short version: configure the global keys and modes first, then move on to the form fields. That helps you separate infrastructure issues from form-specific mistakes.
How to Connect Address, Map, Coordinates, and Geocoder in One Form
The most important product-specific feature in Gravity Forms Geolocation is field synchronization through the Geocoder Field. The Geocoder is a hidden field that processes addresses, coordinates, markers, and data from other geolocation fields. If you forget to add it or fail to connect the other fields to it, the form may look correct while the data never updates as a single coordinated group.
The role of the Geocoder Field
You can think of the Geocoder Field as the control center for one location inside the form. It geocodes addresses, reverse-geocodes an address from coordinates, controls the map marker, and handles data exchange between Address, Coordinates, Locator Button, and Google Map. A form can include multiple geolocation groups, such as a home address and a work address. In that case, each group needs its own clearly defined set of connected fields.
A practical setup order for one group looks like this:
- Add a
Geocoderfield to the form and give it a clear internal name, such asClient location geocoder. - Add an
Addressfield and select the appropriateGeocoder Fieldin its settings. - Add a
Google Mapfield and connect the map to the same geocoder. - If needed, add a
Coordinatesfield so latitude and longitude can be displayed or stored in separate fields. - Enable the Locator Button inside Address, or add a separate field if the workflow calls for a standalone locate-me button.
- Save the form and verify the behavior: entering an address moves the marker, moving the marker updates the address, and the coordinates change in sync.
Address Field settings
The Address Field handles address entry and Google Places suggestions. In its settings, review four groups of options: the Geocoder connection, the location button, autocomplete, and suggestion restrictions. Do not turn on every restriction at once. First make sure address suggestions work consistently, then add enforced list selection, country restrictions, or radius limits.
The Enforce Address Selection option is useful when you need a standardized address from the suggestions instead of free text. But it can frustrate users if Google cannot find the exact address, for example in a new development, a rural area, or an unusual location. In those cases, it is better to allow manual clarification or add a separate comment field.
Google Map Field settings
The Map Field displays an interactive map and lets the user select or refine a point. In the map settings, check the geocoder connection, default coordinates, map type, zoom level, dimensions, and visible area restrictions. The default values are fine for testing, but on a real site the map should be tuned to match the form's actual purpose.
For example, for local delivery you can set the starting view near the service city and limit the visible area if submissions outside the region are not accepted. For an international form, avoid overly narrow boundaries. On a long page, it is often better to disable scroll-wheel zoom so users do not get "stuck" on the map while scrolling through the page.
Routes, Distance, and Distance-Based Pricing
If a simple address is not enough, that is where Directions Field, Directions Panel, and distance fields come in. They let you calculate a route between points, show the path on a map, display directions, and return distance or duration. This is no longer just basic geolocation. It becomes workflow logic that can affect pricing, service availability, or downstream processing of the submission.
How the Directions Field works
The Directions Field works together with the Geocoder Field and Map Field. In its settings, you define the route points: origin, destination, and optional waypoints. The route can be calculated dynamically when the data changes or manually through a button. For a form tied to pricing, manual calculation is often clearer: the user enters the address, sees a Calculate button, and understands why a distance or price appears.
It is important to choose the right calculation type in the route settings. Driving Directions builds a route along roads and takes travel modes into account, while Straight-Line calculates direct distance between points. For delivery, dispatch, and logistics, road-based routing is usually more useful. For checking a service radius, coverage area, or general proximity, a straight line may be enough.
Travel Options and units of measurement
In the Directions Field, you can choose a travel mode such as driving, walking, bicycling, or transit, as well as the unit system. Do not pick a travel mode out of habit. If the form is calculating delivery by car, a walking route will create the wrong expectation. If the user is choosing a pickup point on foot, a driving route may be less intuitive.
For Russian-speaking audiences, the metric system is often more natural, but if the site serves users who expect miles, that should align with the site's language, notifications, and calculation fields. The key is consistency so the user, operator, and pricing logic are all working from the same assumptions.
Pricing logic without made-up magic
The plugin documentation explains how distance and duration can be used in Gravity Forms calculations and conditional logic. In practice, this should be introduced gradually. First, make sure the route field is reliably receiving distance data. Then display that value in a test field or entry. Only after that should you connect it to price calculations, notifications, or availability rules.
Pre-launch check: test at least three addresses: one nearby, one on the border of your service area, and one clearly outside it. If the borderline address produces an ambiguous result, add an explanatory note in the form or a manual manager review step instead of promising fully automatic pricing with no exceptions.
Practical Example: A Technician Dispatch Request Form
Let us look at a concrete scenario: a service company accepts technician dispatch requests and wants to capture the customer's address, a point on the map, the distance from the office, and a clear entry for the manager. The goal is not just to add a map, but to create a request that makes fast decisions possible: is the address serviceable, how far is the trip, and what location data was actually stored in the entry?
Goal and preparation
We need a form with name, phone number, address, map, location button, distance calculation, and hidden technical fields. Before setup, the Google Maps keys should already be enabled, a test page should be ready, and the base-point address should be chosen, such as an office or warehouse. Use several real addresses from the service area for testing, but do not publish personal data in the test form.
Form setup steps
- Create a new form in Gravity Forms and add standard fields: name, phone number, preferred contact time, and comment.
- Add a hidden
Geocoderfor the customer's address and name it clearly so it is obvious which location is tied to it. - Add an
Addressfield, enable autocomplete, and connect it to the customer's geocoder. - Enable the Locator Button if it makes sense for the customer to use current position detection. Add a note explaining that the browser will request permission.
- Add a
Google Mapfield, connect it to the same geocoder, and set the map height and default zoom. - Add a second geocoder for the base location or configure a fixed point in the route logic if your scenario supports that.
- Add a
Directionsfield, choose the origin point and customer address, and configure manual or dynamic route calculation. - If the user needs to see the route, add a
Directions Panel. If directions are only useful for the manager, do not overload the public form. - Add a dynamic field for distance or duration if that data is part of the calculation or notification flow.
- Save the form, place it on a test page, and submit several sample requests.
Expected result
On the public page, the user enters an address, selects a suggestion, sees the marker on the map, and refines the point if needed. After route calculation, the form shows the distance or any other value you need. In the Gravity Forms admin area, the entry contains address components, coordinates, and route data if the corresponding fields were configured.
A detail that often blocks launch
If the address field works but the route is not being calculated, do not start by changing every form setting at once. Check these pieces separately: are the route-related APIs enabled, are the correct geocoder fields selected in the Directions Field, is the base point populated, and is there a Google Maps error in the browser console? In more complex forms, it can help to temporarily expose technical fields in the visible area of the test form so you can see which values appear before submission.
Displaying Data on a Map and Working with Entries
After collecting submissions, the next question is often how to display saved locations not only in the entry, but also on the site itself. Gravity Forms Geolocation supports showing multiple submitted locations on a Mashup Map through a shortcode, as well as individual maps for specific entries. This is useful for directories, property submissions, events, map-based listings, and internal pages.
It is important not to mix up two different use cases. The first is when an operator opens an entry in the admin area and views the geodata as part of the submission. The second is when the site displays approved locations publicly. For the first case, accuracy, complete address components, and clear notifications matter most. For the second, moderation, privacy, understandable markers, and limits on the number of entries shown on the map become more important.
Mashup Map for multiple entries
The [gfgeo_mashup_map] shortcode lets you display multiple form entries on one map. The documentation describes attributes for form ID, including or excluding specific entries, selecting geocoder fields, map size, map type, entry count, and markers. It is not a replacement for a full directory, but it is a good way to quickly show collected locations.
[gfgeo_mashup_map form_id="1" map_height="500px" map_width="100%" map_type="roadmap"]
Before publishing that kind of map, check the privacy implications. If the form collects customer addresses, do not display them on a public map without explicit consent and a clear understanding of what data should be visible. For public events, stores, or catalog items, a map makes sense. For private service requests, it usually does not.
Single Entry Map for one submission
A map for a single entry is useful in templates, confirmations, user dashboards, or internal pages where you need to show one specific location. It does not overwhelm the user with all submissions and works better for workflows like "view the visit location," "verify the property address," or "open the location tied to this request."
If you use third-party plugins to display Gravity Forms entries, check first how they handle shortcodes and dynamic data. Not every builder renders map scripts reliably inside hidden tabs, modal windows, or AJAX-loaded content. Those situations may require extra testing around script loading.
What managers actually need in notifications
A geolocation-enabled form often sends too much technical data to the manager. In most emails, you do not need every address component if the operator only needs the formatted address, phone number, comment, and a link to the entry. But coordinates, distance, and duration can be helpful if the manager needs to approve a dispatch or pass the request into a route sheet.
A strong notification template splits the data into two parts: a readable address for the person and technical values for verification. For example, the first line can show the customer address, below that the distance from the base location, and the coordinates can remain in a separate service line. If the address was not found or the user entered it manually, the email should show that as a review signal rather than presenting it as a normal successful geolocation result.
Operational advice: do not launch a public map and route-based calculations on the same day without a test queue of submissions. First confirm that entries are clear for the manager, then add automatic display on the page or pricing logic.
Nearest Locations, Zones, and Map Drawings
Gravity Forms Geolocation includes features that go beyond a standard address form. The developer site and documentation mention Nearest Locations, Drawing Tools, Shape Field, and dynamic geolocation fields. These should be treated as separate workflows, not as boxes that need to be checked in every form.
Nearest Locations for selecting the closest location
Nearest Locations helps find the closest point from a known list. That could be a store, branch, pickup location, warehouse, workshop, service office, or any prebuilt location dataset. This is different from a standard route workflow: the user enters or selects their location, and the form should show the most suitable nearby point.
Before implementing it, prepare the location source. If the location list is maintained manually, assign responsibility for keeping it current. If the data comes from a CSV, JSON, or database table, verify the column mapping and address format. The biggest risk here is not the map itself, but an outdated or incomplete location list. If the nearest branch is closed, the user may get an accurate calculation tied to the wrong place.
For a nearest-locations form, it is helpful to preserve some user choice: suggest the closest option automatically, but still allow the user to pick another location manually if the business process allows it. That keeps the form convenient instead of turning it into a rigid automation that fails on edge-case addresses.
Drawing Tools and Shape Field
Drawing Tools are useful when the user needs to indicate not just a point, but an area: a delivery zone, land parcel, property boundary, inspection route, event area, or service territory. These forms require more guidance because drawing a polygon or circle on a map is more complex than entering a regular address.
Add a short instruction next to the map explaining exactly what should be drawn, which shapes are allowed, how to edit or remove a shape, and what happens after submission. If the form is used on mobile devices, be sure to test whether shapes can be moved comfortably by touch. For complex outlines, the mobile experience may be awkward, in which case it may be better to offer file upload, a comment field, or a follow-up manual review.
Dynamic fields for address, distance, and route data
Dynamic Geolocation Field lets you populate form fields with data from the Geocoder or Directions. This is useful when the user or manager needs to see a separate city, area, formatted address, place ID, distance, or duration. But dynamic fields should not clutter the public form. Some of them are better kept hidden or displayed only when needed.
A practical workflow is to first define which data the business process actually needs, then add only those dynamic values. For a manager notification, formatted address, city, latitude, longitude, and distance text may be enough. For integration with an external system, you may need the place ID or separate address components. For the end user, a clear address line and a short distance check are usually enough.
How to Implement the Plugin on a Site with a Theme, Cache, and Page Builders
Even when the form itself is configured correctly, the public page can behave differently because of the theme, builder, tabs, modal windows, caching, or front-end optimization. Maps and address suggestions are especially sensitive to script load order and to whether the map container is visible at the moment it is initialized.
The form page and hidden interfaces
Do not start with a modal window, accordion, or hidden tab. First place the test form on a regular page where the map is visible immediately. If that works, then move the form into a more complex interface. That order helps you determine whether the problem is in the geolocation configuration or in the way the form is being displayed.
Page builders often include optimizations that delay block loading until scroll or click. That is fine for a standard text block, but it can be critical for a map. If the map only appears after a reload or stays gray in a hidden tab, check whether the form needs to be reinitialized after the block becomes visible. Do not add custom JavaScript unless necessary and unless you have checked the documentation for the specific builder.
Cache and JavaScript optimization
For pages that use Gravity Forms Geolocation, it helps to identify up front which cache settings can be rolled back safely. Minification, combining files, deferred loading, and script delay can change the load order of Gravity Forms, Google Maps, and the plugin scripts. If autocomplete or routing stops working after optimization is enabled, first compare the page with cache on and off.
Do not disable caching across the entire site if the issue only affects one form. In many cases, it is enough to exclude the specific page, Google Maps scripts, or Gravity Forms scripts from deferred loading. After every change, clear the cache and retest in a private browser window, otherwise you may still be looking at an old version of the page.
Theme styles and map width
The map should have a clear, usable height and width. The Map Field includes size settings, but the theme may apply its own restrictions to form containers. If the map looks too short, cropped, or stretched, check the field settings, the builder column width, and the theme CSS. Do not start with global CSS overrides until you have confirmed that the map dimensions are set correctly in the field itself and that the page container is not limiting its height.
On mobile devices, the map should not take over the entire screen if required fields come after it. For a request form, a medium-height map and a clear address refinement button are usually enough. If the map is large, create a clear visual flow: address first, then map, then comment and submit. The user should always understand what to do next after selecting a point.
How to Verify the Result After Configuration
Verification should follow the full chain, not just the page appearance. A map on the page does not prove that the form is saving correct geodata, and a successful submission does not prove that routes and notifications work. A five-step check is a practical approach.
Public form
Open the page as a regular visitor. Start entering an address, choose a suggestion, move the marker, click the location button, and submit the form. If the user can complete the form without errors or confusing delays, the first verification layer has passed.
Gravity Forms entry
Open the entry in the admin panel and review what was saved. Look for more than just the address line: check coordinates, separate address components, distance, duration, and route data if those should be part of the form. If the entry is empty or only contains the visible address text, go back to the Geocoder Field connection.
Notifications and calculations
If the geodata is used in an email or calculation, submit a test request for an address that should definitely work. Then submit a borderline address. Make sure the manager receives a clear message and the user does not see technical terms that mean nothing to them.
Testing across devices
On a mobile device, verify the map, address suggestions, current-location button, and map height. Geolocation forms often fail not in the admin area, but in real mobile layouts: the map is too tall, the button sits below the first screen, suggestions are covered by a fixed header, and the geolocation permission prompt appears at an awkward moment.
Practical Use Ideas for Different Sites
Once the basic form is working, you can expand the workflow. Below are ideas based on the real capabilities of the plugin and Gravity Forms, but each one needs careful setup for the specific site.
On-site service requests
The form can collect the address, coordinates, and distance to the customer. That helps estimate the visit, route the request to the right team, and spot questionable addresses early. Do not make automatic pricing promises if the service area is complex or depends on manual review.
Property or event directory
The user submits an item through the form, and a moderator reviews the entry before displaying it on the map. Mashup Map can quickly create a shared map, but a public directory may still need additional moderation logic, display templates, and filters.
Delivery and pickup
The form can suggest the nearest location or calculate distance to the destination address. Border-zone validation matters especially here, because users tend to treat the calculation as a promise. Add clear text explaining that final pricing or availability may still be confirmed by a manager if that matches the business workflow.
Forms with boundaries and zones
Drawing Tools and Shape Fields open up workflows based on zones, outlines, polygons, and measurements. This can be useful for real estate, land work, delivery coverage, or area descriptions. These forms are harder to test, so do not launch them without clear user instructions and validation of the saved data.
Limitations, Security, and Performance Impact
Geolocation adds external APIs, maps, suggestions, and extra scripts to the form. That is not inherently bad, but it does require careful handling of speed, privacy, and page stability.
Performance and caching
Maps and address suggestions load through third-party services, so the form page can become heavier. If you use a caching plugin or JavaScript optimization, do not enable aggressive deferred loading for form scripts without testing. A common conflict symptom looks like this: the standard fields are visible, but the map is blank, suggestions do not appear, or route buttons do not respond.
A safe strategy is to exclude the form page or Gravity Forms/Google Maps scripts from any questionable optimization first, then re-enable optimizations one at a time. Do not try to fix everything by disabling half the site at once. That will not tell you which setting actually broke the form.
Privacy of addresses and coordinates
Addresses and coordinates may qualify as personal data. Store only what is needed to process the request, and do not publish private addresses on public maps without a valid reason. If the map is public, think through entry moderation, reduced precision, or showing only a general area if the exact point is not necessary.
Google Maps keys and cost control
Restricted keys and usage monitoring are not optional luxuries. They are a standard part of a responsible launch. In its documentation, Google recommends restricting keys by application and API, using separate keys for different apps, and removing keys that are no longer in use. On a WordPress site, that matters even more because the browser key is technically visible on the page.
As the project grows, make it a habit to check Google Cloud after the form goes live: requests, errors, restrictions, unexpected domains, and overages. That is much faster than investigating the issue only after users stop seeing the map.
Why the Map, Address, or Route Is Not Working
Troubleshooting is best approached from infrastructure to form logic. If you start changing fields, APIs, cache settings, and theme behavior all at once, the problem usually gets worse. Below are common Gravity Forms Geolocation symptoms and what to check first.
The map does not load or stays gray
Symptom: the map container is visible on the form page, but the map itself does not appear, or a Google Maps message is shown instead. Possible causes include an invalid browser key, Maps JavaScript API not being enabled, the domain not being allowed in key restrictions, a duplicate API loading conflict, or an optimizer deferring a required script.
Check the browser console, the key settings in Google Cloud, and the Disable Google Maps API option. If that option is enabled, temporarily turn it off on a staging copy and see whether the map loads. If the map only appears when JavaScript optimization is disabled, exclude the form page or map scripts from the problematic optimization rule.
Address suggestions do not appear
Symptom: the user starts typing an address, but the suggestion list stays empty. The usual cause is Places API, key restrictions, overly strict country/bounds settings, or autocomplete being disabled in the Address Field. Check whether Activate Address Autocomplete is enabled, whether the correct Geocoder Field is selected, and whether you limited suggestions so aggressively that the target address falls outside the allowed area.
If addresses in your region are often not found, do not enable enforced suggestion selection without a fallback field. It is better to allow manual entry and ask the user to add a landmark or clarification.
The marker moves, but the address or coordinates do not update
Symptom: the user changes the point on the map, but the Address or Coordinates fields stay unchanged. The first thing to check is whether all related fields are connected to the same Geocoder Field. In the map settings, also verify whether marker movement by click or drag is allowed and whether an option disabling address output after marker movement has been enabled.
If the form contains multiple geolocation groups, do not give all geocoders the same name. Otherwise it becomes very easy to connect the customer's address to the warehouse map or tie the second address to the first route.
The current-location button does not return a point
Symptom: the button is visible, but clicking it does nothing, or the browser rejects the request. Possible causes include the user denying access, the site not being served over HTTPS, the browser not providing a precise location, the IP provider not being configured, or an incorrect IP Address Usage mode.
Test the form in another browser and in a private window. If the user denied permission, explain how to enter the address manually. Do not make current-position detection the only way to submit the form if manual address entry is acceptable for the business workflow.
Distance or route is not being calculated
Symptom: the address and map work, but the Directions Field does not show a route or distance. Check the route points: is the origin geocoder selected, is the destination geocoder selected, and are the required waypoints configured? Then verify the route-related APIs and key restrictions. If you use manual calculation, make sure the calculate button is visible and not hidden by conditional logic.
The map breaks after enabling cache or optimization
Symptom: everything worked during testing, but after minification, combining files, or deferred JavaScript loading, the map becomes blank. Roll back the last questionable setting, clear the cache, and test again. If the problem disappears, re-enable optimizations one at a time and document the exclusion needed for the form page or the scripts required by Gravity Forms and Google Maps.
| Symptom | First check | Safe action |
|---|---|---|
| Blank map | Key, Maps JavaScript API, browser console | Check key restrictions and temporarily disable the questionable optimization |
| No address suggestions | Places API and Address Field settings | Loosen suggestion restrictions and verify the Geocoder connection |
| Fields are not syncing | Selected Geocoder Field in each field | Rename the geocoders and reconnect each group from scratch |
| No current position | HTTPS, browser permission, IP provider | Leave manual entry available and verify the fallback mode |
| Route is not calculated | Route points and route APIs | Check origin/destination and the calculation trigger |
Questions Worth Resolving Before Launch
Can Gravity Forms Geolocation be used without Google Maps API?
For the core features - maps, geocoding, address suggestions, and routing - you need Google Maps Platform services. Without a configured Google Cloud project and working keys, the form may only work partially or may not work at all.
Why does the form need a hidden Geocoder Field?
The Geocoder Field synchronizes the address, coordinates, map, location button, and route data. Without it, the fields may be visually added to the form, but they will not exchange geodata as a coordinated group.
Can one form support multiple addresses?
Yes, the documentation describes geolocation groups. In practice, that means it is better to create separate field chains for different addresses and give the geocoders clear names so you do not confuse the customer address, office address, and route waypoints.
Which is better: manual address entry or current-location detection?
For most forms, it is best to keep both options. Current-position detection is convenient, but it depends on browser permissions and device conditions. Manual entry is essential as a fallback and often gives users more control.
Will the map affect page speed?
Yes, the map and address suggestions add external scripts and requests. That is not a problem if the form matters for conversions, but the page should be tested after caching and JavaScript optimization. If the map breaks, exclude the specific page or scripts rather than disabling all caching without analysis.
Can all submitted addresses be displayed on a public map?
Technically, Mashup Map supports that, but legally and ethically you need to account for privacy. Only publish locations that are actually meant for public display: stores, events, directory items, service points. Private customer addresses are usually not appropriate for publication.
Will this plugin work for delivery price calculation?
It can provide distance or duration values that are then used in Gravity Forms calculations. But the pricing business logic should be tested separately: border zones, manual review, unavailable addresses, and exceptions should not be left unhandled.
When Gravity Forms Geolocation Is Worth Using
Gravity Forms Geolocation is a strong choice when the site already uses Gravity Forms and the form needs to do more than accept an address. It should treat location as structured data: sync address and coordinates, show a map, calculate a route, store details in the entry, display points on a map, or pass geodata deeper into the processing workflow.
Before launch, verify three things: valid Google Maps keys, a clear field chain through the Geocoder, and a real test workflow that includes the entry, notification, and public page. If all of that works without errors, you can get the WordPress version and move safely into configuration on a staging copy of the site.
Do not try to build the most complex workflow first. Start with one "address - map - coordinates" group, then add routing, then dynamic values, and only after that move to a public entry map or pricing calculation. That order saves time and makes troubleshooting much easier.


