/CRO and speed
Shopify buy box: five changes that moved conversion
July 31, 2026 · WOCX
We changed five things inside the buy box on one client’s product page and its conversion rate went from 3.9% to 5.3%. No redesign, no new theme, no app installed. The same traffic, the same product, the same price, roughly 36% more of the people who landed on that page ended up buying. This is the exact list. It covers what each change does to the shopper, plus the order we would test them in on a store that is not this one.
The reason to write it down in this shape is that most product page advice stops at the principle. Add urgency, build a bit of trust, take some friction out. All true, and all useless at the moment you are sitting in a Liquid file wondering what to actually type. So here is what we actually typed.
What is the buy box on a Shopify product page?
The buy box is the block of the product page that contains the decision. Price, variant pickers, quantity, the add to cart button. Plus the handful of lines sitting immediately above and below it. Everything else on a product page is persuasion, the buy box is the transaction. On most themes it occupies the right column on desktop and a strip somewhere below the gallery on mobile, and it is the smallest, densest, highest-stakes area of the whole store.
It matters more than its size suggests because it is where a shopper stops reading and starts deciding. Someone who scrolled through your photos and your reviews arrives at the buy box already interested. They are not asking whether they want the thing. They are asking whether to click now, and the answers to that question, when will it arrive, is it running out, what exactly am I paying, are usually somewhere else on the page or nowhere at all. Moving those answers into the buy box is most of the work below.
The five changes
Here they are in the order they sit on the page, top to bottom, which is not the order we would test them in.
| The change | What the shopper gets |
|---|---|
| Ships-from line above the button | Where it comes from and when it leaves |
| Price printed on the button itself | No arithmetic before committing |
| Low stock line under the button | A reason not to postpone |
| Sold-out count near the stock line | Evidence the scarcity is real |
| Subscription framed as stock cover | A way to never face this again |
The ships-from line
Directly above the add to cart button we put a line naming the country the order ships from and the next dispatch date, calculated from the current date rather than written as a static promise. Ships from United Kingdom, next dispatch Tuesday 5 August. It reads as a small logistical detail and it answers the single most common unspoken objection on a product page from a brand nobody has bought from before, which is not is this good, it is when does this actually turn up and is it coming from somewhere far away.
Two things make it work. The country is resolved from the shopper’s own location, so a buyer in Manchester sees a domestic dispatch rather than a vague international one, and the date moves with the calendar, so it is never stale and never a lie. A hardcoded five to seven business days does neither of those things, which is why almost every store has one and almost nobody reads it.
The price on the button
The button said Add to cart. Now it says Add to cart and the current price. That is the entire change and it is the one that surprises people most, because it looks like decoration and behaves like friction removal. What it takes away is a small act of arithmetic happening in the shopper’s head. Someone who has picked a variant, possibly adjusted quantity, maybe watched a discount apply, is carrying a number that may not match what they are about to be charged. Printing the live total on the button itself closes that gap at the precise moment of commitment, and it updates as the variant changes, so the number is never the one from thirty seconds ago. Nobody clicks a button in order to discover a price. They click once they are certain, and certainty that arrives half a second earlier converts better than certainty that arrives on the cart page.
The low stock line
Under the button, a short line saying stock is low and the item is selling. On its own this is the most abused pattern in ecommerce, so read the next section before you copy it, because the line alone is not what moved anything.
The sold-out count
Next to the stock line, the specific claim: this product sold out 14 times in the last year.
This is the change that makes the previous one legitimate, and it is the one worth stealing. A generic low stock badge is noise. Every store has one, half of them are decorative, so shoppers have learned to discount them entirely. A number that could be checked is a different object. Fourteen is oddly specific. It implies a record somewhere, which reframes the whole message from a nudge into a piece of history about the product. The scarcity stops being a sales tactic and becomes a fact about demand, which is the version people believe.
The condition attached is absolute. The number has to be true. If a product has sold out twice, the line says twice, and if it has never sold out the line does not exist. A fabricated count is worse than no count, partly because loss aversion only works on losses the shopper finds credible, and mostly because a store that invents scarcity teaches people to disbelieve everything else it says.
Subscription as stock cover
The last change repositioned the subscription option. Rather than presenting it as a discount for committing, it was framed as cover against the thing the two lines above just established, that this product runs out. Subscribe and you are not in the queue next time.
This is a small piece of copywriting that costs nothing and does something the discount framing cannot. A percentage off asks the shopper to trade flexibility for money, which most people decline on a first order from a new brand. Insurance against an out of stock they have just been told is a real risk asks them to trade nothing, it just resolves a problem the page created three lines earlier. The subscription pitch stopped being an interruption and became the answer to a question.
Why five small changes beat a redesign
Nothing structural moved on that page. The gallery is where it was. So are the reviews, and the theme itself was never opened beyond one section file. What changed is that four questions a buyer holds at the moment of clicking now get answered in the place where they hold them, rather than somewhere they would have to go looking. That is the pattern worth taking away from this, and it is the reason we reach for the buy box before we reach for a rebuild. A redesign moves everything and takes weeks to read, so when the number moves you have learned very little about why. Five named changes in one block of the page are cheap to ship, cheap to reverse, legible afterwards. The gain here was 1.4 percentage points on a base of 3.9%, which is around 36% more orders from traffic that was already arriving, bought with an afternoon of work rather than a project. Product pages usually contain the answers already, further down, in a shipping tab or an FAQ accordion or a reviews section three scrolls away. The information is not missing, it is filed. Moving four answers into a two hundred pixel window is a smaller job than redesigning anything and it operates on the moment that decides the sale.
There is a mobile argument stacked on top of this. When we measured seven real DTC product pages, the add to cart button sat below the fold on most of them, which means the buy box is the one part of the page a phone user is guaranteed to have scrolled to on purpose. Attention there is not something you are competing for. It is already yours, and most stores spend it on a bare button.
What we did not change
Worth saying plainly, because a number is easier to trust when its boundaries are visible. The price was untouched throughout. So was the photography, which matters because better images would have muddied the result completely. No app was installed either, since all five changes live in theme code and carry no monthly cost, the same argument we make about replacing rented features with sections. Traffic sources held steady across the comparison window and ad spend did not shift, so the visitors arriving after the change were the same kind of visitors arriving before it. Same product, same audience, same price, different buy box.
We also did not run these as five separate isolated tests. They shipped together, which means the 1.4 point gain belongs to the set and we cannot tell you what each one contributed on its own. Anyone who tells you they can attribute a 36% relative lift across five simultaneous changes is guessing. Isolating them would have required roughly 39,200 visitors per test at that baseline, which is the arithmetic set out in Shopify A/B testing, and it is why bundling was the honest choice rather than a shortcut. The honest version is that the bundle worked and the order below is our judgment about which parts carry the weight, not a measurement.
The order to test them in
If you are doing this on your own store, ship them in this sequence and give each one enough traffic to read before adding the next.
| Order | Change | Why here |
|---|---|---|
| 1 | Price on the button | Zero risk, no claim to verify, minutes to build |
| 2 | Ships-from and dispatch date | Answers the biggest unspoken objection |
| 3 | Sold-out count | Only if the number is real and checkable |
| 4 | Low stock line | Meaningless without the count above it |
| 5 | Subscription reframe | Copy change, depends on 3 and 4 landing first |
The sequence is deliberate. The first two are pure information and carry no credibility risk at all, so they are free to ship. The middle two are claims, which means they are only available to you if your data supports them, and they arrive in that order because the specific number is what makes the generic line believable rather than the other way round. Most stores do this backwards, they add the badge everyone has and skip the fact nobody else can copy.
What this will not fix
A buy box cannot rescue a page that has not sold anything yet. If shoppers are leaving before they reach it, the problem is above, in the photography, the offer, or the product page structure as a whole, and no amount of dispatch dates will help. These five changes work on people who are already close.
They also will not survive a slow page. Across the stores we audit, more than 60% have speed problems serious enough to be costing sales, and a buy box that renders two seconds late is a buy box nobody read. Fix the weight first if that is your situation.
And they depend on the rest of the page being honest. A specific sold-out count sitting above a wall of suspiciously perfect reviews does not read as evidence, it reads as another manufactured detail, which is the mechanism our trust signals guide gets at. The five changes are cheap. The credibility they borrow is not.
FAQ
What is a buy box on a product page?
The block holding price, variants, the add to cart button, plus the lines just above and below it. Everything else on the page persuades, the buy box is where the decision happens.
Does putting the price on the button help?
It removes a small piece of arithmetic at the moment of committing. It is the lowest-risk change on this list. Minutes to build, and it makes no claim you have to stand behind.
Are low stock labels dishonest?
They are when the stock is not low. A generic badge is noise shoppers already discount. A specific, true number like sold out 14 times this year works because it could be checked.
Which change should I make first?
The price on the button, then the ships-from and dispatch line. Both are pure information. Neither needs data to back it up, so both can ship the same afternoon.
Do I need an app for this?
No. All five are theme code and carry no monthly cost. A dispatch date that moves with the calendar needs a few lines of Liquid, the rest is markup and copy.