To show different content by country in Bricks Builder, add a country condition to the element you want to vary, then choose which countries see it. Bricks has no location condition of its own, so I wrote the free Geo Targeting for Bricks Builder plugin, which adds one and resolves the visitor's country on the server through IPinfo Lite. One page can then show local prices, phone numbers or offers without duplicate pages per region.
Why do Bricks sites end up with duplicate pages per country?
Because there was no other way to do it. Agencies serving several countries were building one page per region: same layout, different prices, phone numbers or offers. That is slow to build and worse to maintain, because every layout change has to be made several times and the copies drift apart.
Bricks Builder already has a conditions system for showing or hiding an element. It just had nothing based on location. I published the plugin on WordPress.org in November 2025 to fill that gap. It is at version 1.5.1, tested up to WordPress 6.9, and needs WordPress 6.0 and PHP 7.4 or later.
How does the country lookup work?
The key decision was doing this on the server. A browser-side lookup would render the default content first and swap it once the request came back. Visitors see that swap, and it hurts layout stability, which is one of Google's Core Web Vitals. Resolving the country in PHP before the page renders means each visitor only ever receives their version.
Nothing is written to the database, so the plugin holds no personal data.
How do you set up a country condition?
- 1
Install the plugin
Search for Geo Targeting for Bricks Builder in Plugins, Add New, or install it from WordPress.org.
- 2
Add your IPinfo token
Create an IPinfo account, copy the API token and paste it into the plugin settings. My companion guide walks through getting the token.
- 3
Pick the element
Open the page in Bricks and select the section, block or single element that should vary.
- 4
Add the country condition
In the element's conditions, add the country condition and choose include or exclude, then pick the countries.
- 5
Add the alternative
Duplicate the element with the opposite condition, so every visitor sees one version and nobody sees an empty gap.
- 6
Test from each country
Use a VPN to load the page from each target country, with your cache switched on.
What should you vary by country?
The details a visitor acts on, not the whole page.
| Use case | Example | Watch out for |
|---|---|---|
| Pricing in local currency | A pricing table in GBP for the UK and USD elsewhere | Checkout must charge in the same currency |
| Local phone numbers | A UK number for UK visitors, an Indian number for India | Keep a fallback for every other country |
| Region-specific offers | A launch discount shown only where it applies | Make sure the terms page matches |
| Legal or shipping notices | A shipping notice for countries you do not deliver to | Do not hide information buyers need |
| Calls to action | Book a call in one region, request a quote in another | Track each variant separately in analytics |
If you run a shop, displaying a price in a local currency is only half the job. The checkout has to handle it too. I cover that in how to run a WooCommerce store in multiple currencies.
How does geo targeting interact with caching?
This is the part to test before launch. A full-page cache stores one copy of the HTML and serves it to everyone. If the first visitor was in the UK, a cache that does not vary by country could serve the UK version to the next visitor in India.
Test with your cache on
Load each geo-targeted page from two countries with caching switched on. If both see the same version, exclude those pages from the page cache or configure the cache layer to vary by country.
Most sites only vary a handful of pages, such as pricing and contact, so excluding them from the cache costs little.
Does geo targeting affect SEO?
It can, if you hide the main content. Search engine crawlers mostly visit from one country, so they index one version of the page. Keep the headings, body copy and structure the same for everyone, and vary the details: a price, a number, an offer banner. That way every visitor and every crawler sees the same page with local details on top.
Why build a plugin instead of duplicating pages?
Because duplicates multiply maintenance. With one page per layout and a condition on the elements that change, an edit happens once. The plugin is small and specific, which is the kind I think is worth writing. More on that in when should you build a custom WordPress plugin.
I build Bricks sites as part of my WordPress websites on Bricks, Elementor and Oxygen service, and the builder trade-offs are in Bricks vs Elementor vs Oxygen. If your Bricks workflow has a gap like this one, send me the idea and I will reply with a plan.



