Introduction
"Goes well with this" suggestions are a key driver of average order value on an EC site.
But when you leave them entirely to a mechanical algorithm, they often don't land the way you'd hope.
On an apparel and gear EC site I worked on, we placed cross-sell slots on both the cart page and the product detail page (PDP), and built a system where a human decides what gets suggested, right from the admin UI. This article walks through the big picture and why we chose an operations-first design.
Why "Humans Pick" the Cross-Sell
Where automatic recommendations fall short
Recommendations that automatically surface related products from purchase history are powerful, but not all-purpose. A brand-new product has no accumulated data, so it never even shows up as a candidate.
Highly specialized combinations are another weak spot. Judgments like "this jacket pairs well with this repair part and this inner layer" are hard to make without real product knowledge. Looking at data alone, you sometimes end up with unrelated items that just happened to be bought at the same time.
The idea of curation
So we adopted curation driven by human judgment. A staff member with product knowledge picks the combinations — coordinated outfits, repair parts, related accessories — reasoning that "anyone buying this will probably need this too."
Auto-extracted from purchase data. Weak for new products and specialized combinations; unintended items can appear.
A knowledgeable staff member selects the combinations. Deliberate suggestions with clear reasoning.
The two aren't mutually exclusive
That said, this isn't a rejection of automatic recommendations. A practical split is to let automation handle staple products and well-stocked categories, and have humans override only where intent matters. What this topic covers is the operational and management machinery that supports that "humans pick" part.
Two Cross-Sell Slots
The cart-page cross-sell
The cart-page slot varies its suggestions based on what's in the cart. You configure rules like "if this product is in the cart, suggest this" from the admin screen (cart-crosssell).
The cart page, right after someone has decided to buy, is a moment when "one more item" purchases happen easily. Suggesting a small item that closes the gap to free shipping, or a consumable, gets people to add one item without any pressure.
The product page (PDP) cross-sell
The PDP slot links suggested products to each individual product. Because it lines up "things you'd use together" for the product being viewed, it nudges shoppers who are still deciding.
With many products, the configuration becomes huge, so we supported CSV import/export here to allow bulk maintenance.
The overall structure
Rule configuration & CSV I/O
Shown by cart contents
Shown per product
Pick a variant and add it right there
Building a System That Keeps Running
Keep it in a "touchable" state with the admin UI
Even great suggestion rules go stale if they stop being updated. What you "want to recommend right now" changes with the seasons, sales, and stock levels. That's exactly why an admin UI that lets staff change settings themselves — without an engineer — is indispensable.
When configuration is buried in code, every change requires a development request, and eventually no one updates it. Keeping it touchable is the single biggest condition for operations that last.
Bulk maintenance with CSV
Because PDP cross-sells are numerous, editing them one at a time in the screen is unrealistic. So we made it possible to export the current settings as CSV, edit them in bulk in a spreadsheet, and import them back.
The strength of spreadsheets
Editing hundreds or thousands of links while keeping the whole picture in view is something spreadsheets do better than a web screen. A task like "add a repair part to every product in a new category at once" finishes in an instant.
Presenting without being pushy
Too many suggestions backfire. Making the slot too prominent, or lining up loosely related products, can actually get in the way of the purchase. We were careful to present suggestions naturally, as "just for reference," leaving room for shoppers to notice and choose for themselves.
Conclusion
Cross-sell pays off not just by chasing algorithmic accuracy, but by making the most of human judgment and building it into operations that keep running. The three key points of this design were:
- Compensate for what automatic recommendations miss — new products and specialized combinations — with human curation
- Serve suggestions suited to each slot: the cart and the product page
- Let staff sustain operations comfortably through an admin UI and CSV
For a deeper look, see the sub-articles below.
Designing "One More Item" Cart Cross-Sell
A closer look at why suggestions work in the cart, and how to present them without being pushy.
Humans Pick the Suggestions — Admin UI and CSV Bulk Operations
How per-product suggestions are edited in an admin UI and run in bulk via CSV.
Variant-Aware Cross-Sell UX
A one-step add-to-cart UI where you pick a size directly inside the suggestion slot.