Key takeaways
- Free shipping over $X is a Shopify shipping discount plus a number the shopper can see. The discount without the bar is a policy. The bar without the discount is a lie.
- Set $X just above the orders that already qualify. A threshold at your average gives shipping away and changes nothing.
- Goalify draws the remaining amount, can stack a later gift or discount, and can use a different $X per country.
- Round the number. $68.40 is not a goal anyone will do maths for.
Free shipping over $X is two objects that must agree. Shopify needs a shipping discount with a minimum spend. The shopper needs to see how far they are from that minimum while they can still add something. Stores create the discount, skip the bar, and then say the threshold "doesn't work".
Create the discount
In Shopify admin, create a free shipping discount. Set the minimum purchase to the number you mean, in the store currency. Choose which shipping rates it applies to. A discount that excludes express, while the bar says "free shipping", will charge express and look like a bug.
Leave the combination rules open to product discounts if a bundle should still get free shipping. Closed combinations are why a qualified cart still pays. That matrix is in discount stacking.
Pick the number
$X should sit just above orders that already clear it. If your average order is $42, a $40 threshold gives shipping away. A $120 threshold on a $42 store is a joke. Use the percentile method in the threshold calculator, then round it. $75 is a goal. $73.18 is a spreadsheet.
Check the margin. The profit on the extra items has to cover the shipping label. If it does not, raise the threshold or shrink the zone. Do not paper over a loss with a prettier bar.
Show the remaining amount
Goalify is the progress bar. Set the same threshold as the discount. Put the bar at the top of the cart, and on the product page if you want the goal visible before the first add. Copy should be the remaining amount, not the policy. "Spend $75 for free shipping" is a rule. "$18 away from free shipping" is a task. The wording is in free shipping bar copy.
You can stack a second goal, a discount or a gift, once the shipping goal is honest. Do that second, not on day one. Setup is a template, the number, and the placement. Free under 10 orders a month, then $3.99, $7.99 and $11.99.
If the cart itself is a slide-out, put the bar in the Addy drawer so the remaining amount sits on the line items.
Check it once
Add products until you cross $X. Shipping at checkout should be free on the rate you chose. Remove a unit. Shipping should return, and the bar should show a remaining amount again. Test one other country before you call it done.
A small order book, and the number it implies
These twelve orders are an example, so you can see the arithmetic. Replace them with yours. Amounts are merchandise, before shipping.
$22, $31, $36, $41, $44, $48, $52, $55, $61, $70, $74, $96.
Sorted, the middle is between $48 and $52. A threshold at $40 sits under most of these orders. You would give shipping away and change little. A threshold at $120 sits above every order but one. Nobody is one item away. The band to test is just above the orders that already clear a lower bar. Here, $75 sits above the 9th order ($70) and within reach of someone at $55 who adds one $20 item. The method, including the percentile cut, is in the threshold calculator. Round $75. Do not publish $74.20.
Does the extra item pay for the label?
Say the label you absorb is $6.50, and the item people add to cross $75 contributes $11 of margin after its own cost. You are ahead by $4.50 on the orders that stretch, and you are giving away $6.50 on the orders that would have paid $75 anyway. Count those. In the list above, two orders are already at or above $75 ($74 is close, $96 is over). If a large share of orders already clear the line, you are funding labels, not changing behaviour. Raise the threshold, or accept the cost as a stated policy and stop expecting the bar to "lift" anything.
If the extra item only contributes $4 and the label is $9, the threshold loses money every time it works. Shrink the zone, raise $X, or drop free shipping on the heavy products. A prettier bar does not repair that. When free shipping is the wrong offer entirely, the cases are in when not to offer free shipping.
The discount and the bar have to share one figure
Create the free shipping discount in Shopify admin. Minimum purchase, the same number as the bar, in the store currency. Choose the rates. Standard can be free. Express can stay paid. The bar copy has to name that. "Free standard shipping over $75" matches a discount that excludes express. "Free shipping" does not.
Product discounts need to be allowed to combine, or a bundle that qualifies will still pay for the label. The combination checkboxes are in discount stacking.
Then watch a code change the cart. Merchandise is $78, so the bar completes. A 15% code brings the purchase to $66.30. If Shopify's minimum uses the amount after discounts, shipping comes back and the bar must show about $9 remaining. If your bar stays completed, it is reading the pre-code subtotal. Fix the bar. Do not "fix" it by telling support the customer was wrong.
Goalify draws the remaining amount. Set the same threshold as the discount. Put the bar at the top of the cart, and on the product page if the goal should be visible before the first add. "$18 away from free shipping" is the sentence. "Spend $75 for free shipping" is the policy, and it can live once, in the footer. Wording examples are in free shipping bar copy. Placement is in where to put a progress bar.
A second goal, a discount or a gift, waits until the shipping goal matches checkout for a week. Stacking rewards is the product. Doing it on day one, before the first number is honest, means two promises to debug. Free under 10 orders a month, then $3.99, $7.99 and $11.99. Country-specific numbers are on the paid plans.
If the cart is a slide-out, the remaining amount belongs on the line items in the Addy drawer. Two bars, one in the header and one in the drawer, will drift the first time you edit only one of them. One bar.
Four orders before you announce it
| Order | What you are proving |
|---|---|
| $60 of products | Shipping charges. The bar shows the gap |
| Just over $75 | Standard shipping is free. Express, if excluded, still charges |
| Just over $75, then remove a unit | Shipping returns. The bar shows a gap again |
| Just over $75, then a code that drops you under | The bar and checkout still agree |
Test one other country the same day. A domestic $75 on an export cart is how international checkout bounces. That setup is in thresholds per country.
One more distinction before you publish. A minimum purchase amount is money. A minimum quantity is units. Free shipping over $75 is the amount. "Free shipping on 3 items" is a different offer and a different bar. If you run both, say which one the customer is chasing. Goalify can use cart value or item count. Pick the one the discount in Shopify actually checks, then match the sentence to it. Three cheap items can clear a unit rule and miss a money rule. One expensive item does the opposite. The bar should describe the rule checkout will enforce. Write that rule in the discount title you will recognise in admin, so the next edit does not create a second minimum by accident.
Install Goalify.
Frequently asked questions
How do I set free shipping over a certain amount in Shopify?
Create a free shipping discount with a minimum purchase amount. Then show that amount in the cart as a progress bar. Goalify is the bar, and it can be the goal the discount has to match.
What should $X be?
Above your current average, often in the band where one extra item can close it, and only if the margin on that extra item covers the shipping you absorb. The method is in how to set the threshold.
The bar says free shipping but checkout still charges. Why?
The bar's number and the shipping discount's minimum do not match, or the discount does not apply to that shipping rate or country. Make them the same number.
Can I do this without an app?
You can create the discount in Shopify. You cannot show a live remaining amount in the cart with that discount alone. The bar is the app.
Should every country see the same $X?
No. A domestic threshold on an export cart stalls checkout. Per-country setup is in different free shipping thresholds per country.
What if a discount code drops the cart back under $X?
Shipping should turn back on, and the bar should show a remaining amount again. If the bar stays complete, it is reading the subtotal before the code.
Which shipping rate should the discount cover?
The rate you named in the bar. Free standard shipping can exclude express. A bar that says free shipping, while express still charges, will read as a broken promise.



