A progress bar in your cart that shows shoppers how close they are to your next reward — “Spend $12.50 more for free shipping.” Set up to five steps, choose what each one offers, and style it to match your theme.
What it looks like
The bar sits inside your slide-out cart drawer. As a shopper adds items, it fills. When they reach a step, the message changes to your reward wording and the bar moves on to the next step. If you set more than one step, small marks along the bar show the whole ladder, so a shopper can see there is another reward beyond the one they just earned.
There is also a version of this bar in the Shopify checkout. That one has been available on every plan, including Free, since before the storefront bar existed. The two share the same steps and wording — see The two places it appears.
Which plan you need
The cart drawer bar is a Starter feature. The checkout bar is available on every plan and is not affected by this. On Free you can still set your steps up and run them in checkout; the storefront switch is the part that needs Starter. See Plans, billing & limits.
Where to set it up
In the dashboard, open Checkout in the sidebar (under Configure), then go to the Cart goal / free shipping bar section. Two switches at the top control where the bar appears: Show on the Shopify checkout and Show in the storefront cart drawer. From the Shopify admin app, open Widgets → Checkout and click Set up checkout.
Steps
You can set between one and five steps. Each step (a tier in the editor) has a Cart total to reach and a Tier name — the name is what a shopper sees in your wording and in ours (required for gift, discount-code and custom steps), so write it as the reward, for example Free shipping or Free tote bag.
Click Add tier to add a step. Remove and reorder steps with the buttons beside each row. You do not have to enter them in order; the bar sorts them by total for you.
Two rules the editor will hold you to. A step's total has to be above zero — a step at 0 is reached with an empty cart, so the bar would open full and promise a reward to someone who has added nothing. And no two steps may share the same total, because there would be no way to tell which of the two rewards the wording is talking about. Either one blocks Save until you change it, and the message under the field tells you which.
Cart totals are in the shopper's own currency
A cart total is a plain number in whatever currency the shopper is buying in. We never convert it. A total of 50 means $50 to a shopper checking out in USD, and ¥50 to one checking out in JPY. If you sell in a single currency — most stores do — these are simply amounts in it, and there is nothing to think about. If you sell in several currencies through Shopify Markets, pick totals that make sense across all of them, or keep the bar to a single market.
One detail if you use both exclusions and a cart-wide discount code: excluded lines are taken off the merchandise total, before any order-level discount is applied. So excluding a $40 gift card removes the whole $40, not $36 of it because a 10 % code happened to be on the cart.
Offers
Each step offers one of four things, chosen under Reward. Read this table carefully — for three of the four, PersonalizerAI shows the offer and you create the actual reward in Shopify. Only the free gift is handed to the shopper by the app.
Offer | What PersonalizerAI does | What you set up in Shopify |
|---|---|---|
Free shipping | Shows progress toward the total. It does not grant free shipping. | Create the free-shipping rate yourself in Settings › Shipping and delivery, at the same cart total. If the two do not match, the bar will promise something the checkout does not honour. |
Discount code | Shows the code once the shopper reaches the total, with a copy button in the cart drawer. It is never applied for them. | Create the code yourself in Discounts, and make sure its own conditions match the step. |
Free gift | Shows a claim your gift button in the cart drawer. Pressing it adds the product once — never automatically, and never twice. In the Shopify checkout this step is display-only. | Create the product yourself in Products and price the variant at zero — or pair it with your own discount so the shopper is not charged for it. This is a requirement, not a habit: the app adds the variant to the cart at whatever price it carries. |
Something else | Nothing is delivered and nothing is worded for you — the step name is the whole message. | Whatever you fulfil by hand. |
We deliberately do not add the gift to the cart on its own. A product appearing in someone's cart without them asking is a good way to lose the sale, and if they remove it while still above your total, the app would only put it back.
A gift never counts toward the next step. Gift variants are always left out of the total the bar measures, on every step, whether or not you have listed them under Products that should not count. Otherwise a gift the bar just handed out would push the shopper closer to the step above it, and take that progress away again the moment they removed it.
If a claim fails, the shopper is told why. A sold-out gift, or a variant ID that no longer exists, now puts Shopify's own explanation next to the button instead of leaving it looking broken. If you see that on your own store, check the variant is in stock and still published.
Picking the gift
Choose the product with the picker, then choose its variant from the list that appears underneath — it shows each variant's name, price and SKU, and a product with a single variant is filled in for you. Shopify's cart adds a variant, never a product, so a gift without one cannot be claimed. The list comes from your synced catalog: if a variant you just created in Shopify is missing, run a catalog sync and it will appear. Changing the product clears the variant, so you do not accidentally leave the old one behind. You cannot save a gift step until both are filled in.
Wording
Two messages, each up to 120 characters: While the shopper is still short, and Once every tier is reached. Leave a box empty to show our wording in each shopper's own language. Our wording follows the step's reward: a free-shipping step says “for free shipping”, and a gift, discount-code or custom step says “to unlock” followed by its tier name, so those steps need a name before you can save. You can drop three placeholders into either:
Placeholder | Becomes |
|---|---|
| How much more they need, formatted in their currency. |
| The cart total for the step they are working toward. |
| The name of that step. |
For example, Spend {remaining} more for {reward} becomes “Spend $12.50 more for Free shipping”.
Design
The bar picks up your widget theme automatically, so it will already look like the rest of your storefront widgets. The controls below are overrides for when you want it to stand out:
Control | What it does |
|---|---|
Progress fill | The filled part of the bar. |
Track behind the fill | The unfilled part behind it. |
Fill once every tier is reached | The fill once every step is reached. |
Bar height (2–40 px) | 2 to 40 pixels. |
Mark each tier along the bar | The small marks showing each step along the bar. |
Position in the cart drawer | Above the cart items or Below the cart items. |
Each colour has a Reset that hands it back to your theme. For deeper styling, the bar respects the same per-surface styling as the rest of the cart drawer — see Style your widgets.
The checkout bar cannot be restyled. Shopify draws it with its own progress component, and no app is allowed to change it. These controls apply to the cart drawer only.
Products that should not count
Under Products that don't count, you can exclude up to 100 products from counting toward the total — useful for gift cards, or for items you do not want subsidising a free-shipping threshold. Their lines are subtracted before the bar compares the cart against your steps.
This works product by product. Shopify's cart tells the storefront which product each line is, but not which collections or tags it belongs to, so we cannot honour collection-level exclusions and do not pretend to.
Both bars honour the same exclusions. The cart drawer and the Shopify checkout each take the excluded lines off the merchandise total before comparing it against your steps, so a cart that contains one reads the same in both places: if the drawer says “spend $40 more”, the checkout says so too.
The one figure the exclusions do not touch is the discount code auto-apply threshold: it is judged on the cart's full merchandise subtotal, the same figure Shopify uses for the code's own minimum, so a cart holding an excluded product or a gift can have the code applied while the bar still asks the shopper to spend more.
Testing it before you launch
The checkout preview beside the editor has a Simulate cart value slider. Drag it across your steps to watch the bar fill, cross each one, and land on your achieved message. This is the quickest way to catch wording that reads oddly at a particular step, or totals that sit too close together.
The two places it appears
Cart drawer | Shopify checkout | |
|---|---|---|
Plan | Starter and up | Every plan, including Free |
Free gift | Claim button adds it | Shown only |
Discount code | Shown with a copy button | Shown |
Honoured — excluded lines are subtracted | Honoured — excluded lines are subtracted | |
Styling | Your colours, height, position | Shopify's own styling |
Both read the same steps and wording, so you set things up once.
If the bar does not appear
- Check the switch for the surface you are looking at. The checkout and cart drawer have separate switches.
- The cart drawer bar needs Starter. On Free the storefront switch is disabled.
- Your theme needs the app embed turned on, the same as every other storefront widget — see Add widgets to your theme.
- Some themes use a cart page rather than a slide-out drawer. If yours does not have a drawer, the bar has nowhere to sit.
- Changes take a few minutes to reach live storefronts. If you have just saved, wait and reload.