Recently Viewed Rails: The Cheapest Personalization That Actually Helps
Last quarter we audited a store where the personalization budget went entirely to a recommendation engine nobody could explain, while the recently viewed rail, the one feature shoppers actually used, was buried under the footer. That is the usual order of things. The simplest personalization on a store is also the one closest to how people really shop: in loops, not lines.
Shopping is a loop, and the rail is the loop made visible
Few buyers go product page, cart, done. They open six tabs of similar products, close four, lose the fifth, and try to find the jacket with the better lining again from memory. A recently viewed rail answers that exact moment. It is not prediction. It is a short term memory the store keeps so the shopper does not have to.
That is why click rates on these rails mislead teams that compare them with recommendation carousels. The rail is not competing to inspire a new purchase. It is resuming an interrupted one, and its conversion should be judged on assisted returns to viewed products, not on whether it outsells the bestseller block.
Placement and length that respect the task
Put the rail where a returning shopper lands: the homepage below the hero for signed in or cookied visitors, the cart page as a quiet reminder, and product pages below the main detail, never above it, where it would compete with the product the shopper is currently reading. One rail, one job, per page.
Keep it short. Five to eight items is a working memory. Twenty items is an archive nobody scrolls, and it slows the page to deliver products the shopper viewed three weeks ago on a different errand. Expire the list sensibly, and always let the shopper clear it in one tap, especially on shared devices, where a persistent rail can spoil a gift purchase in one glance.
Exclusions decide whether it feels smart or stupid
Filter the rail with intent. Products already purchased should leave it. Out of stock items should leave it or be badged honestly, not sit there as a museum of missed chances. And the product currently on screen should never appear in its own page's rail, a small bug that makes the whole feature look untested.
Gift buying is the other exclusion that matters. A shopper in a gift session does not want the rail learning from the gifts or showing them later. Stores that offer any kind of gift mode should pause both the recording and the display of recently viewed items while it is on.
Measure the resume, not the click
Instrument it plainly: how many sessions view the rail, how many click back to a viewed product, and how many of those clicks end in a cart add within the session. If the third number is healthy, the rail is doing its job even if raw click rate looks modest next to a hero banner.
Then stop redesigning it. Recently viewed is infrastructure. The stores that get value from it set it up correctly once, keep the exclusions maintained as the catalogue changes, and spend their experimentation budget on decisions where the answer is not already known.
Keep reading
Related guides on this site: Gift Mode: A Toggle That Keeps Profiles Clean and Surprises Safe Why This Pick: Recommendation Explanations That Build Trust Practical answers about personalization.
Frequently asked questions
Where should a recently viewed rail appear?
On the homepage for returning visitors, on the cart page, and below the main content on product pages. One rail per page, placed where a shopper resuming a comparison would naturally look, never above the product currently being viewed.
How many products should the rail show?
Five to eight. That matches the size of a real comparison set. Longer lists become archives, slow the page, and surface stale products from unrelated shopping trips.
Should purchased products stay in recently viewed?
No. Once a product is bought, remove it. Leaving it in the rail trains shoppers to ignore the feature, and it wastes the limited slots on a decision that is already finished.
Does recently viewed work for guests?
Yes, with a cookie or local storage, which is how most stores run it. The list lives on that device, which is also its main limitation: it does not follow the shopper to a second device, and it should offer a one tap clear on shared machines.