
Back in Stock
Capturing demand when a customer's size sells out, with a notify-me flow that allows customers to be kept in the loop.
The problem
Hitting an out of stock size is one of the most frustrating moments in an online shop. The customer has done all the hard work. They've found the product, picked their size, and then they hit a wall. Before looking into it this wall was likely the end of their journey.
We were losing two things in that moment. The customer lost the product they wanted, and we lost any sign that the demand was ever there. We had no way of knowing whether a size sold out because it was popular or because we'd simply bought too few.
What I did
- Mapped the full notify-me lifecycle, from a pre-launch "coming soon" through back in stock to restock, so one system covered the whole life of a product
- Designed a flow that captures an email at the point of intent, with separate alerts for each size when only some sizes sell out
- Built a marketing opt-in into the same moment without making it feel like a tax, to please key stakeholders with minimal user impact
- Worked through the success, error and already-subscribed states with engineering
Mapping the lifecycle
Before I designed a single screen I mapped how a notify-me alert behaves across the whole life of a product. The same need (tell me when I can buy this) shows up in a few different places, and I wanted one joined-up system rather than three features bolted on separately.
A product can be coming soon before launch, back in stock when a sold-out size returns, or reach the end of its life where it's either retired or chosen for restock.
Mapping it this way pushed the easy-to-miss states to the surface. The alert button going inactive so a customer can't subscribe twice. The per-size choice when only some sizes have gone. The email that kicks off each loop again.
The key moment
The whole thing hangs on a single moment of truth. One missed opportunity can lead to millions of pounds of wasted revenue. When a customer picks a size that isn't available, instead of doing nothing we bring up a bottom sheet that turns the dead end into an offer: we'll tell you the moment it's back.
I kept the entry deliberately shallow. The sheet already knows the size they tapped, asks for one thing, their email, and then gets out of the way. We wanted this to be as quick as possible. We don't want to add any more friction after the annoyance of the item not being in stock, we knew we could easily lose a few here.
Designing the bottom sheet
Using a sheet instead of a new page was a deliberate call. The customer never loses sight of the product. It stays behind the sheet and keeps them anchored to that specific PDP. That way we know we're not going to lose them and they remain cemented in their shopping flow.
The confirmation pulls its weight too. "You're on the list" repeats the size and the exact email we'll use, so there's no doubt about what they just signed up for. It closes things off and sends them back to browsing rather than leaving them wondering if it worked.
Outcome
Performance is still being measured, with early results and conversion impact to follow.