We are facing an issue with FOX Currency Switcher on our WooCommerce website while using NitroPack caching.
The support doesn work on Saturdays and Sundays, so some Friday requests can be answered on Monday. If you have problems with registration ask help on contact us page pleaseIf you not got email within 24~36 business hours, firstly check your spam box, and if no any email from the support there - back to the forum and read answer here. DO NOT ANSWER ON EMAILS [noreply@pluginus.net] FROM THE FORUM!! Emails are just for your info, all answers should be published only here.
The support doesn work on Saturdays and Sundays, so some Friday requests can be answered on Monday.
Quote from JEET on May 25, 2026, 10:07Current Issue:
- Users from the USA should see USD based on GEO IP.
- However, on first page load the website sometimes shows GBP instead of USD.
- After clearing cache or refreshing once, the currency changes correctly to USD.
Environment:
- WooCommerce website
- FOX Currency Switcher
- NitroPack cache enabled
- Hosting: Digital Ocen
- Testing done via BrowserStack and VPN locations
It seems the cached version of the page is serving the wrong currency before GEO IP detection updates it.
Could you please help us with the best configuration for:
- GEO IP currency detection
- NitroPack compatibility
- Session/transient storage setup
- Cookie exclusions or cache exclusions required for FOX Currency
We already suspect this may be related to cache/session conflicts.
Thank you.
Current Issue:
- Users from the USA should see USD based on GEO IP.
- However, on first page load the website sometimes shows GBP instead of USD.
- After clearing cache or refreshing once, the currency changes correctly to USD.
Environment:
- WooCommerce website
- FOX Currency Switcher
- NitroPack cache enabled
- Hosting: Digital Ocen
- Testing done via BrowserStack and VPN locations
It seems the cached version of the page is serving the wrong currency before GEO IP detection updates it.
Could you please help us with the best configuration for:
- GEO IP currency detection
- NitroPack compatibility
- Session/transient storage setup
- Cookie exclusions or cache exclusions required for FOX Currency
We already suspect this may be related to cache/session conflicts.
Thank you.
Quote from Alex Dovlatov on May 25, 2026, 13:01Hello Jeet
Thank you for the detailed report — you have correctly identified the root cause. This is a known behaviour when a full-page cache plugin serves a pre-rendered page before server-side GEO IP detection has a chance to run. The cached page was built for one visitor and then served to another in a different location.
Here is how to address it properly with FOX and NitroPack:
Step 1. In FOX settings, enable the option "I am using cache plugin on my site". This switches the currency display mechanism from server-side rendering to a JavaScript-based update after page load, which works correctly regardless of what the cached HTML contains.
Step 2. In NitroPack settings, add the following cookie to the cache exclusion list so that NitroPack does not serve a cached page to users who already have a currency session set:
woocs_current_currency
Step 3. Also make sure that in your NitroPack configuration, pages are not being cached per-URL in a way that locks currency into the URL. If you use the ?currency= parameter switching method, those URLs should also be excluded from cache or handled as separate cache variants.
Step 4. After enabling the cache plugin option in FOX, the prices preloader will appear briefly on first load while the correct currency is applied via JS. This is expected and normal behaviour.
These four steps together should resolve the first-load wrong currency issue entirely. Let us know how it goes after applying them.
Hello Jeet
Thank you for the detailed report — you have correctly identified the root cause. This is a known behaviour when a full-page cache plugin serves a pre-rendered page before server-side GEO IP detection has a chance to run. The cached page was built for one visitor and then served to another in a different location.
Here is how to address it properly with FOX and NitroPack:
Step 1. In FOX settings, enable the option"I am using cache plugin on my site". This switches the currency display mechanism from server-side rendering to a JavaScript-based update after page load, which works correctly regardless of what the cached HTML contains.
Step 2. In NitroPack settings, add the following cookie to the cache exclusion list so that NitroPack does not serve a cached page to users who already have a currency session set:
woocs_current_currency
Step 3. Also make sure that in your NitroPack configuration, pages are not being cached per-URL in a way that locks currency into the URL. If you use the ?currency= parameter switching method, those URLs should also be excluded from cache or handled as separate cache variants.
Step 4. After enabling the cache plugin option in FOX, the prices preloader will appear briefly on first load while the correct currency is applied via JS. This is expected and normal behaviour.
These four steps together should resolve the first-load wrong currency issue entirely. Let us know how it goes after applying them.
