NEWSLayers closes first external funding round led by LOI VentureRead more
‹ All Articles

Your "Best Sellers" and "New Arrivals" Collections are Lying to You

Jake Casto12 min read

Key Takeaways

  • "Best sellers" almost always ranks by total revenue. A $400 piece outranks a $40 piece that sells nine times the units, so your top row reads like a price list.
  • "New arrivals" sorts by publish date, and publish date lies. Restocks, re-publishes, and draft-to-active flips reset a product's "Published At" to today.
  • The fix is signal design: pick the right metric, set the right window (7–30 days), and blend demand, margin, availability, and freshness into one score.
  • Sale items, out-of-stock products, and sold-out variant siblings each need an explicit rule so they stop eating the top of the page.
  • You keep manual pins. The system handles the repetitive reordering underneath, per collection.

Why does my "best sellers" collection show the wrong products?

Because "best sellers" almost always means total revenue, and revenue rewards price. Sell five $400 necklaces and you book $2,000. Sell forty-five $40 pairs of earrings and you book $1,800. The earrings are nine times more in demand, yet the necklace sits on top.

That is a measurement bug. Nobody chose it; the default works this way. Your top row fills with your most expensive products while your most-wanted ones sit below them, quietly, on every collection.

It is baked into the defaults everywhere. Our own out-of-the-box "Best selling" recipe ranks on the metric Total Sales (7d), which is revenue. So does the app you are on today. The default inherits the bias; the point is to go past it.

The top row is where the damage lands. Baymard's testing shows shoppers judge a product list by the first items they see, and the default sort order heavily shapes whether they find something to buy.

McKinsey finds personalization leaders drive 5 to 15% more revenue, largely through product recommendations. The same principle runs through collection order: rank the wrong products first and you pay for it on every session.

Where we see it: a jewelry brand we work with had its priciest pieces dominating collection after collection, even though most of their buyers spend well under the store's average order value. The bestseller row read like a wishlist of their most expensive inventory.

What signal should "best sellers" use?

There is no single correct metric. Pick the one that matches the decision you want the row to reflect, then usually blend two or three. Revenue rewards price, units reward demand, and conversion rewards what closes once seen. Add-to-cart rewards early intent; margin rewards profit.

  • Total revenue. Rewards price. Fine for a "top grossing" row, misleading as "most popular."
  • Units sold. Rewards raw demand. The honest answer to what people are actually buying.
  • Conversion rate. Rewards what closes once shoppers see it. Surfaces quiet winners with high intent.
  • Add-to-cart rate. Rewards early intent. An earlier signal than purchases, useful for new products with thin sales history.
  • Margin-weighted. Weights each unit by its margin. Keeps a high-demand loss-leader from owning the whole page.

You build each of these as a LayersQL or Imported (ShopifyQL) metric, naming it with its window so the intent stays obvious, like "Units sold 7d." For a deeper walkthrough of profit-first ranking, see custom ranking on Shopify.

In practice, the bestseller rows worth having blend two or three of these signals rather than betting the whole page on one. That blend is exactly what a composite sort is for, which we get to below.

How long should the sales window be?

The window sets how fast the row reacts. A short 7-day window chases current demand and suits fast fashion and trend-driven catalogs. A longer 30–90-day window smooths noise and suits considered purchases like furniture or fine jewelry.

Match the window to how quickly demand in that category turns over.

A public example: Rainbow Shops built a "What's Hot" sort order on 7-day, style-level sales data and let collection pages reorder every day, which moved conversion up 30%. Fast catalog, short window.

As a rule of thumb, we keep sort windows in the 7 to 30-day range to balance freshness against enough volume to rank cleanly. Anything shorter gets jumpy on low-traffic collections.

The window is only half the decision. The other half is recalculation cadence: how often the score refreshes.

Imported sales metrics can refresh hourly, daily, or weekly, and behavioral metrics update in real time as engagement flows in. A daily reorder on a 7-day window is a common sweet spot for fashion.

Why aren't my newest products at the top?

Because "new arrivals" sorts by publish date, and publish date is easy to pollute. A restock, a re-publish, or a draft-to-active flip resets a product's "Published At" to today.

Six-month-old inventory jumps to the front of your newest collection while a genuine new drop sits below it.

Our default "Newest" recipe uses Published At, same as everyone. To go past it, rank freshness on a signal that restocks cannot reset: a first-surfaced or first-ordered date, or a "days available" measure, built as a custom metric instead of raw publish date.

You can audit your own in a minute. Sort a collection by newest and look for a product you know is old. If a recently restocked style is sitting near the top, publish-date pollution is already active in your store.

Where we see it: a swimwear brand we work with found their "new arrivals" were not surfacing the newest suits at all, because restocks kept resetting publish dates on older styles right before the season.

Stop sale and clearance from eating the top of the page

Sale items convert well, so revenue and units both float them upward until clearance quietly owns your top row. That trains shoppers to wait for markdowns.

A simple rule fixes it: full-price products surface first, sale products rank below, and newness or inventory breaks the ties.

You express this with a conditional sort expression (currently in Beta). It gates a sort term with an "Only when…" condition, so a product only earns that ranking when it qualifies.

Full-price products, where the compare-at price is null, rank by demand first. Sale products fail the condition and fall through to the next expression in the group, so they still rank, just underneath.

Out-of-stock and low-availability: demote, don't just hide

Hiding out-of-stock products can help conversion, but it costs you SEO equity and back-in-stock demand on items that will return.

The stronger move is to keep low-availability items indexed and push them down, so in-stock products own the visible rows while sold-out ones stay discoverable.

You do this with a priority rule, which acts as a hard override on the sort. Set it to Ascending (Demote) to force matching products to the bottom, underneath everything that is buyable.

There is also a soft, relevance-damped demotion for search, so a highly relevant sold-out item resists sinking when a shopper searched for it by name.

Where we see it: a jewelry brand we work with added an in-stock signal so live, buyable pieces stopped sinking beneath sold-out ones. Their word for it afterward was "super easy to use."

The product-family trap

A brand-new, fully stocked color can rank dead last because it shares a parent product with sold-out siblings. When availability is read at the parent level, one sold-out variant drags the whole family down with it.

Availability has to be evaluated at the level the shopper actually buys.

The fix is to key your availability condition or demotion rule to purchasable-variant stock rather than parent stock. A family with one buyable color stays up; a family with zero buyable variants drops.

The same logic protects a nearly-sold-out family. As long as one variant is still buyable, the family holds its earned position, and it only drops once the last variant sells through.

Where we see it: a swimwear brand we work with had a fresh in-stock color sinking on their grid because its size run lived under a product whose other colors had sold through.

"Shop all" is a sort problem too

A "shop all" page dumped in one flat order feels like a warehouse. Physical stores never lay out the floor that way. They group by product type: necklaces here, rings there, bracelets past that.

Grouping shop-all by category and sorting by demand within each group gives the page a shape shoppers can actually navigate.

Mechanically, that is a two-level sort order: product type as the primary grouping, your demand metric as the ranking inside each group.

A jewelry brand we work with wanted exactly this: a shop-all organized by category the way large apparel retailers arrange a store, instead of one endless mixed grid. This is merchandising work at heart.

Sort for who's shopping

The same collection does not have to rank the same way for everyone. A segmented metric lets one sort order read the visitor's context, geography, channel, or device, and pick the matching metric value.

A shopper in one region sees demand that reflects that region rather than a flattened global average.

A Smoothing Factor (default 50) blends segment-specific data with global data, so a low-traffic segment stays stable instead of swinging on ten orders. A campaign that sends one region to a collection can rank that region's fast movers first.

Aligning entry-price lines to first-time visitors is a deeper personalization question, and we treat it on its own rather than bolting it on here.

The fix: a composite, per-collection sort

Stop choosing one metric. Blend demand, margin, availability, and freshness into a single score, tune the weights per collection, and keep manual pins for the moments a human should decide.

That is a Weighted group. Each signal gets normalized to a 0–1 range, signed by whether higher or lower is better, multiplied by its weight, and summed into one number.

Each expression gets a weight as a share of 100, and the weights auto-normalize, so dragging one slider rebalances the rest. A bestseller row might read:

Weighted group (Descending)
  50%  Units sold (7d)
  30%  Conversion rate (30d)
  20%  Margin
       Rank full price first
       Demote: out of stock

Change nothing else and that row already beats the naive default, because it ranks on demand and profit instead of price, protects full price, and keeps sold-out items out of the way.

The manual pins survive all of it. On onboarding calls we run, this is the moment merchandisers relax: the automation handles the daily churn while their hand-placed hero products stay put.

A jewelry brand we work with said as much: "I'm so used to manually pinning things. Now I just let the smart driver do it." For the deeper story on treating sort order with the rigor you give paid traffic, see smarter sort logic.

Where this is going: prompt-driven merchandising

The direction is describing the outcome instead of hand-building the rules. You say "merchandise this collection by last-7-day velocity, full price first, demote anything out of stock," and the sort assembles itself.

The query language underneath already speaks that vocabulary, and an agent-facing storefront is how it gets exposed.

This is what merchandisers keep asking us for. A supplements brand we work with put it plainly: "Save me time. Just save me time." That is the whole roadmap.

The rules do not disappear underneath the prompt. You can still open the sort, read every expression it assembled, adjust a weight, and pin a product by hand.

The instruction is a faster on-ramp to the same controls, so a merchandiser spends more time on judgment and less on setup.

Fix your top row this week

Pull up your "best sellers" collection and ask what metric it actually ranks on. If the answer is revenue, your most expensive products are impersonating your most popular ones.

Then open "new arrivals" and check whether a recent restock is sitting above a genuine new drop. Both are five-minute checks, and both are usually broken.

If you want to see what your own collections look like ranked on demand, margin, availability, and real freshness, we will rebuild one live on your catalog and let you compare it against what you run today.

Bring your worst-behaving collection and your best-selling one. We will also show you the search side of the same engine.

Book a demo →

FAQs

1. Why does "sort by best selling" show my most expensive products? Because "best selling" almost always ranks by total revenue, which rewards price. A high-ticket item that sells a handful of units books more revenue than an affordable item that sells in volume, so it ranks higher.

To rank by real demand, sort on units sold or conversion rate instead of revenue, or blend them.

2. Why is my "new arrivals" collection not showing the newest products? Because it sorts by publish date, and publish date gets reset by restocks, re-publishes, and draft-to-active flips. An older product can jump back to the top the moment it is restocked. Rank freshness on a first-surfaced or first-ordered date, or a "days available" measure, so restocks cannot fake newness.

3. Should out-of-stock products be hidden from a collection? Usually demote rather than hide. Hiding helps conversion but forfeits SEO equity and back-in-stock demand on items that will return. Keeping sold-out products indexed and pushing them down with a priority rule lets in-stock products own the visible rows while sold-out ones stay discoverable and shoppable when restocked.

4. How often should a Shopify collection re-sort? As often as the underlying data changes. Real-time behavioral metrics update as engagement flows in, and imported sales metrics can refresh hourly, daily, or weekly. Fast catalogs benefit from daily reordering on a 7-day window; considered-purchase catalogs do fine on a 30–90-day window that updates less aggressively.

5. Can I keep manual control if the sort is automated? Yes. Manual pins and priority rules act as hard overrides that sit on top of the automated score, so your hand-placed hero products stay exactly where you put them. The automation handles the repetitive daily reordering underneath, and your merchandisers only touch the collections that need judgment.

6. What sales window should a "best sellers" collection use? Match the window to how fast the category turns over. A 7-day window suits fast fashion and trend-driven catalogs where demand shifts weekly.

A 30 to 90-day window suits considered purchases like furniture or fine jewelry. Keeping windows in the 7 to 30-day range balances freshness against enough sales volume to rank cleanly.

Jake Casto · Founder, Layers

Jake Casto is the founder of Layers, the enterprise search and merchandising platform built for Shopify Plus. He previously co-founded Proton, a Shopify Plus engineering studio that shipped more than 400 storefronts, where Layers began as an internal tool for a problem that kept repeating. He writes about search infrastructure, performance, and the engineering behind discovery at scale.

Connect on LinkedIn