Stock and price changes in the cart must be called out
Aliases: stale cart · cart price change · out of stock in cart
What it is
When someone parks an item, they freeze the price and “still buyable” they saw. On return, stock or selling price may have moved. The cart must name the event: which line, old value, new value, and whether the original plan still purchases. This is only about items already in the cart. It is not when shipping and tax appear on checkout, and not how coupons compare. Updating the number with no callout is an invitation to check out on stale figures.
Why it happens
A cart is a delayed commitment. People budget from the number they saw and assume it held—status quo plus fuzzy memory (“about a hundred,” not the cents). Stock going to zero, a price uptick, a timed price expiring all void that commitment. If only the subtotal mutates, people think they misremembered, or they discover the jump at the last checkout step and read it as a sneak increase. The signal has to sit on the line so the change is an event, not a quiet rewrite. Price drops need the same treatment, or later screenshot audits look like tampering.
Studying it
Change price, stock, or timed offers on items already in the cart, then have people open it. Compare silent number swap, in-row old→new, and a modal only at checkout.
Independent variables: change type (increase / decrease / sold out / tighter limit), cue location (row / top summary / checkout only), whether the old price remains visible. Dependent variables: noticing the change, still proceeding to checkout, checkout abandon, blame that “the price was changed on me.”
Lab participants told to find differences over-detect. Real returners glance at the subtotal. Do not use “was the charged price correct?” as the only measure—the charge can be correct while the person never consented to the new number.
Where it stops holding
Tickers (metals, flights) train people to expect movement; callouts should be denser, but flicker is not a delta. Deposits that lock a price are contractual; ordinary cart logic does not apply. When an item is gone with no substitute, the end state is “this line cannot buy,” plus remove or similar—not a still-checkable row. Bulk admin repricing of in-flight checkouts is an order problem, not a cart badge.
Applying it
- On cart open, reconcile each row; show old and new on the line; uncheck sold-out or under-limit rows and say why.
- Offer a top-level change summary that does not replace the row mark.
- Never change the subtotal alone; block submit if unacknowledged deltas remain, and scroll to the first one.
- Verify by raising one price, selling one out, and dropping one price. Ask someone new what happened to each. Failure: they cannot name the old price, or they still try to check the sold-out line.