Currency Switcher

4 min read

Currency Switcher allows your WooCommerce store to display prices in multiple currencies, giving international customers a familiar shopping experience. Prices are automatically converted based on exchange rates, and visitors can switch between currencies using a customizable widget.

Getting Started

  1. Navigate to Swift Commerce → Currency Switcher in your WordPress admin
  2. Enable the feature using the toggle
  3. Add the currencies you want to support
  4. Configure exchange rates (manual or automatic)
  5. Place the currency switcher on your site using the shortcode or Elementor widget

Currencies Tab #

Managing Currencies

Your WooCommerce base currency is automatically added and marked as the default. From here you can add additional currencies for your international customers.

ActionDescription
Add CurrencySelect from 25+ common world currencies
Enable/DisableToggle individual currencies on or off
ReorderDrag and drop to change display order
Set DefaultChoose which currency is shown by default

Free Plan Limit: 1 additional currency (plus WooCommerce base)
Pro Plan: Unlimited currencies

Supported Currencies

The plugin includes 25+ pre-configured currencies:

CurrencyCodeSymbol
US DollarUSD$
EuroEUR
British PoundGBP£
Japanese YenJPY¥
Australian DollarAUDA$
Canadian DollarCADC$
Swiss FrancCHFCHF
Chinese YuanCNY¥
Indian RupeeINR
Mexican PesoMXNMX$
Brazilian RealBRLR$
South Korean WonKRW
And many more…

Currency Configuration

Each currency has configurable settings:

Exchange Rate Settings:

SettingDescriptionOptions
Rate TypeHow the exchange rate is determinedFixed / Auto (API)
RateThe conversion rate relative to default currencyNumeric value

Fee Settings:

SettingDescriptionOptions
Fee TypeHow to calculate conversion feeFixed Amount / Percentage
FeeAmount to add to converted pricesNumeric value

Price Format Settings:

SettingDescriptionOptions
DecimalsNumber of decimal places0-4
Symbol PositionWhere to display currency symbolLeft (99)/Right(9999)/Right(99) / Left with space / Right with space
Rounding TypeHow to round converted pricesNone / Round Up / Round Down / Round Nearest
Rounding ValueValue to round toe.g., 0.99, 0.50, 1.00

Customizations Tab #

Templates

Choose from pre-designed switcher styles:

TemplateDescription
DefaultClean dropdown with flag and currency code
MinimalSimple text-only dropdown
Flags OnlyCompact flag buttons
Pill StyleRounded pill-shaped buttons
ModernContemporary design with shadows
ClassicTraditional bordered select
CustomCreate your own unique style (Pro)

Display Options (Pro – Custom Template)

SettingDescriptionDefault
Show FlagsDisplay country flags next to currenciesEnabled
Show Currency NameDisplay the full currency nameEnabled
Show Currency CodeDisplay the code (e.g., “USD”)Enabled
Show Currency SymbolDisplay the symbol (e.g., “$”)Enabled

Layout Settings (Pro)

SettingDescriptionOptions
Switcher LayoutHow currencies are displayedDropdown / Button Group / Vertical List
AlignmentHorizontal alignmentLeft / Center / Right

Colors & Styling (Pro)

SettingDescriptionDefault
Background ColorSwitcher background#ffffff
Text ColorText and labels#1f2937
Border ColorBorder around switcher#e5e7eb
Hover BackgroundBackground on hover#f3f4f6
Hover Text ColorText color on hover#111827

Flag Settings (Pro)

SettingOptions
Flag StyleCircle / Square / Rounded
Flag SizeSmall (16px) / Medium (24px) / Large (32px)

Custom CSS (Pro)

Add your own CSS to further customize the switcher appearance:

.swift-commerce-currency-switcher {
  /* Your custom styles */
}

Auto Currency Tab (Pro) #

Automatically detect visitor location and display prices in their local currency.

Automatic Currency Detection

SettingDescriptionDefault
Enable Auto CurrencyAutomatically switch based on visitor locationDisabled

When enabled, visitors from different countries will automatically see prices in their local currency based on your country-to-currency mapping.

Country to Currency Mapping

Define which countries should display which currency:

  1. Click “Select a country to add”
  2. Choose the country from the dropdown
  3. Select which currency visitors from that country should see
  4. Repeat for each country you want to configure

Example Mappings:

CountryCurrency
United StatesUSD
United KingdomGBP
GermanyEUR
JapanJPY
AustraliaAUD

Countries not in your mapping list will see the fallback currency.

Fallback Settings

SettingDescription
Fallback CurrencyCurrency shown when visitor’s country is not mapped
Respect User ChoiceDon’t auto-switch if visitor manually selected a currency
Remember DurationDays to remember the user’s currency preference

Detection Method

MethodDescription
IP DetectionUses visitor’s IP address to determine country
BrowserUses browser language settings
BothTries IP first, falls back to browser

GeoIP Provider

ProviderAPI Key Required
IP-APINo (Free)
MaxMind GeoIP2Yes
IP2LocationYes

Test Mode

Enable test mode to simulate visitors from different countries:

SettingDescription
Test ModeEnable location simulation
Test CountryCountry code to simulate (e.g., “US”, “GB”)

Advanced Tab #

Automatic Exchange Rate Updates (Pro)

SettingDescriptionDefault
Enable Auto UpdatesAutomatically fetch and update ratesDisabled
Update IntervalHow often to update ratesDaily

Update Interval Options:

  • Every Hour
  • Once Daily
  • Once Weekly

Manual Update: Click “Update Rates Now” to immediately fetch the latest exchange rates.

Exchange Rate API (Pro)

ProviderAPI Key RequiredFree Tier
ExchangeRate-APINoYes
Open Exchange RatesYesYes
CurrencyLayerYesYes
Fixer.ioYesNo

For providers requiring an API key, enter your key in the “API Key” field.

Cache Settings

SettingDescriptionDefault
Enable CacheCache converted prices for performanceEnabled
Cache DurationHow long to cache prices (seconds)3600

Cookie Settings

SettingDescriptionDefault
Cookie DurationDays to remember user’s currency choice30

Shortcode Tab #

Basic Usage

Display the currency switcher anywhere using:

[swift_commerce_currency_switcher]

Elementor Widget (Pro)

For Elementor users, a dedicated currency switcher widget is available:

  1. Edit any page with Elementor
  2. Search for “Currency Switcher” in the widget panel
  3. Drag the widget to your page
  4. Customize appearance in the widget settings

How Price Conversion Works #

  1. Base Price: Products are stored in your WooCommerce default currency
  2. Exchange Rate: Applied to convert to target currency
  3. Fee (Optional): Added as fixed amount or percentage
  4. Rounding (Optional): Applied based on rounding settings

Example:

  • Product price: $100.00 USD
  • Exchange rate to EUR: 0.92
  • Fee: 2%
  • Rounding: Nearest 0.99

Calculation: $100 × 0.92 = €92.00 + 2% = €93.84 → Rounded to €93.99


WooCommerce Integration #

Price Conversion

The plugin automatically converts prices on:

  • Product pages (single price, variations)
  • Shop/category pages
  • Cart and checkout
  • Order emails
  • Mini cart widget

Supported Price Types

Price TypeConverted
Regular Price
Sale Price
Variable Product Prices
Shipping Costs
Tax Amounts

Troubleshooting #

Prices Not Converting

  1. Verify Currency Switcher is enabled
  2. Check that the target currency is enabled
  3. Ensure exchange rate is set (not 0)
  4. Clear any caching plugins

Wrong Exchange Rate

  1. If using Auto rates, click “Update Rates Now”
  2. Check API provider status
  3. Verify API key is correct (if required)
  4. Switch to Fixed rate and enter manually

Geo-Detection Not Working

  1. Verify Auto Currency is enabled
  2. Check country-to-currency mapping includes the country
  3. For local testing, enable Test Mode
  4. Verify GeoIP provider is working

Switcher Not Displaying

  1. Confirm shortcode is correctly placed
  2. Check that at least 2 currencies are enabled
  3. Verify there are no JavaScript errors in console
  4. Check for CSS conflicts with theme

Feature Comparison #

FeatureFreePro
Enable Currency Switcher
WooCommerce base currency
1 additional currency
Unlimited currencies
Manual exchange rates
Automatic exchange rates
Multiple API providers
Basic shortcode
Elementor widget
Pre-designed templates
Custom template styling
Display options (flags, codes)
Color customization
Custom CSS
Geo-detection (auto currency)
Country-to-currency mapping
Conversion fees
Price rounding
Cookie preferences
Updated on December 28, 2025
Scroll to Top