Known Conflicts & Incompatibilities
What can stop AJAX pricing working, and how to fix it. This pairs with Troubleshooting (which is symptom-first) by listing the usual culprits by category. Because the plugin relies on two things — WooCommerce rendering prices through its standard filter, and a small JavaScript file running on the front end — almost every conflict falls into one of those buckets.
Table of Contents
- JavaScript optimisation (the most common cause)
- Caching or CDN stripping cookies
- Themes / plugins that bypass the WooCommerce price filter
- Client-side-only currency switchers
- “Remove unused CSS” / aggressive CSS optimisation
- Dynamic-pricing plugins with their own price caching (rare)
- How to diagnose a suspected conflict
JavaScript optimisation (the most common cause)
“Delay / Defer / Combine JavaScript” features can stop the plugin’s script (or jQuery) from running, or run it so late that the cached price never updates.
Common sources: WP Rocket “Delay JavaScript execution”, LiteSpeed “Load JS Deferred” / “JS Delayed”, Perfmatters “Delay JavaScript”, Autoptimize / SiteGround / “defer all JS”, and “Combine JS” options.
Fix: exclude the plugin’s script and jQuery from delay/defer/combine. Add wc-ajax-pricing (the script handle / filename) and jquery to your optimiser’s exclusion list.
Symptom: prices stay at the cached value, or only update after you scroll/click.
The AJAX request needs the visitor’s WooCommerce session / geolocation / currency cookies so WooCommerce computes the right price.
Fix: make sure your cache/CDN does not strip cookies on admin-ajax.php and does not cache it. See Caching Plugin Configuration.
Symptom: every visitor sees the same price (usually the base location’s).
Themes / plugins that bypass the WooCommerce price filter
The plugin can only placeholder prices rendered through WooCommerce’s woocommerce_get_price_html filter. A theme or page builder that prints prices by hand (a custom template echoing a raw value) won’t be ajaxified — those prices render normally and won’t update per visitor.
Fix: use the theme’s standard WooCommerce price output, or have a developer route the custom price markup through the filter.
Symptom: some products have no .ajax-price wrapper in the page source.
Client-side-only currency switchers
Some currency switchers reformat prices in the browser after load and can fight the swap.
Fix: prefer the switcher’s server-side mode, or re-apply it on the wc_ajax_pricing_updated event. See Multi-Currency Setup.
Symptom: prices flash the wrong currency, then correct (or vice-versa).
“Remove unused CSS” / aggressive CSS optimisation
Tools that strip “unused” CSS can remove styles for classes that are only added later by JavaScript.
Fix: allow-list .ajax-price*, .ajax-stock*, and .ssap-add-to-cart. See Styling & Customizing the Markup.
Symptom: the swapped-in price/stock looks unstyled.
Dynamic-pricing plugins with their own price caching (rare)
A pricing plugin that caches its computed price HTML without keying by location could serve a wrong price. The plugin calls WooCommerce’s standard price functions, so well-behaved pricing plugins work.
Fix: test the combination; see Compatibility & Integrations.
How to diagnose a suspected conflict
- Open DevTools → Network, reload, and confirm the single
get_wc_pricesrequest fires and returns correct JSON. - Doesn’t fire? → JavaScript optimisation or a JS error (check the Console).
- Fires but prices are wrong? → cookie/cache stripping on
admin-ajax.php. - Some products aren’t wrapped in
.ajax-price? → custom price markup bypassing the filter.
Found a specific plugin or theme that conflicts? Tell support so we can add it here.
Cross-links: Troubleshooting, Caching Plugin Configuration, Styling & Customizing the Markup, Multi-Currency Setup, Compatibility & Integrations.