Show shoppers how close they are to free shipping, a gift or a discount, with live progress in the mini-cart, cart, checkout and a sticky bar.
Available Updated Oct 13, 2026Version 1.1.1CS-Cart, Multi-Vendor 4.17.2 – 4.21.x No core file edits
Built for
Shipping Goal Progress Bar: overview1 of 13
What it does
A progress bar for CS-Cart and Multi-Vendor stores that offer free shipping, gifts or discounts from a minimum order amount. It tells each shopper exactly how much is left, for example "You are $12.50 away from free shipping", and celebrates when the goal is reached.
The bar appears where shoppers decide: the mini-cart, the cart page, checkout, the "Added to cart" popup, the product page, a sticky top or bottom bar, or any spot you choose in Block Manager.
What it changes for your store
No double bookkeeping. Thresholds come from your own shipping rates and promotions.
No false promises. Every promotion is checked by the CS-Cart promotion engine.
Several goals as tiers on one bar (3 by default, up to 10): free shipping, gift, discount.
6 built-in placements plus a block.
No core changes and no database tables.
How it works
Admin
In Automatic mode the add-on finds the free shipping threshold in manual shipping rates for the customer's rate area and in cart promotions with a "Subtotal" condition. A Detected goals preview shows what it found. Or set a fixed threshold per storefront and per currency. Pick placements and colors.
Shopper
The bar fills after every cart change without a page reload and moves on to the next goal. In Multi-Vendor, free shipping is shown per vendor, matching how orders are split. Texts are editable, the bar is accessible and RTL-ready.
Features
Free shipping threshold detected from manual shipping rates and promotions
Promotion tiers: free gift, discount and other rewards on one bar
Manual threshold per storefront, with per-currency amounts
Mini-cart, cart, checkout, add-to-cart popup, product page and sticky bar placements
Block Manager block with full or compact layout
Live AJAX updates and a celebration state when a goal is reached
Multi-Vendor: per-vendor free shipping rows
Multi-currency formatting and multilingual texts with placeholders
Accessible, theme-agnostic and RTL-ready, with a clean uninstall
What you get
Package
kv_free_shipping_progress_bar-1.1.0.zip, installed through Add-ons → Manage add-ons
Updates & support
12 months included. Download new versions from your account and install them in Add-ons → Manage add-ons or the Upgrade Center.
License
1 production installation. Staging, dev and localhost are free and unlimited. The add-on keeps working after the update period ends. How licensing works
For developers
Uses 2 CS-Cart PHP hooks and 7 template hooks. No core files are changed.
Compatibility
We list only the builds we install and test on. “Tested” means the full test plan was run on that build; “Supported” means the build is inside the supported range and uses the same hooks.
CS-Cart version and edition compatibility
CS-Cart version
CS-Cart
CS-Cart Ultimate
Multi-Vendor
Multi-Vendor Ultimate
4.22 and later
Testing next
Testing next
Testing next
Testing next
4.21.2
Supported
Supported
Tested
Supported
4.20.x
Supported
Supported
Supported
Supported
4.19.x
Supported
Supported
Supported
Supported
4.18.3
Supported
Supported
Tested
Supported
4.17.2
Tested
Supported
Tested
Supported
Before 4.17.2
Not supported
Not supported
Not supported
Not supported
Last tested build: Multi-Vendor 4.21.2, Oct 13, 2026Tested on: Multi-Vendor 4.17.2, CS-Cart 4.17.2, Multi-Vendor 4.21.2, Multi-Vendor 4.18.3
Requirements
PHP
CS-Cart and Multi-Vendor 4.17.2 – 4.21.x (tested on CS-Cart 4.17.2, Multi-Vendor 4.17.2 and Multi-Vendor 4.21.2 with PHP 8.3)
PHP
PHP 7.4 – 8.3, as supported by your CS-Cart version
Theme
A storefront theme based on Responsive (Responsive, Bright theme, or a child theme such as Nova, the 4.21 default)
Core changes
None. Hooks and template overrides only
1.1.0
Oct 13, 2026
Latest
Added 4
License check. Enter your license key (or CS-Cart Marketplace license number) on the new License tab of the settings. The add-on verifies it with cs-cart.kaviolabs.com when the key is saved and then once a day, only from the admin panel or cron, never on storefront requests. The license covers the domain entered at purchase and all its subdomains; local development hosts are always allowed.
License card at the top of the add-on page, visible on every tab: the status in color (valid, development host, pending or grace period with the days left, Marketplace number pending verification, or switched off: not activated, invalid key, revoked, domain mismatch, not verified), what is switched off in plain words, the licensed domain, the result per storefront, the end of the updates period and the last and next check. Actions: Enter/Change license key, Check now, Manage license and, without a valid license, Buy a license. A cron entry point checks without the admin panel.
License badge next to the add-on name in Add-ons → Manage add-ons (for example License: Valid or License: Pending · 9 days left). Only administrators who may manage add-ons see license information; vendors never do.
Without a valid license for the store's domain, the progress bar is no longer shown on the storefront and the admin panel shows a notice on other admin pages (the add-on page shows the card instead). Checkout and the rest of the store are never affected. New installations and upgrades from 1.0.x work for 14 days before a key is required, and if the license server cannot be reached the add-on keeps working for 14 days.
Tested on Multi-Vendor 4.17.2, CS-Cart 4.17.2, Multi-Vendor 4.21.2, Multi-Vendor 4.18.3. No breaking changes.
1.0.5
Oct 12, 2026
Fixed 2
Works with the Performance Booster (full page cache) of CS-Cart 4.21: the sticky bar is loaded by the storefront script on pages that the cache shares between guests, so one visitor's cart progress is never shown to another. The Block Manager block is rendered per visitor (ESI).
Compatible with CS-Cart and Multi-Vendor 4.21 and PHP 8.3: tested on Multi-Vendor 4.21.2 with PHP 8.3 and the new Nova theme. The add-on now declares the supported range 4.17.2 – 4.21.x.
Tested on Multi-Vendor 4.17.2, CS-Cart 4.17.2, Multi-Vendor 4.21.2, Multi-Vendor 4.18.3. No breaking changes.
1.0.4
Oct 12, 2026
Added 1
In-place upgrades now complete themselves. After the add-on files are replaced (uploading the new zip over the installed add-on in Add-ons → Manage add-ons, copying the files by FTP, or installing an Upgrade Center package), the next admin page view adds any missing tables, columns, settings, language variables and e-mail templates, and updates the stored add-on version and icon flag. Existing data and setting values are kept. A hidden schema_version setting records the last applied version.
Tested on Multi-Vendor 4.17.2, CS-Cart 4.17.2, Multi-Vendor 4.21.2, Multi-Vendor 4.18.3. No breaking changes.
1.0.3
Oct 12, 2026
Fixed 1
The add-on icon is now shown in the admin add-ons list: the package ships a 150×150 icon and addon.xml declares has_icon.
Tested on Multi-Vendor 4.17.2, CS-Cart 4.17.2, Multi-Vendor 4.21.2, Multi-Vendor 4.18.3. No breaking changes.
1.0.2
Oct 12, 2026
Removed 1
Unused language files from the package.
Tested on Multi-Vendor 4.17.2, CS-Cart 4.17.2, Multi-Vendor 4.21.2, Multi-Vendor 4.18.3. No breaking changes.
1.0.1
Oct 11, 2026
Fixed 1
The Block Manager block is now called "Shipping goal progress bar", and the sticky bar hint and docs refer to the new name.
Tested on Multi-Vendor 4.17.2, CS-Cart 4.17.2, Multi-Vendor 4.21.2, Multi-Vendor 4.18.3. No breaking changes.
1.0.0
Oct 11, 2026
Added 13
Progress bar showing the amount left to free shipping, with an intro state for empty carts and a reached/celebration state.
Automatic free-shipping threshold detection from manual shipping rates (per customer rate area and vendor) and from cart promotions with a Free shipping bonus.
Promotion goals (free gift, discount, other rewards) from active cart promotions with a Subtotal condition, validated by the core promotion engine, shown as tiers on one bar.
Manual threshold per storefront with per-currency amounts and a choice of subtotal basis.
Placements: mini-cart, cart page, checkout, "Added to cart" popup, product page (AJAX-loaded, cache-safe), sticky top/bottom bar (dismissible).
Block Manager block "Free shipping progress bar" with Full and Compact layouts.
Live updates via the core AJAX result_ids plus a fingerprint-based refresh for any bar a response did not re-render.
Multi-Vendor: per-vendor free shipping rows; manual threshold per vendor or for the whole cart.
Admin "Detected goals" preview of the thresholds found in shipping rates and promotions.
Accessible markup: role="progressbar", aria-valuenow/aria-valuetext, polite live region.
All texts as language variables with [amount] and [goal] placeholders.
Clean uninstall that also removes the add-on's blocks from all layouts.
Tested on Multi-Vendor 4.17.2, CS-Cart 4.17.2, Multi-Vendor 4.21.2, Multi-Vendor 4.18.3. First release.
The bar does not appear at all.
Check that at least one goal exists. In Automatic mode, open Settings → General → Detected goals: if no shipping method and no promotion is listed, either add a cost range with rate 0 to a manual shipping method, create a Subtotal ≥ X → Free shipping promotion, or enter a Free shipping threshold. Also check that the placement is enabled and clear the cache (admin.php?cc&ctpl).
The bar shows a different threshold than I expected.
Automatic detection uses the customer's rate area: a guest is located with the store's default customer address. If a method has weight- or item-based ranges as well, or a base rate, shipping can't drop to 0 and that method is ignored. The detected-goals preview uses a one-item, minimal-weight package.
Does the manual threshold make shipping free?
No. It only drives the bar. Make shipping free with a shipping rate range or a Free shipping promotion, then either switch to Automatic or keep the manual amount in sync.
Can I use realtime carriers (UPS, FedEx, DHL…)?
Their prices come from the carrier, so there is no threshold to read. Use a Free shipping promotion (detected automatically) or the manual threshold.
Why is a promotion not shown?
Only active cart promotions with an Active status (not Hidden), no coupon code and a Subtotal is greater than (or equal to) condition are shown. Their other conditions must also be met for the current customer and cart.
Customers in another currency see odd amounts.
Set Thresholds per currency, for example EUR=45. Without it, the primary-currency threshold is converted with the currency rate.
My theme uses different AJAX result IDs. Will the bar update?
Yes. Every storefront AJAX response carries a cart fingerprint. If a bar was not re-rendered by the response, the add-on refreshes it with one small request.
Is the bar cached?
The Block Manager block is never cached. The product page placement is loaded by AJAX because CS-Cart caches the product page for guests. The mini-cart is part of the core Cart content block, which CS-Cart caches only while the cart is empty (per language and currency).
Multi-Vendor: why do I see one line per vendor?
Multi-Vendor ships each vendor's items separately, with that vendor's shipping methods, so free shipping is reached per vendor. If your marketplace offers free shipping for the whole order, use the manual threshold with For the whole cart, or a cart promotion.
Can I show the bar in the header?
Yes. Add the Shipping goal progress bar block to a header grid in Block Manager and choose the Compact layout, or enable the Sticky bar.
Can I hide the bar after free shipping is reached?
Enable Hide when all goals are reached.
How do I translate the texts?
Edit the kv_free_shipping_progress_bar. language variables for each language in Administration → Languages → Translations (4.18: Texts & languages*).
What happens on uninstall?
Settings, language variables and all blocks of this type are removed. Nothing is left in your layouts.
The bar disappeared and the admin panel shows a license notice.
Open Add-ons → Manage add-ons → Shipping Goal Progress Bar → Settings → License. The status line says what is wrong: no key, a key for another add-on, a revoked license, or a domain that the license does not cover. Fix it and click Check now. See License.
Does the add-on work on my staging copy?
Yes. Subdomains of your licensed domain (for example staging.example.com) and local development hosts (localhost, private IP addresses, .local, .test) are covered by the same license.
What happens if your license server is down?
Nothing visible: the add-on keeps the last verified result and keeps working for 14 days while it retries. The admin panel shows a notice from the first failed check.
Does the license check slow down my storefront?
No. The check runs in the admin panel or from cron, once a day. The storefront only reads the stored result.
Add a released add-on to this order and save 15% on it. It uses the same edition and store domain.
Shipping Goal Progress BarThis add-on
+
Product Videos GalleryShow YouTube, Vimeo and MP4 videos right in the product image gallery, with no third-party requests until the shopper clicks play.
$39
+
Abandoned Cart Recovery ProWin back abandoned carts with up to three automatic reminder e-mails, one-click cart restore links and unique single-use coupons.
$69
Also from Kavio Labs
Available now and coming next, tested on the same CS-Cart builds.