Multi-Currency Switcher

The WooCommerce Multi-Currency Switcher extension, also known as YayCurrency, helps you display site-wide converted product pricing. It automatically detects the visitor’s location to show the corresponding currency unit for product prices.

Plus, add WooCommerce currency switcher on product pages, shop pages, sidebar, footer widget, etc.

Here are some key features offered by YayCurrency to make it easier to manage WooCommerce multi-currency:

  • GeoIP dynamic price display based on the visitor’s IP address
  • Automatically update currency exchange rates
  • Drag and drop currency rows to change their order on the storefront
  • Checkout permission in different currencies and payment methods
  • Multiple currency switcher widgets


↑ Back to top

Need help with WooCommerce multi-currency setup?

Please get in touch and let us know right away!

Live Chat: 1-1 VIP Support at

Automatic Installation

↑ Back to top
  1. Head to My Subscriptions section on
  2. Select the Add to store button for a product to install
  3. Choose a connected store / Connect a new store
  4. Install and then setup chosen product

Manual Installation

↑ Back to top
  1. Download the extension from the Downloads section of your account
  2. Go to WordPress dashboard > Plugins > Add New > Upload and select the ZIP file you’ve just downloaded
  3. Click Install Now and then Activate
  4. Navigate to WooCommerce > YayCurrency to manage your multi-currency settings
woocommerce multi currency dashboard
Multi-currency manager

How to Update

↑ Back to top

You have to connect your account to your site in order to get updates properly from your WordPress dashboard.

1. Connect your site & account

↑ Back to top
  • Logged into your site, head to WooCommerce > Extensions
  • Select the Subscriptions tab
  • Select the Connect button and log into your
  • Click the Approve button to connect your site to your account
Connect to WooCommerce
Authorize connection to

This helps make sure all update checks will go directly to and there will be no glitches when updating the extension.

2. Install the update

↑ Back to top

Once your site is connected to your account, from this screen you can:

  • Download product .zip files to manually install the new version on your site; OR
  • Get updated by clicking on update now.
YayCurrency Pro

That’s it!

Be sure that you have checked our latest changelog and Woo banner in the View version x details link’s popup.

Update woocommerce multi currency plugin
WooCommerce Multi-Currency Switcher banner and details

Please note: We don’t recommend enabling auto-updates for now.

Interface Overview

↑ Back to top

The Multi-Currency Switcher comes in 4 main tabs:

  • Manage Currency: where you can add new currencies, drag and drop to organize them, and customize currency formatting
  • Checkout Options: where you enable checkout permissions based on currency unit and payment methods
  • Display Options: choose where to display the currency switcher and customize its appearances
  • Settings: where you can set up price based on country and exchange rate auto-update

Apart from the centralized settings that you can find under WooCommerce > YayCurrency menu, here are other places where you can find multi-currency management aspects:

  • WooCommerce > Orders: your store’s order history which records all the orders placed in multiple currencies
  • Appearance > Widgets: where you can activate the currency switcher widget on many locations of your website
  • Appearance > Menus: customize and display currency switcher on header/footer
  • Analytics > Overview: where you can see sales report based on currency so that you can optimize the multi-currency setup
  • Shortcode: use this shortcode [yaycurrency-switcher] to show currency dropdown anywhere on your site

How It Works

↑ Back to top

Make sure you have properly set up your default currency in WooCommerce settings > Currency options.

woocommerce multi currency options

Then you can save changes and click on Configure multi-currency to start adding other currencies.

Manage Currency Converter

↑ Back to top

Add new currency

↑ Back to top

When you add a new currency, a new row pops in at the bottom of the currency list. Please choose a currency from the dropdown that lists 160+ national currencies in the world, then you will see its preview sample amount and current conversion rate on the same row.

In order to move it up or down, just grab the left handle and drag and drop the row.

woocommerce multi currency with drag and drop

Currency formatting

↑ Back to top

When a new currency is added, it takes on the base WooCommerce default currency format. In order to change its format, please click on the Gear icon to open the settings drawer per currency.

woocommerce multi currency plugin

There, you can localize each currency by changing the formatting options:

  • Currency code/Symbol position
  • Thousand separator
  • Decimal separator
  • Number of decimals

Conversion fee

↑ Back to top

Additionally, you can add a currency conversion fee to the purchase price as part of the foreign transaction fee.

Here’s the formula for calculating the new conversion rate:

New conversion rate = Exchange rate + Conversion fee

In this WooCommerce multi-currency extension, the Conversion fee comes in two options:

  • Fixed amount
  • Percentage

Here’s the formula for converting new prices:

New converted price = Original price * New conversion rate

Preview currency

↑ Back to top

Even when the settings drawer per currency is close, you can still see how each currency looks without having to open a new page for the front-end.

It’s easy to double-check if you have proper settings before saving the changes you have made.

Custom price ending

↑ Back to top

This is a built-in feature that doesn’t require any code modifications. The setup panel is nested in the currency drawer including the live tester.

Price rounding

Custom price rounding can be found in each currency row’s drawer.

Enabling this feature will automatically round product prices to your selected threshold.

Rounding options for WooCommerce products converted prices

Custom rounding comes with 3 options:

  • Up
  • Down
  • Nearest

And a variety of thresholds:

  • 0.10
  • 0.50
  • 1
  • 10
  • 100
  • 1000

Examples of how to round numbers:

365.365 becomes:
365.40 when rounding up to the threshold 0.10
365.50 when rounding up to the threshold 0.50
366 when rounding up to the threshold 1
370 when rounding up to the threshold 10
400 when rounding up to the threshold 100
1,000 when rounding up to the threshold 1000

Psychological pricing

To make the converted prices work for your psychological pricing strategy, you can use the Minus option. It allows you to auto-deduct a small amount from the converted and rounded price.

You can use it to make the price end in your favored digits such as 0.49 or 0.99 and so on.

Within the drawer, the currency format preview is also shown at the bottom cell. You can enter any amount of money into the field and see the result of the price ending calculations. With this live tester, you will know whether your calculation and settings go as expected or not.

Rounding preview for WooCommerce products converted prices
Eg: 123.45 becomes 123.50 when rounding up to the nearest 0.50;
then, 123.50 becomes 123.49 after deducting 0.01

If it doesn’t work as expected, feel free to contact us.

Checkout Permission

↑ Back to top

In the Checkout Options tab, you will see all the active currencies and available payment methods. You will be able to pick multiple payment methods to allow checkout in different currencies.

Payment methods for converted prices during WooCommerce checkout

Display Currency Switcher Widget

↑ Back to top

Currency switcher on top menu

↑ Back to top

To display the currency switcher in WordPress menus such as header and top menu, please go to Appearance > Menus.

There you can find a menu item called YayCurrency. Just add it to the position that you see fit.

Then, give the menu title a custom text and click Save Menu.

Adding WooCommerce Currency Switcher to Header top menu

On the front page, the currency switcher automatically shows in the order and design that you have set up in the currency manager tab.

woocommerce currency switcher premium

Currency switcher on single product pages

↑ Back to top

Go to WooCommerce > YayCurrency > Display Options and enable Show on Single Product Page. With this option, the currency switcher will show before the Add to cart button.

Enable Currency Switcher on WooCommerce product page

At Switcher Customizer, you can also tweak the WooCommerce currency converter used on single product page and used via shortcode.

Here you can choose to:

  • Show/hide currency flag
  • Show/hide currency display name
  • Show/hide currency symbol
  • Show/hide currency code
  • Adjust dropdown size as small or medium
Customize and preview WooCommerce currency switcher

When you’re happy with the WooCommerce currency switcher preview, click Save changes.

Now navigate to any of your published single product pages and enjoy switching currency.

This customized style also applies to those locations using [yaycurrency-switcher] shortcode.

woocommerce currency switcher on product page

Currency dropdown list widgets

↑ Back to top

Go to Appearance > Widgets, look for Select Currency – YayCurrency and add the widget to your desired positions such as header, footer, WooCommerce sidebar, product sidebar, and so on.

Adding woocommerce currency switcher to header and sidebar

On your storefront, whenever the customer switches currency on the dropdown list, all the prices will be converted to the selected currency unit.

woocommerce currency converter on product page

View WooCommerce Reports with Currency Filter

↑ Back to top

You can filter and view WooCommerce reports based on currencies. Just navigate to Analytics > Overview and pick a currency unit from the dropdown list to have a look at sales charts.

Analytics Overview

↑ Back to top
WooCommerce sales analytics by currency
WooCommerce analytics in multi-currency

Analytics Orders

↑ Back to top
woocommerce orders analytics with currency filter
WooCommerce Analytics > Orders chart
woocommerce currency reports and analytics
Filtering orders based on USD currency

Developer zone

↑ Back to top

You can add these hooks to variables in template.php to alter the data that generates the switcher.

  1. Custom Variable args in template.php
add_filter('yay_currency_switcher_template_args', 'yay_currency_switcher_template_args');function yay_currency_switcher_template_args( $args ) { $args['is_show_flag'] = '0'; // if you don't want to show flag in Dropdown and otherwise '1'...Default: get value in settings. $args['is_show_currency_name'] = '0'; // if you don't want to show Currency name in Dropdown and otherwise '1'...Default: get value in settings. $args['is_show_currency_code'] = '0'; // if you don't want to show Currency code in Dropdown and otherwise '1'...Default: get value in settings. $args['switcher_size'] = 'large'; // custom switcher size ( small | large ) //... return $args;}
  1. Custom currency code in Dropdown
add_filter('yay_currency_switcher_change_currency_code', 'yay_currency_custom_currency_code_dropdown_switcher'); function yay_currency_custom_currency_code_dropdown_switcher( $currency_code ) { return 'EUR' === $currency_code ? 'Eu' : $currency_code;}
  1. Add custom wrapper switcher class in Dropdown
add_filter('yay_currency_switcher_class', 'yay_currency_custom_switcher_class_wrapper'); function yay_currency_custom_switcher_class_wrapper( $wrapper_class ) { $wrapper_class.= ' your-custom-class'; return $wrapper_class;}
  1. Custom selected currency in Dropdown
add_filter('yay_currency_get_id_selected_currency', 'yay_currency_get_id_selected_currency');function yay_currency_get_id_selected_currency( $currency_ID ) { $currency_ID = 238; return $currency_ID;}
  1. yay_currency_custom_currency_code_by_force_country hook, allow custom currency with force payment country
add_filter( 'yay_currency_custom_currency_code_by_force_country', 'yay_currency_custom_currency_code_by_force_country', 10, 1);function yay_currency_custom_currency_code_by_force_country( $currency_code ) { if( 'CAD' !== $currency_code ) { $currency_code = 'USD'; } return $currency_code;}


Have questions before buying? Chat with us