Changing WooCommerce Product Pricing based on Shopper’s Location

What if you wanted to change your WooCommerce product pricing based on the different countries that your customers come from? Years ago I had to do this for a client and it was a mess.

Today I want to show you a really simple way to handle it. It requires two plugins – a free product, and the pro version of the same product. The combination makes everything that I'm going to show you super simple.

But before I do that, let's address a variety of the reasons you might want to do this.

Why mess with WooCommerce Product Pricing?

The first reason you might want mess with a product's price is because you want to adjust it for economic reasons. Imagine you look at the exchange rate in the Philippines and decide that your product is too expensive in that market. So you adjust your product's price.

The other reason you might want to shift your product's price is to show it to your customers in their own currency. Here you're not dealing with any kind of change to the price. You're changing its presentation.

I was once in another country and bought a friend a present. It was only after I saw it appear on my bank statement did I realize how generous I had been. I hadn't done the conversion right in my head, so I didn't know what I was doing. My friend got lucky! But you may not be as lucky if your customers decide not to do the math and instead just walk away from the transaction.

Here's the plugin combo you need

The first plugin you need is free. It's called Price based on Country for WooCommerce. But of course I recommend that you also buy their Pro product, which you can find on the Pro plugin website of the same name.

Today the cost of the Pro license is 39 Euros, which equals about $46 USD – and provides support and a lot of features that make everything really easy.

Let's Walk Thru the Steps of Setting Things Up

First you're going to have to install and activate WooCommerce and the two plugins I listed above.

Congrats – you're so much closer to adjusting you're product's price dynamically based on where your customers are coming from.

But before we celebrate, we have to tell WooCommerce to use the customer's location. And to do that we have to go into WooCommerce > Settings > General and pick “Geolocate” from the options.

At this point you may be wondering how WooCommerce will geolocate your customers? What you have to do is go to a different WooCommerce settings tab. Head to WooCommerce > Settings > Integration.

In that license key spot, you're going to want to put your MaxMind license key. Don't have one? Not a problem at all. The link you see takes you to WooCommerce documentation that tells you exactly how to do it. It takes less than 3 minutes.

We're close. I promise. So far we've been just getting the basics in place. We have one last step to worry about before we start manipulating WooCommerce product pricing.

It's a configuration we have to do to manage the dynamic of caching (which is always an issue, right?).

Head to WooCommerce > Settings > Zone Pricing > General and check the “load product prices in the background.”

Our final step is to create pricing zones so that we can leverage them when you want to change the specific dynamics of each product.

You head to WooCommerce > Settings > Zone Pricing > Pricing Zones.

For each zone, you can pick a single or multiple countries. You can pick the currency. And you can (with the pro version) allow the exchange rates be calculated automatically (which means you won't have to keep coming back to tweak data).

You can even add an exchange rate fee (1% in some countries, 2% in others).

Whew, that was a lot of set up. But it's all pretty fast and simple. Now we can put it all to work for us and our pricing.

Changing WooCommerce Product Pricing Based on Visitors Locations

When you add a product to your catalog, or head to a product that's already in your catalog, you'll notice a change in the Product data section. Now, in the General tab, you'll see additional options.

I am able to put the base price in at the top, like normal. In this case, it's $29.99. But below, you'll see two other pricing zones – Western Europe (with Euros) and Philippines. In the case of Western Europe, I'm letting the price be calculated automatically via the exchange rate.

But when it comes to the Philippines, I chose to set the product's price manually. The actual exchange rate calculation would have made it $1439 pesos. But I changed it to $999.

That's it. As simple and easy as I told you. And you can do it for all or some of your products. And the plugin combo also supports coupons.


Five years ago I wrote about this. And it was much more complicated. Today I am happy to tell you that this is much easier. And far more powerful than what I could do a few years ago. I'm thrilled that this plugin exists. I hope it helps you – whether you're just trying to present your products in the currency of your customers, or if you're trying to adjust pricing for other reasons.