Free Shipping Bar for Magento 2 user guide

No coding is needed. Every setting lives in the Magento admin, and the guide walks you through them.

Overview

The Magexweb Free Shipping Bar extension adds a promotional notification bar to your Magento 2 storefront that encourages customers to add more products to their cart to unlock free shipping. As a customer shops, the bar shows how much more they need to spend to qualify, and switches to a congratulatory success message once they cross the threshold.

This nudges shoppers toward a higher order value by turning your free-shipping policy into a visible, real-time incentive, rather than a rule they only discover at checkout.

Important: this extension does not create shipping rates by itself. You still need a matching Free Shipping method (or a cart price rule) in Magento so the discount is actually applied at checkout. The bar's threshold amount should match that rule's minimum order amount.

Key features

  • Live progress bar showing how close a customer is to free shipping
  • Optional percentage badge (e.g. "65% there" / "Unlocked!")
  • Different thresholds and messages per customer group (e.g. Guest, General, Wholesale)
  • Fully customisable text for three states: initial (empty cart), in progress, and success
  • Four display positions: page top, content top, content bottom, page bottom
  • Sticky bar option that stays visible while scrolling
  • Optional close (dismiss) button
  • Auto-hide after a configurable number of seconds
  • Choice of which pages the bar appears on (Home, Category, Product, Search, Cart, Checkout, CMS pages)
  • Full design control: text alignment, font size, background, text and value colours, progress bar colour, badge colours
  • Custom CSS field for advanced styling
  • Updates live via AJAX when a product is added to the cart, with no page refresh

How it works

The bar reads the shopper's current cart subtotal and compares it with the threshold amount configured for their customer group. Depending on the result, one of three messages is displayed:

  • Initial message: shown when the cart is empty. Typically invites the customer to start shopping toward free shipping.
Free shipping bar with an empty cart: Get free shipping on order of $100 or more, badge 0% there
  • Progress message: shown once the cart has items but the subtotal is still below the threshold. Typically tells the customer how much more they need to spend.
Free shipping bar in progress: You added $54 into cart and now you only $46 away from free shipping, badge 54% there
  • Success message: shown once the cart subtotal reaches or exceeds the threshold. Congratulates the customer on unlocking free shipping.
Free shipping bar after the threshold: Congrates!!! Your order delivery is free, badge Unlocked!

Each customer group can have its own threshold amount and its own wording for the initial and progress messages, so you could, for example, set a lower free-shipping threshold for logged-in customers than for guests.

Installation

Composer installation (recommended)

  1. Place the extension in your project (via a private Composer repository, Packagist, or by copying it under app/code).
  2. From the Magento root, run the following commands:
CommandPurpose
composer require magexweb/freeshippingbarOnly if distributed via a Composer repository
php bin/magento module:enable Magexweb_FreeshippingbarRegisters and enables the module
php bin/magento setup:upgradeRuns the module's setup and schema updates
php bin/magento setup:di:compileRecommended for production mode
php bin/magento setup:static-content:deploy -fRequired in production mode
php bin/magento cache:flushClears the Magento cache

Manual (ZIP) installation

  • Copy the extension folder to app/code/Magexweb/Freeshippingbar in your Magento installation.
  • Run the same bin/magento commands listed above (module:enable, setup:upgrade, di:compile, static-content:deploy, cache:flush).
  • Check the module is active: php bin/magento module:status Magexweb_Freeshippingbar

Admin configuration

All settings are under Stores > Settings > Configuration > Magexweb Extensions > Free Shipping Bar Configuration.

General configuration

Free Shipping Bar Configuration in the Magento admin with the thresholds grid and the success message
FieldDescription
Free Shipping BarMaster switch. Set to Yes to show the bar on your storefront, or No to hide it completely.
ThresholdsA table where you define the free-shipping amount and messages per customer group.
Free Shipping Bar Success MessageThe message shown once a customer's cart subtotal reaches the threshold. Leave blank to use the default: "You have unlocked Free Shipping!"

Setting up thresholds

The Thresholds grid takes one row per customer group. Click Add to insert a new row, fill in the fields, and click Save Config.

Thresholds grid with a row per customer group: threshold amount, initial text and progress text
FieldDescription
Customer GroupThe customer group this row applies to (e.g. NOT LOGGED IN, General, Wholesale, or ALL GROUPS).
Threshold AmountThe cart subtotal (in your store's base currency) a customer must reach to unlock free shipping for this group.
Initial TextMessage shown when the cart is empty for this customer group.
Progress TextMessage shown while the cart has items but is still below the threshold.

Note: variables such as {thresholdValue}, {cartValue} and {leftValue} can be used in your message text. They are replaced with the live amounts, formatted with your store's currency symbol. See Message variables for the full list.

Free Shipping Bar settings

Free Shipping Bar Settings: bar position, sticky bar, progress bar, percentage badge, close button, auto hide and display on page
FieldDescription
Bar PositionWhere the bar appears on the page: Page Top, Content Top, Content Bottom, or Page Bottom.
Sticky BarWhen set to Yes, the bar stays fixed and visible as the customer scrolls down the page.
Progress BarWhen set to Yes, shows a progress track that fills up as the cart subtotal approaches the threshold.
Progress Percentage BadgeWhen set to Yes, shows a small badge with the completion percentage (e.g. "65% there"), or "Unlocked!" once achieved.
Close ButtonWhen set to Yes, adds a dismiss (×) button so customers can close the bar.
Auto hide afterNumber of seconds after which the bar hides itself. Enter 0 to turn auto-hide off and keep the bar visible.
Display on PageThe page types the bar appears on: Home Page, CMS Page, Category Page, Search Result Page, Product Page, Cart Page, Checkout Page.

Free Shipping Bar design

Free Shipping Bar Design settings: text align, font size, colours and custom CSS
FieldDescription
Text AlignAligns the bar's message text to the left, centre, or right.
Font SizeFont size of the message text, in pixels (numbers only, no "px").
Bar Background ColorBackground colour of the whole notification bar.
Bar Font ColorColour of the message text.
Close Button ColorColour of the dismiss (×) icon.
Progress Bar ColorFill colour of the progress track.
Progress Percentage Badge ColorBackground colour of the percentage badge.
Progress Percentage Badge Font ColorText colour of the percentage badge.
Bar Custom CSSOptional CSS for styling beyond the colour and font options above.

Message variables

Use these placeholders anywhere in the Initial Text or Progress Text fields. They are replaced with live, currency-formatted values:

VariableDescription
{thresholdValue}The free-shipping threshold amount configured for the customer's group.
{cartValue}The customer's current cart subtotal.
{leftValue}The amount still needed to reach the threshold (threshold minus current cart subtotal).

Storefront behaviour

Once enabled and configured, the bar behaves like this for shoppers:

  • It appears on every page type selected in Display on Page, at the position chosen in Bar Position.
  • The message and progress bar update instantly (via AJAX) whenever a product is added to the cart, with no page reload.
  • If Sticky Bar is enabled, it stays pinned in view while the customer scrolls.
  • If Auto hide is set above 0 seconds, the bar slides away after that time, and reappears on the next page load.
  • If Close Button is enabled, the customer can dismiss the bar at any time.
  • Guests and logged-in customers can see different thresholds and wording, based on the customer group rules you configured.
Free shipping bar at the top of a Magento Luma storefront home page

Uninstallation

  1. php bin/magento module:disable Magexweb_Freeshippingbar
  2. Remove the module files (composer remove magexweb/freeshippingbar, or delete app/code/Magexweb/Freeshippingbar).
  3. php bin/magento setup:upgrade && php bin/magento cache:flush

Troubleshooting and FAQ

Does this extension apply the free shipping discount automatically?

No. The bar is a notification and marketing tool only. You still need an active Free Shipping method or a cart price rule in Magento with a matching minimum order amount, so the discount is applied at checkout.

Can I show a different threshold for wholesale customers?

Yes. Add a separate row in the Thresholds grid for that customer group, with its own amount and messages.

Can I hide the bar on certain pages, like the checkout page?

Yes. Remove that page type from the Display on Page field.

Why is the bar not appearing on my storefront?

Check that Free Shipping Bar is set to Yes, that at least one threshold row exists, and that the current page type is selected in Display on Page.

Can I use HTML in the messages?

The message fields support basic inline HTML (such as <b> or <br/>), since they are rendered as HTML on the storefront. Avoid complex markup that could break the layout.

Support

For help, email info@magexweb.com.

Tell us about your project.

Share a few details and we will reply with questions, a recommended approach and next steps.

  • Email info@magexweb.com
  • Phone +91 99092 71288
  • Hours Mon–Fri, 10:00 AM to 8:00 PM IST
  • Office D-1002, Jasmin Green 1, Near Vaishnodevi Circle, Ahmedabad 382421, India

  • Free consultation
  • NDA available
  • Reply by email