Skip to main content

TechMendly

How-To & Fixes

WooCommerce Showing Wrong Currency? 5 Fixes That Work

WooCommerce showing wrong currency? Find the setting, plugin, code snippet or cached page behind it and fix the symbol, prices and store location.

By TechMendly TeamUpdated 8 min read
Branded cover for a guide on fixing WooCommerce showing wrong currency, with four fix steps
Quick answer

WooCommerce showing wrong currency almost always comes down to one of four things: the base currency in WooCommerce > Settings > General is not what you think, a multi-currency plugin is overriding it, a code snippet is changing the symbol, or a cached page is showing one visitor’s version to everyone. Check them in that order.

You open your shop and the prices show dollars when you sell in pounds. Or the symbol is right on the product page and wrong at checkout. Or it looks fine for you, but a customer in another country sends a screenshot of something different. This is one of the problems we see on client WooCommerce sites, and it is rarely a bug in WooCommerce itself.

WooCommerce is simple on this point. The official documentation says it “only allows for one base currency per store”. So if you see a second currency, something else put it there. The five fixes below find that something, and a short check list at the end confirms the store is correct.

WooCommerce showing wrong currency: what causes it

Before changing anything, work out which of these situations you are in. The symptom tells you where to look first.

Flat illustration of a shopping cart beside one large coin with price tags floating around it, showing that a store has a single base currency
A WooCommerce store has one base currency; anything else comes from an extension.
What you see Most likely cause Go to
Same wrong currency for everyone, everywhere Base currency setting is wrong Fix 1
Currency changes by language or visitor Multi-currency or translation plugin Fix 2
Wrong symbol only (for example AUD$ or a stray letter) Code snippet or theme filter Fix 3
You see one thing, customers see another Cached page or geolocation setting Fix 4
Currency looks right but payment fails or amounts are odd Gateway support or unconverted prices Fix 5

Fix 1: Check the base currency in WooCommerce settings

Start with the obvious setting, because new installs and imported demo content often leave a default behind.

  1. In WordPress, go to WooCommerce > Settings > General.
  2. Scroll to the Currency options section.
  3. Check Currency, Currency position, Thousand separator, Decimal separator and Number of decimals.
  4. Select Save changes, then reload the shop in a private window.

While you are on this tab, look at the Store Address block too. The Country / State field is your shop’s base location. If it is wrong, taxes, shipping zones and the “Shop country/region” default customer location all start from the wrong place. This is also the fix when the “wrong store location” is what is bothering you.

Changing the currency does not convert any prices. The official documentation says a product priced at 10 will show as 10 in the new currency, not a converted amount. Update your prices by hand, and note that old orders keep their original currency and totals.

Fix 2: Find the multi-currency or translation plugin that overrides it

If the setting is correct but the front end disagrees, a plugin is almost certainly changing what visitors see. Currency switchers, multilingual plugins and some themes with built-in shop widgets can all do this. WooCommerce lists extensions such as WooPayments, Currency Converter Widget and TIV Multi-Currency for WooCommerce for stores that need more than one currency.

Note one detail from the official page: the Currency Converter Widget only changes how prices are displayed. It “will not change the currency you charge customers”, so checkout still uses your base currency.

The fastest way to prove a plugin is responsible is to test with everything switched off, without touching the live site for visitors:

  1. Install and activate the free Health Check & Troubleshooting plugin.
  2. Open the plugin’s Troubleshooting tab and enable Troubleshooting Mode. The plugin describes it as a clean session where all plugins are disabled and a default theme is used, and it applies only to your own login.
  3. Re-enable WooCommerce, then switch on your other plugins one at a time, reloading a product page after each.
  4. When the wrong currency returns, you have found the plugin. Check its own currency settings first, then deactivate it if you do not need it.

Fix 3: Look for a snippet that changes the currency symbol

If the number is right and only the symbol is wrong, look for code. WooCommerce exposes a woocommerce_currency_symbol filter, and the official developer documentation uses it in its own example, which turns the Australian dollar symbol into AUD$ so it is not confused with other dollar currencies.

Illustration of a price tag passing through stacked filter layers beside plugin puzzle pieces, showing how plugins and code can change a displayed price
Plugins and code snippets can change what the price tag looks like after WooCommerce sets it.

That is a legitimate use. The problem comes when a snippet pasted years ago is still running. Search for it in these places:

  • Your theme’s (or child theme’s) functions.php.
  • A snippets plugin such as Code Snippets, if you use one.
  • A small custom plugin in wp-content/plugins that someone added for a past client request.

Search each for woocommerce_currency_symbol. If you find an old snippet, comment it out, save, and reload the shop. Do this on a staging copy or take a backup first, because a typo in functions.php can take the site down.

Fix 4: Check geolocation and caching

This is the cause when you see the right currency and your customers do not. It also explains prices that flip back and forth on refresh.

The setting lives at WooCommerce > Settings > General > Default customer location. The options are “No location by default”, “Shop country/region”, “Geolocate” and “Geolocate (with page caching support)”. WooCommerce’s own geolocation is described as a way to set a shopper’s initial location so the right taxes and shipping show. Showing a different currency by country is the job of the multi-currency plugin from Fix 2, but it relies on the same location signals and runs into the same cache problem.

That problem is explained on the WooCommerce developer blog. Geolocation runs in PHP, which “won’t run on cached pages”. In the article’s example, a German shopper views a product, the page is cached, and a UK shopper then receives the German version. The “with page caching support” option fixes this by making a background AJAX request and reloading the page with a location-based query string such as ?v=12345, so each region gets its own cached copy.

Illustration of a world map with location pins linked to a stored page copy and a checklist, representing visitors from different regions and cached pages
Visitors from different regions can be served the same cached page unless the cache is set up for it.

Work through this list:

  1. If you use page caching, set Default customer location to Geolocate (with page caching support) instead of plain Geolocate.
  2. Go to WooCommerce > Settings > Integration > MaxMind Geolocation and confirm a MaxMind license key is saved. The official page says geolocation depends on it, and the database then updates every 15 days through WP-Cron.
  3. Exclude the cart, checkout and My Account pages from your page cache, and purge the cache after any currency change.
  4. If you also run Cloudflare, purge it too. Our guide to what the Cloudflare free plan includes is a useful reference, and the order to clear each layer is in clearing every cache in the right order.

Quick test for a cache problem: open the shop in a private window, then again from your phone on mobile data. If the two disagree and your settings are correct, a cache or geolocation layer is the cause, not WooCommerce.

Fix 5: Confirm your payment gateway supports the currency

Sometimes the display is right and the trouble starts at payment. WooCommerce warns that before changing the currency you should confirm your payment gateway supports it, and that some card issuers or processors may add conversion charges for non-standard currencies.

Open your gateway’s settings and its documentation, and compare the supported currency list with the code in WooCommerce > Settings > General > Currency. Then place a small test order. If the gateway refuses it, change the gateway or the base currency, not the symbol.

Check the store after you fix it

Once you think it is fixed, run through this quick list so you do not leave a half-working shop:

Check Where Good result
Base currency and position WooCommerce > Settings > General Matches the currency you sell in
Store country Store Address block, same screen Your real shop location
Product prices A few product edit screens Numbers are right for the new currency
Cart and checkout Private window, then mobile data Same currency in both
Test payment Your gateway Order completes in the right currency
Emails Order confirmation email Shows the correct symbol and total

Common mistakes

Changing the currency and assuming prices convert is the most common one. The second is fixing the symbol with a snippet while a multi-currency plugin is still switching currencies underneath, which hides the real cause. The third is testing only while logged in as admin, because some cache plugins skip cached pages for logged-in users and you never see what a customer sees.

Frequently asked questions

Why is my WooCommerce store showing the wrong currency symbol?

Check the Currency setting first, then look for a multi-currency plugin or a woocommerce_currency_symbol code snippet that replaces it. If only some visitors see it, suspect caching.

Can WooCommerce show more than one currency?

Not on its own. The official documentation says there is one base currency per store, and you need a multi-currency extension to show or accept others.

Will changing the currency update my product prices?

No. Prices keep the same number, so a product priced at 10 stays at 10 in the new currency. Update them manually. Existing orders keep their original currency.

Why does my store show a different currency to different visitors?

Either a plugin is switching currency by location or language on purpose, or a cached page generated for one visitor is being served to others. Use the page caching option for geolocation and exclude cart and checkout from the cache.

How do I fix the wrong store location in WooCommerce?

Go to WooCommerce > Settings > General and correct the Country / State field in the Store Address block, then save and re-check your tax and shipping settings.

The short version

Set the base currency and store country correctly, then test with plugins off to find any override. Remove old symbol snippets, switch geolocation to the page caching option, and confirm your gateway supports the currency before you take orders.

Sources: WooCommerce: Shop currency; WooCommerce: MaxMind geolocation integration; WooCommerce developer blog: Making geolocation static cache friendly; WooCommerce developer docs: Change a currency symbol; WooCommerce source: General settings; Health Check & Troubleshooting. Checked October 2026.