Bricks Builder · WordPress · Geo Targeting

How to show different content by country in Bricks Builder

Bricks has no built-in country condition. How I show or hide Bricks elements by visitor country with my free plugin, without flicker or duplicate pages.

Mohit Goyal 5 min read
How to show different content by country in Bricks Builder

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?

Rendering diagram…

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. 1

    Install the plugin

    Search for Geo Targeting for Bricks Builder in Plugins, Add New, or install it from WordPress.org.

  2. 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. 3

    Pick the element

    Open the page in Bricks and select the section, block or single element that should vary.

  4. 4

    Add the country condition

    In the element's conditions, add the country condition and choose include or exclude, then pick the countries.

  5. 5

    Add the alternative

    Duplicate the element with the opposite condition, so every visitor sees one version and nobody sees an empty gap.

  6. 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 caseExampleWatch out for
Pricing in local currencyA pricing table in GBP for the UK and USD elsewhereCheckout must charge in the same currency
Local phone numbersA UK number for UK visitors, an Indian number for IndiaKeep a fallback for every other country
Region-specific offersA launch discount shown only where it appliesMake sure the terms page matches
Legal or shipping noticesA shipping notice for countries you do not deliver toDo not hide information buyers need
Calls to actionBook a call in one region, request a quote in anotherTrack 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.

Frequently asked

Does Bricks Builder have geo targeting built in?+

No. Bricks has a conditions system for things like login status and dates, but no condition based on the visitor's location. My plugin adds one.

What does the plugin need to run?+

WordPress 6.0 or later, PHP 7.4 or later, Bricks Builder and an IPinfo API token. It is tested up to WordPress 6.9 and is currently at version 1.5.1.

Does the plugin store visitor data?+

No. The country lookup happens on the server for each request and nothing is written to the database, so there is no personal data to protect.

Will geo targeting work with page caching?+

Check it with your cache switched on. A full-page cache serves the same stored HTML to every visitor unless it varies by country, so either exclude geo-targeted pages from the cache or confirm your cache layer varies by country.

Is geo targeting bad for SEO?+

Not if you use it for details rather than the main content. Search engine crawlers mostly visit from one country, so they see one version. Keep the page's core text the same and vary prices, contact numbers and offers.

Mohit Goyal

Written by Mohit Goyal

Senior Web Developer in Gurugram, India. 100+ fast, SEO-friendly sites shipped in 4+ years with Next.js, React and WordPress, including the procol.ai rebuild. Send me your next project.

Keep reading

Let's build

Have a site that needs to be fast, rank and convert?

Open to Work. Usually replies within a day.