If the amount left text from Free Shipping Bar: Amount Left for Free Shipping for WooCommerce keeps the old value after customers change cart quantities, it sits outside the area WooCommerce refreshes. Move it inside the cart totals under WPFactory > Left for Free Shipping > Cart, or turn on Enable AJAX (Pro) on the Advanced tab.
Symptoms #
- The customer changes a quantity or removes an item, the cart totals update, but the text (for example “$20 left for free shipping”) still shows the old amount.
- The correct amount appears only after a full page reload.
- The text updates on the cart page but not in the mini-cart, a store notice or a shortcode elsewhere on the page.
Why it happens #
When the cart is updated, WooCommerce reloads only parts of the classic cart page: the cart form and the cart totals box. Amount Left for Free Shipping prints its text on the WooCommerce hook you choose in Position. If that hook is outside the refreshed parts, the text is not redrawn until the page reloads. The plugin’s own AJAX option exists for exactly this case: it re-requests the text whenever the cart changes, wherever it is placed.
Fix 1: Use a position inside the cart totals (free) #
- Go to WPFactory > Left for Free Shipping (also reachable at WooCommerce > Settings > Amount Left for Free Shipping) and open the Cart tab.
- Set Position to After cart totals (the default) or Before cart totals. The in-table positions, such as Cart totals: Before order total (in table), also work; for those, set Wrap method to Smart or Force so the text is wrapped in a table row.
- Avoid Before cart, After cart and Cart collaterals if you need live updates, because they sit outside the refreshed areas.
- Click Save changes, clear any page cache, then change a quantity on the cart page and click Update cart.
Fix 2: Turn on AJAX updates (Pro) #
- Open the Advanced tab and go to AJAX Options.
- Tick Enable AJAX and click Save changes.
With AJAX on, every copy of the text (cart, checkout, mini-cart, store notice and the [alg_wc_left_to_free_shipping] shortcode) is refreshed on these events: updated_cart_totals, added_to_cart, removed_from_cart, wc_fragment_refresh, updated_checkout, wc_cart_emptied and updated_shipping_method. Two related options on the same tab:
- Additional events: add JavaScript event names your theme or cart plugin fires, if it does not use the standard WooCommerce events. Leave it empty if unsure.
- Force update: refreshes the text via AJAX on every page load. Turn it on if a caching plugin serves an old amount.
Fix 3: Rule out caching and conflicts #
- Exclude the cart and checkout pages from page caching and purge your cache and CDN.
- If the text still does not update, switch to a default theme such as Storefront and deactivate other plugins except WooCommerce and Amount Left for Free Shipping, then test again. Re-enable them one at a time to find the conflict.
Confirm the fix #
Add a product to the cart, open the cart page, raise the quantity and click Update cart. The amount left should drop without a page reload, and the Free shipping reached message (default “You have free delivery!”) should appear once the cart reaches the free shipping minimum.
Related articles #
- Display Free Shipping Info on the WooCommerce Cart Page
- Advanced and AJAX Options for the WooCommerce Free Shipping Bar
- Shortcode Doesn’t Update Amount on Shop/Product Pages
Live AJAX updates are part of Amount Left for Free Shipping Pro, along with the mini-cart, checkout and store notice sections. Get Amount Left for Free Shipping Pro.
Need a hand? Our team answers every ticket on the Amount Left for Free Shipping support forum.
