Freetop is a WooCommerce plugin that adds a free shipping progress bar to an online store, showing shoppers how much more they need to spend to qualify for free delivery. It is built for store owners who already offer a free shipping threshold and want that offer to be visible on every page rather than buried in the cart. At $39 with 1,928 sales and a 4.78 rating from 37 reviews on CodeCanyon, it sits in the affordable end of the Freetop eCommerce toolset maintained by villatheme.
What the plugin actually does beyond showing a bar
The core mechanic is simple: the store sets a minimum order value for free shipping, and the plugin renders a bar that fills as the cart total climbs toward that figure. What separates this from a plain CSS widget is the amount of WooCommerce logic wired into it.
Shipping zone awareness
The plugin reads the visitor’s IP address to work out which country they are in, then matches that to the shipping zones configured in WooCommerce. A customer in Germany sees the German threshold; a customer in the United States sees the American one. For stores that ship internationally with different free shipping rules per region, this removes the need to hardcode a single number that would be wrong for most visitors. The vendor does not state how IP geolocation is performed or which database supplies the country data, so it is worth testing accuracy against the regions a store actually serves.
Excluding shipping classes from the calculation
WooCommerce shipping classes let a store group products that behave differently — heavy items, bulky goods, items shipped by a third party. This plugin can be told to leave chosen classes out of the subtotal that counts toward the free shipping threshold. That matters for any catalogue where a flat free shipping promise would otherwise apply to products that cost too much to post.
Three display positions for the bar itself
The main bar can sit at the top of the site or fixed to the bottom of the viewport. The progress indicator can be placed inside the bar or underneath it. A separate, smaller progress bar can also appear in the header mini-cart, the sidebar cart, the cart page and the checkout page. The combination means the reminder follows the shopper from browsing through to payment without a developer writing custom templates.
Message templates driven by shortcodes
Four message states are configurable: a general announcement shown to everyone, a message for shoppers with items in the cart, a message shown after a product is added, and a congratulations message once the threshold is met. Shortcodes such as {min_amount}, {cart_amount}, {total_amounts} and {missing_amount} pull live figures into the copy, so the same template reads correctly whether a customer is $5 or $50 away. All four states are editable, which allows the wording to match a store’s tone rather than shipping with generic text.
Styling and behaviour controls
Background colour, text colour, link colour, font family, font size and text alignment are all exposed for the bar; the progress bar adds its own colour, font size and a choice of plain, loading or bordered bar effect. A custom CSS field covers anything the settings panels miss. The bar can also be set to appear or hide after a delay, and a close button lets shoppers dismiss it. Page-level targeting is available through WordPress conditional tags.
Where it fits, and where it does not
The clearest fit is an established WooCommerce store with a free shipping threshold already in place and reasonable order volume. Stores running multiple shipping zones benefit most, because the per-country logic is the feature that would be most tedious to replicate by hand. It also suits agencies building client stores who want a configurable promotion element without maintaining custom code, and shops using Elementor or WPML, both of which the vendor lists as compatible alongside WordPress 6.0 through 7.0 and WooCommerce 6.x through 10.x.
It is the wrong choice for a store with no free shipping offer at all — the plugin has nothing to display without a threshold to aim at. It is also a poor fit for teams that cannot safely use conditional tags. The vendor’s own listing carries an unusually blunt warning: page targeting relies on PHP’s eval() function, which executes arbitrary code, and the documentation asks that the field only be filled with validated conditional tags from trusted developers. A solo store owner who does not write PHP should leave that field alone, which means the page-level targeting feature is effectively off-limits to them.
Strengths and limitations
Strengths
- Shipping-zone detection means one installation serves a multi-region store correctly without duplicate configuration.
- Shipping class exclusion prevents the free shipping promise from applying to products that would make the order unprofitable to post.
- Shortcode-driven messages update live, so the bar always states the real remaining amount rather than a static figure.
- Cart, checkout and mini-cart placements keep the incentive visible at the point where abandonment usually happens.
- Source files (JavaScript, CSS, PHP) are included, so a developer can extend or restyle beyond the settings panels.
- A 4.78 average across 37 reviews on a product with close to 2,000 sales suggests the plugin behaves as described for most buyers.
Limitations
- Conditional-tag page targeting runs through eval(), which the vendor flags as dangerous. This is a genuine security consideration, not a stylistic quibble.
- Only two positions exist for the main bar — top header or bottom. Stores wanting it inline within page content, for example inside a product summary, have no built-in option.
- IP-based country detection is inherently imperfect. VPN users and customers on corporate networks can be geolocated to the wrong zone, and the vendor does not document a fallback for that case.
- The feature set is narrow by design. This is a single-purpose promotional tool, not a general cart-upsell or discount suite.
- Documentation is delivered partly as video tutorials, which is slower to search than written reference material when troubleshooting a specific setting.
How it compares with the wider category of cart-incentive tools
Free shipping bars are usually solved in one of three ways: a small dedicated plugin like this one, a module inside a larger marketing or checkout suite, or custom code written for the theme. Custom code gives total control but has to be rebuilt whenever the theme or WooCommerce changes, and it rarely handles shipping zones without significant effort. A broad marketing suite bundles the bar with email capture, popups and upsells, but the buyer pays for all of it and inherits a heavier footprint on every page.
Freetop’s proposition is depth on one problem. It goes further than most single-purpose bars on zone matching and shipping class exclusion, which are the two areas where a naive implementation produces wrong numbers. Against a bundled suite it loses on breadth — there is no coupon logic, no cross-sell, no analytics dashboard. The comparison therefore comes down to whether a store wants one feature done thoroughly or many features done adequately. For a store whose main lever is a delivery threshold, the focused tool is the more sensible purchase.
Frequently Asked Questions
Does the free shipping bar work with different shipping zones?
Yes. The plugin detects the visitor’s country from their IP address and displays the free shipping amount set for the matching WooCommerce shipping zone. Stores with separate thresholds for different regions therefore show the correct figure to each customer. Accuracy depends on IP geolocation, so results can be wrong for visitors using a VPN.
Can I stop certain products from counting toward free shipping?
Yes. The plugin can exclude selected WooCommerce shipping classes from the subtotal used to calculate progress. Any product assigned to an excluded class is left out of the running total, so bulky or costly-to-post items do not push a customer toward a threshold the store cannot honour profitably. The exclusion is configured per shipping class, not per individual product.
Where can the progress bar appear on the store?
The main bar can be fixed to the top of the site or to the bottom of the browser window. A smaller progress bar can additionally be placed in the header mini-cart, the sidebar cart, the cart page and the checkout page. The progress indicator itself can sit inside the bar or beneath it.
Is it safe to use the conditional tag targeting feature?
Only with caution. The vendor states that page targeting uses PHP’s eval() function, which can execute arbitrary code, and advises restricting the field to conditional tags that have been validated or supplied by trusted developers. Store owners who cannot review PHP should avoid the feature and rely on the global bar settings instead.
Verdict
Buy this if the store already runs a free shipping threshold, ships to more than one region, and wants the incentive visible from the first page view through to checkout without commissioning custom development. The zone detection and shipping class exclusion are the two features that justify the $39 over a free alternative, and the review record is solid. Do not buy it if there is no free shipping offer to promote, if the catalogue is single-region and simple enough for a few lines of CSS, or if the team cannot safely manage the eval()-based targeting field. It is a focused tool for a specific job, and it does that job well.