A restaurant client called me six months after their site launched, asking why the contact page map showed nothing but a grey error box. The fix took twenty minutes. The API key had never been entered in Elementor settings. Every visitor who arrived looking for directions had seen a broken grey rectangle since day one, and those six months of broken first impressions on their most conversion-critical page could not be recovered.
This guide covers the full setup process from creating a Google Cloud project through placing the widget in Elementor and securing the API key, so that mistake never happens on any site you build. If the Elementor editor is still new territory, the Getting Started with Elementor guide covers the interface foundation first. For the WordPress layer beneath everything here, the WordPress basics and installation guide is where that foundation starts.
Why an Interactive Map Matters for Local Business Sites

Location-based mobile searches carry strong commercial intent. Research cited by Forbes from BrightLocal data indicates that 78 percent of location-based mobile searches result in an offline purchase. Visitors searching for a business near them want directions immediately. A functional, interactive map reduces that friction to zero. It builds trust by confirming the business exists at a real address. Local SEO also benefits from a properly embedded map because it reinforces geographic relevance signals that search engines use for local ranking decisions.
Step 1: Create a Google Cloud Platform Project

Google Maps is not a free plug-and-play service. Every map on a live website requires a Google Cloud Platform account, a project, an API key, and active billing. Without these, the widget displays a grey error box regardless of how correctly it is configured inside Elementor.
Start by visiting the Google Cloud Console at console.cloud.google.com and signing in with a Google account. Create a new project and give it a descriptive name like “My Website Maps.” This project becomes the container for all map-related API credentials and usage tracking going forward.
Step 2: Generate and Secure Your API Key

Inside the new project, navigate to APIs and Services then Credentials. Click Create Credentials and select API Key. Google generates a long alphanumeric string immediately. Copy it and store it securely before closing the window. This key functions like a password for all map requests your site sends to Google’s servers.
Leaving the key unrestricted is a serious security vulnerability. An unrestricted key can be copied by anyone who views the page source and used to generate charges against the linked billing account. Apply two restrictions immediately after generating the key.
The first restriction is HTTP Referrers. Add the domain patterns *.yourdomain.com/* and yourdomain.com/* to limit the key to requests originating from the site. The second is API Restrictions. Limit the key to only the specific Google Maps APIs enabled on the project. These two settings together prevent unauthorized use even if the key is exposed.
Step 3: Enable the Required APIs

Generating an API key does not activate any Google Maps functionality on its own. Each API must be explicitly enabled inside the project. For a standard business location map, the Maps JavaScript API is the essential one. Navigate to APIs and Services then Library, search for Maps JavaScript API, and click Enable.
Additional APIs become relevant for more advanced functionality. The Geocoding API converts street addresses into map coordinates, which is what Elementor’s widget uses behind the scenes when an address is entered in the Location field. The Places API provides business details and search suggestions. The Directions API calculates routes. Start with Maps JavaScript API and Geocoding API for a standard Elementor map setup, and add others only when the project specifically requires them.
Step 4: Enable Billing on the Project

Google Maps Platform requires an active billing account linked to the project. Without it, every map request returns an error regardless of whether the API key and widget are configured correctly. Google currently provides 200 dollars in free monthly usage credits, which covers map loads well beyond what most small business websites require. A valid payment method must be on file even when usage stays within the free tier.
Set a budget alert inside the GCP console to receive email notifications if usage approaches a threshold worth monitoring. This prevents unexpected charges from high-traffic periods or misconfigured embed settings that generate excessive API calls. Visit Google Maps Platform Pricing for current credit amounts and per-request rates across each API type.
Step 5: Add the API Key to Elementor
From the WordPress dashboard, go to Elementor then Settings and click the Integrations tab. Find the Google Maps section and paste the API key into the designated field. Click Save Changes. This registers the key globally across all Elementor map widgets on the site, so it only needs to be entered once regardless of how many pages use the map widget.
Step 6: Place and Configure the Google Maps Widget

Open the target page in the Elementor editor. Search for “Google Maps” in the widget panel and drag it onto the canvas. The map appears immediately using the API key registered in settings.
The Location field accepts a full street address. Elementor uses the Geocoding API to convert it into map coordinates automatically, so typing the address exactly as it appears on Google Maps produces the most accurate pin placement. Zoom level between 14 and 16 works well for showing a business within its immediate neighborhood context. Lower values show a wider area with less local detail. Higher values zoom in so closely that surrounding streets disappear from view.
Height controls how much vertical space the map occupies. Setting it in viewport height units, VH, scales the map proportionally across screen sizes. The Prevent Scrolling toggle in Elementor Pro deserves attention on pages where the map appears in the middle of scrollable content. Without it, visitors trying to scroll past the map accidentally zoom into it instead. Enabling the toggle requires a deliberate click on the map before scroll interaction activates, which eliminates that frustration entirely.
Elementor Pro Exclusive Map Features
Custom markers allow uploading a branded image to replace the default red pin, which reinforces brand identity directly on the map. Custom styling through JSON style imports from sources like Snazzy Maps applies color schemes that match the site’s visual design. A map styled in brand colors integrates naturally into the page rather than appearing as an embedded foreign element with Google’s default grey-and-white aesthetic.
Option B: Embedding Google Maps on Elementor Free
The dedicated Google Maps widget requires Elementor Pro. The free version of Elementor handles map embedding through either the HTML widget or the Video widget’s embed functionality, using Google Maps’ own iframe embed code.
Open Google Maps at maps.google.com and search for the business location. Click Share, then select the Embed a map tab. Choose the map size, Small, Medium, Large, or Custom, and copy the iframe code provided. In the Elementor editor, drag an HTML widget onto the canvas and paste the iframe code directly into the HTML field. The map renders on the canvas and on the live page without requiring an API key for basic embed functionality.
This method has limitations compared to the Pro widget. Styling options are restricted to what Google’s embed interface provides. Custom markers are not available. The map cannot be controlled through Elementor’s Style tab. For most small business contact pages where a simple location map is the only requirement, the iframe embed method delivers a fully functional result without the Pro subscription or API key setup.
Comparing Google Maps Integration Methods
| Feature | Elementor Pro Widget | Free iframe Embed |
|---|---|---|
| API key required | Yes | No |
| Custom marker | Yes | No |
| Custom styling | Yes, via JSON import | No |
| Prevent scrolling toggle | Yes | No |
| Style tab control | Yes | Limited |
| Setup complexity | Moderate, GCP setup required | Low, copy and paste |
Frequently Asked Questions About Google Maps in Elementor
Why is my Elementor Google Maps widget showing a grey box or error?
Three causes account for almost every grey box error. The API key has not been entered in Elementor Settings under the Integrations tab. Billing has not been enabled on the Google Cloud Platform project linked to the API key. The Maps JavaScript API has not been enabled in the GCP project’s API Library. Check all three in that order. The GCP console displays the specific error reason when a map request fails, which makes diagnosis straightforward once billing and API activation are confirmed.
Does embedding Google Maps slow down my Elementor page?
Google Maps loads external scripts from Google’s servers, which adds a network request to the page load sequence. The Pro widget and the iframe embed both carry this overhead. Placing the map below the fold and ensuring it loads lazily rather than on initial page render reduces the impact on Core Web Vitals scores. Most caching plugins support deferring third-party scripts, including Google Maps, until after the main page content has loaded. For pages where load speed is a primary concern, testing with and without the map using Google PageSpeed Insights identifies the specific performance cost on that page.
Can I use multiple Google Maps widgets on the same Elementor site?
Yes. The API key entered in Elementor Settings applies globally to every Google Maps widget on the site. Multiple pages can each contain a map widget without requiring separate API keys. Each map load counts as a separate API request against the monthly usage credits, but for typical small business sites the total remains well within Google’s free tier.
How do I get the exact coordinates for a specific location in Elementor?
Entering the full street address in the Location field of the Elementor Google Maps widget is the most reliable method for accurate pin placement. Elementor uses the Geocoding API to convert the address to coordinates automatically. If the pin appears in the wrong location, try adding the city, state, and country to the address string to remove geocoding ambiguity. For locations that do not appear accurately by address, right-clicking the correct spot on Google Maps and selecting the coordinates from the context menu provides the latitude and longitude values that can be entered directly into the Location field in decimal format.
Additional Resources
- WordPress Basics and Installation: The Complete Beginner’s Guide
- Getting Started with Elementor in 2026: The Complete Guide
- Elementor Free vs Pro: Which Version Do You Need?
- How to Add a High-Converting Contact Form to Your Elementor Page
- How to Build a High-Converting Landing Page with Elementor
- 7 Basic SEO Settings Every Elementor Page Needs
- Responsive Design Basics: Making Elementor Sites Mobile-Friendly
- How to Fix Common Elementor Loading Issues Fast
- Google Maps Platform Pricing
- The Importance of Local SEO: Forbes
Final Thoughts: Set It Up Once and Set It Up Right
The Google Cloud Platform setup feels like an extra step before the Elementor work begins. It is actually the most important step in the entire process because everything visible on the page depends on it being correct. An API key without billing produces a grey box. A key without HTTP referrer restrictions is a security liability. A key without the Maps JavaScript API enabled displays nothing. Complete the GCP setup in full before placing the widget, test the map on the live page before publishing, and set a budget alert in the GCP console before sending traffic to the page. Done in that order, the map works reliably from day one and continues working without maintenance. If you need to revisit the WordPress foundation beneath all of this, the WordPress basics and installation guide is always the right place to start.