Fewer than most stores show. Post-purchase, three or four products read as a confident suggestion. On product and cart pages, one clean row sized to the device works better than a grid. And every row needs a minimum count, at least two, below which it hides itself entirely rather than render sparse.
Fewer, Better
A recommendation row is a suggestion, and suggestions gain force from selectivity. Twelve products is not a recommendation, it is a second collection page, and it reintroduces the choice overload the row was meant to bypass. The practical sizing rules:
- Post-purchase: 3 to 4. The customer just finished buying; a short, confident row respects that.
- Product and cart pages: one row that fits the viewport, with cards-per-row set separately for desktop and mobile so phones are not squinting at a six-across grid.
- Carousels earn their arrows only when the candidates are strong. Padding a carousel with weak picks to justify the format helps nobody.
Let the Row Hide Itself
The worst recommendation row is one lonely product under a heading, which reads as an empty shelf. Set a minimum-to-show, and when the logic cannot find enough qualifying products, the row renders nothing. A missing row costs you nothing; a sparse one costs credibility. In Dynasort, minimum-to-show and per-device sizing are per-placement settings, so the cart row and the home page row can each be sized for their job.
Dynasort sizes every recommendation row to its placement. Install it from the Shopify App Store or see per-placement display controls.