Geo Controller integrates with Elementor, allowing you to display different text, images, and other content based on a visitor’s detected geographic location.
The integration provides four dedicated Elementor widgets for geographic content personalization, including location-specific text and images, European Union visibility controls, and geographic VAT-status conditions.
These widgets can help you build location-aware landing pages, regional promotions, localized messages, and international website experiences without writing custom PHP code.
How the Elementor Integration Works
Geo Controller uses IP-based geolocation to identify geographic information associated with the current visitor’s request.
Its Elementor widgets evaluate this information when rendering the page and determine which configured content should be displayed.
Depending on the widget, content can be selected using geographic locations or specific geographic properties returned by Geo Controller.
The integration adds a dedicated Geo Controller category to Elementor, making its widgets available directly in the page editor.
Requirements
Before using the Elementor integration, make sure the following requirements are met:
- WordPress is installed and running.
- Elementor is installed and activated.
- Geo Controller is installed and activated.
- Geo Controller can retrieve the geographic information needed by your website.
- The Elementor integration is enabled, where applicable in your Geo Controller configuration.
The integration code specifies Elementor 3.3.0 and PHP 7.0 as its minimum version requirements. These are minimum checks defined by the integration, not a recommendation to use outdated software.
Available Elementor Widgets
Geo Controller provides four specialized widgets:
| Widget | Function |
|---|---|
| Geo Text Editor | Display different text or HTML content based on geographic location. |
| Geo Image | Display location-specific images with configurable image sizes, alternative text, and links. |
| European Union Control | Show or hide content based on the visitor’s detected EU status. |
| Value-added Tax Control | Show or hide content based on the geographic VAT-status information provided by Geo Controller. |
How to Add Geo Controller Widgets
- Open your WordPress administration dashboard.
- Edit an existing page with Elementor or create a new page.
- Open the Elementor widget panel.
- Find the Geo Controller widget category or search for the desired widget by name.
- Drag the widget into the required section or container.
- Configure its geographic rules and content settings.
- Save the page and test the result on the public website.
Geo Controller widgets use Elementor’s normal editing interface, including content and styling controls provided by each widget.
Geo Text Editor
The Geo Text Editor widget displays text or formatted content according to the visitor’s detected geographic location.
You can configure multiple location rules and assign different content to each rule.
For example, an international service provider might display different introductory messages for visitors in the United States, United Kingdom, and Germany.
How to Configure Geo Text Editor
- Add the Geo Text Editor widget to your Elementor page.
- Locate the option to add content for individual geolocations.
- Add a new content item.
- Enter the message you want to display.
- Specify the target location in the Display Location field.
- Repeat the process to create additional geographic variations.
- Optionally enable Default Content and enter a fallback message.
- Save the page.
The Display Location setting accepts geographic names or codes, including cities, regions, countries, and continents. Multiple values can be entered as a comma-separated list.
For example:
US, United Kingdom, Germany
You can also use broader geographic targeting, such as:
Europe
Location names and codes must correspond to data recognized by Geo Controller.
Example: Regional Marketing Messages
Suppose your website offers digital services internationally.
You can create separate content entries:
| Display Location | Example Content |
|---|---|
US |
Explore our services for businesses in the United States. |
United Kingdom |
Discover solutions for businesses across the United Kingdom. |
Germany |
Learn about our services for companies in Germany. |
You can also configure a default message:
Discover our services for businesses worldwide.
If none of the configured geographic rules matches the detected location, the widget can display the default content when that option is enabled.
If no matching geographic rule or enabled default content exists, the widget produces no content.
Rule priority: When multiple configured location rules match, Geo Text Editor uses the first matching content item. Arrange your rules accordingly.
Geo Image
The Geo Image widget allows you to display different images depending on the visitor’s geographic location.
It supports multiple geographic image rules and optional default image settings.
Each geographic image item can include:
- An image selected from the WordPress Media Library.
- An image size.
- A geographic display location.
- Alternative text.
- An optional link.
How to Configure Geo Image
- Add the Geo Image widget to your Elementor page.
- Add an image item.
- Select the image from the WordPress Media Library.
- Choose the appropriate image size.
- Enter the target country, region, city, or continent in Display Location.
- Configure alternative text and an optional link.
- Add more image items for additional geographic locations.
- Optionally enable the default image and configure its settings.
- Save the page.
Example: Country-Specific Promotional Banners
Consider a website with different promotional campaigns for international markets.
You could configure the following image variations:
| Display Location | Displayed Image |
|---|---|
US |
United States promotional banner. |
United Kingdom |
United Kingdom promotional banner. |
Germany |
Germany promotional banner. |
You can also configure a generic international banner as the default image.
Geo Controller evaluates the configured locations and selects the first matching image. If a default image is enabled, it is used when no geographic variation matches.
If no image matches and no default image is configured, the widget may produce no image or display a configuration notice, depending on its settings.
Note: When using a default image, select an actual image from the WordPress Media Library. The widget expects an attachment ID for image rendering.
European Union Control
The European Union Control widget allows you to show or hide content based on whether Geo Controller identifies the visitor as being in the European Union.
The widget checks the geographic property:
in_eu
The content is displayed or hidden according to the value returned by Geo Controller.
How to Configure European Union Control
- Add the European Union Control widget to your Elementor page.
- Use the Show or hide switch to select the desired geographic behavior.
- Enter your message or HTML content in the content editor.
- Adjust the styling if needed.
- Save the page and verify the result.
With the show option enabled, the widget displays its content when Geo Controller reports that the visitor is in the EU.
With the show option disabled, it displays the content when Geo Controller reports that the visitor is outside the EU.
Example: EU-Specific Information
You could configure an EU-only informational message:
Information for visitors from the European Union.
Alternatively, you could configure a different message for visitors outside the European Union.
This can be useful for region-specific notices, informational content, and country-group messaging.
Important: Geographic visibility is not a substitute for a compliant consent management system, privacy policy, or legal assessment of your obligations.
Value-added Tax Control
The Value-added Tax Control widget allows you to conditionally display content based on Geo Controller’s geographic VAT-status property.
The widget checks:
is_vat
When the configured switch is enabled, the content is displayed for visitors whose geographic data returns a VAT-status value of 1.
When the switch is disabled, the content is displayed for visitors whose geographic data returns a VAT-status value of 0.
How to Configure VAT Control
- Add the Value-added Tax Control widget to your Elementor page.
- Configure the Show or hide switch.
- Enter the content to be displayed when the geographic condition matches.
- Adjust the widget styling.
- Save the page.
Example: Geographic Tax Information
You may use the widget to display a general message about regional tax considerations:
Tax treatment may vary depending on your location. Final taxes are calculated during checkout.
This provides contextual information without modifying the underlying transaction.
Important: The VAT Control widget does not calculate VAT, validate VAT identification numbers, determine a customer’s legal tax status, or change WooCommerce tax rates. It only evaluates the geographic is_vat value returned by Geo Controller.
For actual tax calculation and compliance, use an appropriate checkout and tax configuration.
Preview Mode in Elementor
The European Union Control and Value-added Tax Control widgets include a Preview mode option.
This option allows content to remain visible in the Elementor editor even when the currently detected geographic condition does not match.
Preview mode helps prevent content from disappearing while you are editing it.
The widget’s geographic conditions still determine its visibility on the public page.
Note: Preview mode is an editor convenience feature. It is not a geographic location simulator and does not change the detected country or VAT status.
Content Styling and Layout
Geo Controller widgets provide Elementor styling controls appropriate to their output.
Depending on the widget, these include options for typography, links, borders, backgrounds, text effects, image sizes, and alignment.
You can use these settings to maintain a consistent design while displaying different content to different geographic audiences.
For text-based widgets, standard WordPress shortcodes may also be processed where supported by the widget’s rendering implementation.
Important Considerations for SEO
Geographic content personalization can affect how search engines encounter and index your pages.
Search engine crawlers may access your website from locations different from those of your intended visitors and therefore receive different geographic content.
For example, a crawler accessing your website from the United States may see the United States variation of your content instead of the version displayed to visitors in Germany.
This behavior does not guarantee that search engines will discover or index every geographic variation.
If your website targets distinct languages or regional search markets, consider dedicated regional URLs and appropriate hreflang annotations where relevant.
For further information, see Google’s documentation on locale-adaptive pages.
Do not use geographic personalization to present misleading information or deliberately serve materially deceptive content to search engines.
Page Caching and CDN Compatibility
Geo Controller’s Elementor widgets evaluate geographic conditions during server-side page rendering.
If a caching plugin, reverse proxy, or CDN stores the generated HTML, visitors from different locations may receive the same cached page content.
For example, a page initially generated for a visitor from the United States may continue showing United States-specific text or images to visitors from the United Kingdom.
The Elementor integration does not independently guarantee location-aware full-page caching.
Before deploying geographic personalization on a production website:
- Review the configuration of your WordPress caching plugin.
- Check reverse proxy and CDN caching behavior.
- Test geographic widget output using different visitor locations.
- Use an appropriate cache variation strategy when geographic HTML personalization is required.
- Verify the final public page rather than relying exclusively on Elementor’s editor preview.
Privacy and Geographic Accuracy
Geo Controller uses IP-based geolocation information, which provides an estimated geographic location rather than proof of physical presence.
VPN connections, proxies, corporate networks, mobile internet connections, and inaccuracies in IP geolocation databases may affect detected values.
Do not use Elementor geographic visibility rules as the only enforcement mechanism for legal restrictions, financial transactions, access authorization, or compliance requirements.
For security-sensitive operations, implement appropriate server-side checks and independent validation.
Troubleshooting
Geo Controller Widgets Are Missing
If the Geo Controller category or widgets do not appear in Elementor:
- Confirm that Elementor and Geo Controller are active.
- Verify that the Elementor integration is enabled, where applicable.
- Check that Geo Controller can initialize its integration with Elementor.
- Reload the Elementor editor.
- Review PHP logs for registration or compatibility errors.
Wrong Content or Image Is Displayed
Check the geographic location values configured in the widget.
Geo Controller compares configured locations against geographic information returned by its API.
Make sure the supplied country names, geographic codes, cities, and regions correspond to supported values.
When multiple rules match, the first matching item takes priority.
Also review whether full-page caching is serving previously generated content.
Widget Content Is Not Visible
If a Geo Text Editor widget produces no content, verify that at least one location rule matches or that default content is enabled and configured.
For EU and VAT widgets, confirm that the geographic condition matches the current visitor and check the configuration of the Show or hide switch.
Use the available editor preview option where supported to make conditional content visible during editing.
Geo Image Does Not Display
Make sure the selected image exists in the WordPress Media Library.
Verify that the geographic rule matches or that a default image is configured.
Check image attachment settings, image size availability, and frontend HTML output.
For Developers
The Elementor integration is implemented through the CFGP__Plugin__elementor class.
It registers the cf-geoplugin Elementor category and loads widget classes from the integration’s widget directory.
The integration supports widget registration through Elementor’s register() method and includes a fallback for the older register_widget_type() method.
The available custom widget identifiers include:
cf-geoplugin-elementor-content— Geo Text Editor.cfgp-elementor-image— Geo Image.elementor-show-in-eu— European Union Control.elementor-is-vat— Value-added Tax Control.
Geographic content and image matching use the Geo Controller API and its location matching helper.
The European Union Control widget evaluates CFGP_U::api('in_eu'), while the VAT Control widget evaluates CFGP_U::api('is_vat').
The supplied integration does not register a general-purpose geographic display condition for arbitrary Elementor widgets, containers, or sections.
Developers who require broader conditional visibility should implement and validate that functionality separately.
Related Documentation
- Geo Controller Tags
- Elementor Help Center
- Elementor Developers Documentation
- Google: Locale-Adaptive Pages
Important: Geo Controller provides Elementor widgets for geographic content personalization. Results depend on IP-based location detection, configured conditions, and website caching behavior. Geographic content rules are not a substitute for legal compliance, secure authorization, or transaction-level tax calculations.
