~ / how it works

How the ranking engine works.

No black box. You choose the signal, QSortby scores your catalog in real time and keeps in-stock first — or personalizes per shopper — then proves the lift with a built-in A/B test and revenue attribution. Here’s the inside.

Step 1 · Choose

Eleven signals to rank by.

Set the rule per collection, over a window you pick — a rolling last N hours or days, anywhere from an hour to a year, or a fixed range like last week, a specific month, or any two dates. Change it anytime; preview before it goes live.

Sales

Rank by what sells

  • Best selling (velocity) — Units sold over your window — the classic top-seller.
  • Top revenue (GMV) — Summed order value, so high-ticket products rank on the money they make, not just unit count.
  • Most profitable (margin) — Product margin — lead with what actually earns.
  • Customer favorites — Repeat-purchase rate — the products buyers come back for.
Momentum

Catch what’s moving now

  • Trending / rising — Sales this window vs. the one before it — surfaces accelerating products, not last season’s hits.
  • Selling fast — Velocity relative to remaining stock — what’s about to sell out rises first.
Engagement & conversion

Rank by shopper behavior

  • Best converting — Conversion rate — the products that turn views into orders.
  • Most added to cart — Intent, one step before purchase.
  • Most clicked / highest CTR — What earns the click from the grid.
  • Longest dwell / most impressions — Attention captured on the page.
Catalog

Rank by catalog position

  • Newest arrivals — Freshness — give launches their moment.
  • Manual order — Your own sequence, kept in place while everything else re-sorts around it.
Step 2 · Rank

Scored live. In-stock first.

  • Re-scored on every order. Shopify order webhooks feed QSortby directly, and the collection republishes on a cadence you set — as tight as every five minutes, not a nightly batch.
  • Sold-out steps aside. Out-of-stock products are bucketed to the bottom automatically, and climb back to their earned spot on the next sync after you restock.
  • Windowed & deterministic. The order is a transparent function of the signal + window you chose — no mystery. You can see the exact resulting order.
  • Preview before publish. Every change shows a before/after diff — added, removed, moved — so nothing goes live until you say so.
  • Standard Shopify collections. QSortby maintains native collections and a Best Sellers collection — no theme code, no custom storefront work.
  • Per-collection rules. Each collection can rank on a different signal and window — trending for new launches, conversion for a wide core range, availability for seasonal lines.
  • Manual override. Reorder specific products by hand where you want an editorial call; the rest keeps sorting itself.
  • Products you never want featured. Keep a shop-wide exclusion list — the loss-leader, the sample, the line you're discontinuing — and it stays out of every ranked feed and every app-managed collection. Exclude per collection too, when it's only wrong in one place.
Step 2¼ · Publish

It lands as your collection, in your theme.

A ranking is only useful once it reaches the storefront, and that is where most merchandising apps ask for trust they have not earned — they publish on their own schedule, in their own markup. QSortby does neither.

  • See it before it publishes. A before/after view of the exact order the next run would produce, against what is live now — real product cards, with added, removed and reordered counted for you.
  • Approve, then push. Turn auto-publish off and a new order waits for you instead of going live. Nothing reaches a shopper without your say-so.
  • Or keep membership yours. In manual mode you choose which products belong in the collection and QSortby only decides their order — it never adds or removes a product you did not pick.
  • Every version on record. Each published order is stored with the configuration behind it, so a past ordering can be read back — and matched against the revenue it was attributed.
  • Rendered by your theme, not ours. The best-seller and For You blocks can hand Shopify your own product-card snippet, so the cards come out with your markup, your CSS and your badges. Most apps ship their own card markup — which is why they never quite match.
  • Pairing keeps sets together. Group products by vendor, type, tag or a metafield, and the group holds together when the collection re-sorts — in an order you set inside it. You choose what happens when one of them sells out: keep, hide, demote or split.
  • Standard Shopify collections. What QSortby maintains is an ordinary collection, published to every sales channel. Uninstall and the collections stay exactly where they are — there is nothing proprietary to unwind.
  • Your own browsing never counts. Inside the theme editor the blocks render so you can arrange them, but nothing is recorded — your setup work cannot skew the ranking data.

Preview, manual order, manual membership and product exclusions are on every plan, including Free.

Step 2½ · Personalize

A "For You" feed per shopper.

Beyond one order for everyone, QSortby can render a per-visitor feed. Visitors are classified into types you define, and each type gets a ranking that blends weighted signals — a live, personal front row.

  • Visitor types you control. New, returning, loyal/VIP — each with its own weighting recipe.
  • Blended signals. Top-sellers, recently viewed, session intent, cart history, price affinity, category affinity, repeat / replenishment timing, new arrivals, return-rate.
  • Your worst products stay out of the front row. Poorly-rated items are held back once they have enough reviews to judge, and a high return rate quietly sinks a product rather than banning it. Both thresholds are yours to set.
  • First-party only. Built from behavior on your store — no third-party data, no cross-site tracking. QSortby sets no cookies of its own; a visitor id lives in your storefront's own local storage.
  • Cold-start safe. A brand-new visitor still gets a strong best-sellers order while the feed learns.
Step 2¾ · Read the session

Not who they've been — who they are right now.

Recommendation engines rank on purchase history, so a first-time visitor gets nothing and a returning one gets last year's taste. QSortby reads this visit — pace, dwell, revisits, comparisons, hesitation — and reads the intent behind this visit from their first pause, before they've bought anything.

  • Passive signals only. Nothing is asked of the shopper — no quiz, no login, no survey. The read comes from behaviour your storefront already generates.
  • Ten signals, weighted by you. Recently viewed, category affinity, cart history, repeat purchase, top seller, new arrival, session intent, return rate, price affinity, mood match — each carries a weight you set, written and edited in plain words rather than tuned inside a model. Profiles stay behavioural vectors, never a note about a person.
  • Tag once, then it runs. The read matches against mood tags on your products — comfort, gifting, reassurance, effortless, classic and so on. QSortby drafts them across your catalog, you approve them, then switch the signal on per collection. Untagged products rank exactly as they did before.
  • Confidence-gated. A low-confidence read falls back to your standard best-sellers order rather than guessing at a shopper.
  • Look before you apply (Pro). The layer reads and reports but changes nothing on your storefront. You see the mix of sessions your store actually gets — the read without the risk.
  • Live apply (Growth). The read reorders that shopper's feed from their first pause onward, and the same A/B + attribution machinery from Step 3 measures whether it actually paid.
  • Every serve is recorded. What was shown, in what order, on which signals, and what the shopper did next. A sort stays auditable after the fact — you can open any past ordering and see the exact configuration that produced it.
  • Cost-capped by design. Per-session inference has a real running cost, so reads are cached per behaviour pattern, product embeddings are cached, and every store has a daily ceiling. Hit the cap and the read falls back to the rule-based classifier — never a broken feed.

Personalization is never used to manufacture pressure — no false urgency, no exploiting a low mood. The point is relevance, not leverage.

Step 3 · Prove

How we answer "maximum conversion value."

You don’t have to trust the sort. QSortby runs it as an experiment and measures the money it actually drove.

Illustrative. QSortby splits visitors between your current order and the new sort, then reports the real funnel each drove.

  • Visitor-split A/B. Shoppers are deterministically split between control (your current order) and the QSortby sort — the same visitor always sees the same arm.
  • The full funnel, per arm. Impressions → clicks (CTR) → add-to-cart → orders, measured for each variant from a first-party pixel.
  • Revenue attribution. Orders are tied back to the QSortby feed a shopper interacted with, so you see influenced revenue per variant — not just clicks.
  • Statistical significance. QSortby won’t crown a winner on noise — it reports confidence, so you ship the sort the data actually supports.
  • Tagged in your own Admin. Every influenced order is tagged in Shopify — by surface, with the variant on the order itself — so you can segment, filter and report on it with the tools you already use, not only inside QSortby.

Attribution is influenced / last-touch — it shows which sort a converting shopper engaged with, an honest directional read of lift, not a lab-grade incrementality study.

Step 4 · Raise the order

The same ranking, pointed at the basket.

Once a shopper has chosen, the question changes from "what should they find" to "what else belongs in this order". QSortby answers it from the same live signals — so every suggestion is something that's selling and in stock, never a static list you maintain by hand.

  • Cart drawer & cart page. Suggests what's selling fastest right now, skipping anything already in the cart. Free plan.
  • Free-shipping progress. Shows the gap to your threshold and suggests a product that actually closes it — never a $5 item against $40 missing. Free plan.
  • Frequently bought together. Real co-purchase pairs from the orders that come in after install; falls back to best sellers until there's enough pair data, so the block is never empty. Starter.
  • Thank-you page. The order is already placed, so an offer here can't cost the conversion. Every payment method, every Shopify plan. Starter.
  • Popups, any page. Fire on add-to-cart, exit intent, a timer, or a cart near free shipping — gated by AND/OR rules so they don't fire at everyone. Pro.
  • Inside checkout. Runs before payment, so an accepted offer joins the same order rather than starting a second one. Shopify restricts this surface to Plus. Growth.

Sold-out and already-in-cart products are filtered out of every surface, and a failed request hides the section rather than blocking the cart. On Growth, the session read chooses between the candidates in the cart, popup, checkout and thank-you offers — same cart, different suggestions for a shopper who is comparing carefully and one who is buying a gift in a hurry.

Data & privacy

Your data, used to rank your store.

  • First-party only. A pixel on your storefront — no third-party cookies, no cross-site tracking, nothing sold or shared. QSortby sets no cookies of its own.
  • GDPR-ready. Shopify’s data-request and redaction webhooks are honored; visitor data is purged on request. Where your theme loads Shopify’s consent API, we honor it — see the privacy policy for exactly what is collected and when.
  • Coarse by design. IP addresses are anonymized before storage; profiles are behavioral, not identity.
  • Shopify-native billing. A permanent Free plan, 10 days of full access on install, and paid plans billed through Shopify’s Billing API on your normal invoice.
Included on every plan, including Free
  • Real-time ranking on the signals above, in-stock first
  • Sold-out demotion and restock promotion
  • A/B testing and revenue attribution — the whole Step 3 loop
  • Manual override, before/after preview and product exclusions
Needs a paid plan
  • More than one managed collection — Starter and up
  • Per-shopper "For You" feed, and windows shorter than 7 days — Starter and up
  • Customer-event analytics and AI authoring — Pro and up
  • Per-shopper layer: read-only on Pro, applied live on Growth

See the full plan comparison →

Get started

See the engine on your catalog.

Install free and run it on one collection — or book a 30-minute demo and we’ll screen-share the experiment + attribution on your real collections.

10 days full access Install free