Quote from Alex Dev on May 25, 2026, 13:01
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.
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.