Sorting, search and recommendations Weighting by margin and stock Measurable through experiments

Custom e-merchandising software development

E-merchandising determines what a visitor to your webshop sees and in what order: the sorting of category pages, the results from the search bar, the recommendations alongside a product and the place where a promotion appears. It is the digital equivalent of how a shopkeeper arranges their shelves, except you can fine-tune it per category. Appfront builds that decision layer to measure, for ranges with their own logic that a standard module cannot handle.

What e-merchandising does, and where it stops

A merchandising layer sits between your product data and the shop page. It receives a request (a category, a search term, a product page) and decides which items appear, in what order, and with which filters and recommendations alongside. The owner of those decisions is rarely a developer: it is the category manager who knows which item deserves priority, but who can often only enforce that by hard-coding it.

This page is about that decision layer, not the shop around it. If the webshop itself still needs building, start with getting a webshop built. If your problem is fragmented titles, attributes and images from different sources, that belongs in a PIM portal: without consistent attributes there is nothing to weigh. If you sell to business customers with their own ranges and contract prices, different rules apply and the B2B e-commerce portal is the starting point.

What sets this layer apart from simple sorting is that every placement rests on multiple signals, can be explained to whoever runs the trade, and can be reversed without a release. Being at the top is a commercial decision, and it should not stay buried in a platform dropdown.

Sorting and filters

The order on category and brand pages, which facets appear, and the selection a visitor lands on.

Search within the webshop

Synonyms, compound words and typos, and what you show when a search term returns no results.

Recommendations and bundles

What appears alongside an item: add-ons, substitutes or a set, with a different purpose depending on the placement.

Nobody consciously chose the default sorting

Open any webshop, click through to a category page and look at what sits at the top. It is usually newest first or popularity, because that was the top option in the platform's dropdown. That choice was never discussed, yet it determines what almost every visitor sees: the share who click a different sort is small, and attention is concentrated in the first few screens.

Sorting by popularity seems neutral, but it feeds back on itself: whatever sits at the top sells, and whatever sells stays at the top. New collections never break through. Sorting by newest does the opposite and pushes unproven items forward, regardless of margin, stock position or the likelihood they will come back.

More useful is a score per item within its context, in which several signals are weighed: the likelihood this item is bought here, the gross margin, the return rate, stock cover and its place in the season. An item with a healthy margin but a high return rate is worth less net than the margin suggests. Precisely this weighting is rarely tuned well by a standard package: sorting on a single field or pinning an item is usually possible, but a formula that weighs differently per category is not.

What the merchandising layer needs to do

These components recur in almost every project. Which ones you commission depends on what your platform already provides.

Weighing instead of sorting

A scoring function per category that combines conversion likelihood, margin, return rate, stock cover and season, with weights that the commercial team adjusts itself and a preview beforehand.

Search that understands Dutch

Synonyms and brand variants, tolerance for typos, and splitting of compound words: someone searching for regenjas also wants to see the items you have listed as jas with the attribute regenbestendig. Search terms without results are your most honest purchasing list.

Catching zero results

An empty results page is a lost visitor. Show the nearest matches, show which filter is narrowing the selection, and log every zero-result search with its term.

Add-ons versus substitutes

Items bought together are different from items that replace each other. For an available item you show the add-on, for a sold-out item the alternative. Mixing them up produces a row of almost identical products.

Stock as a ranking factor

A sold-out item at the top is wasted space, but hiding it costs findability and the positions it has built up. Demoting it with a visible alternative works better, provided your data distinguishes temporary from permanent unavailability.

Rules with an expiry date

Campaigns, pinned products and exceptions get a start and end date, an owner and a log. Otherwise every rule file gradually fills up with actions that ended last season.

Ordering is not entirely free

As long as you sell your own range, you decide what appears at the top. Once money is involved in a position, that changes. Paid placement in search results without clear labelling has been on the blacklist of misleading commercial practices since the Omnibus Directive (Directive (EU) 2019/2161), which has been incorporated into Dutch consumer law. With retail media, where suppliers pay for visibility in your channel, that is no longer a theoretical provision.

If you also list products from other sellers, there is more to consider. Providers of online platforms must explain, under the Digital Services Act (Regulation (EU) 2022/2065), the main parameters of their recommender systems in their terms and conditions, and the P2B Regulation (Regulation (EU) 2019/1150) requires similar disclosure towards business users. For a webshop selling only its own stock, these obligations do not apply: the line is whether you feature other people's offers.

For promotions, the price display matters: when a price reduction is announced, the previous price shown must be the lowest you applied in the thirty days before. This becomes a merchandising question as soon as promotion blocks are filled automatically.

  • Paid positions clearly labelled
  • Ranking parameters documented and explainable
  • Action labels tied to the thirty-day rule
  • Log of who changed which rule and when
  • Availability consistent with your product feeds and product page
  • Every change reversible without a release
Not yet sure about a large project?

Test your idea first: a working prototype in 1 day

With OneDayBuild, we turn your idea into something tangible in one day for €1,150, so you can see whether further development is worth the investment. Decide to go ahead with the full build? Then we credit the full cost.

Explore OneDayBuild →

When a package is enough, and when custom development pays off

For most webshops this is not a build question. Shopify offers sorting options per collection and a free app for search and discovery, Adobe Commerce has Visual Merchandiser and a recommendation module, and vendors such as Algolia, Bloomreach and Attraqt provide a merchandising module with a control panel. With a conventional catalogue structure you get results faster from these than from a custom build, and we would rather say that upfront than afterwards.

Custom development becomes worthwhile for a range with its own logic that such a module cannot express: products that are only sold in combination, compatibility that determines order, configurable products whose availability differs per variant, or a weighting in which margin, return likelihood and stock age come together. A stalled roadmap also counts: if your vendor keeps the rule you need two releases away, custom development buys back speed.

The real burden of custom development lies in measurement. Without pitting variants against each other, every change is an opinion, and an A/B test on a category page needs considerable traffic to show a reliable difference. For rankings there is an alternative: with interleaving, two ranked lists are alternated within the same results page, which is more sensitive than a split test. If even that is too much, a custom scoring function is hard to justify, and a package with a sensible default configuration is the more honest choice.

  • Your range has its own combination or compatibility rules
  • Margin, return likelihood and stock must be weighed together
  • Availability differs per variant, warehouse or supplier
  • The rule you need is not on your vendor's roadmap
  • Merchandising is part of your distinctive capability
  • There is enough traffic to measure differences

Frequently asked questions about e-merchandising

The questions retailers ask just before they make a decision.

Often you should. Those platforms handle sorting, synonyms, boosts and recommendations well, and for a conventional catalogue that is the quickest route to results. Custom development only becomes worthwhile for rules a module cannot express: mandatory combinations, compatibility, availability per variant, or a weighting that brings together margin, return likelihood and stock age.

Yes. If you sell your own range, you determine the order just as a shopkeeper arranges their shelves. If a supplier pays for a position, that must be clearly disclosed: paid placement without labelling is on the blacklist of misleading commercial practices. If you display offers from other sellers, you must explain the parameters of your recommendation system.

By keeping complementary items and substitutes separate. Complements are derived from what is bought together in a single order, looking at whether a combination occurs more often than chance would explain. Substitutes come from similar search behaviour and from your own attributes. In the basket you want complements; on a sold-out product page, substitutes.

To some extent, yes. Weighting and filtering only work on attributes that are consistently filled: if one supplier records a colour as dark blue and another as navy, every facet becomes unreliable. That belongs in a product information system. In practice both workstreams run in parallel, starting with the attributes the weighting requires.

Yes, but the logic differs. A buyer reorders repeatedly from an agreed catalogue, sees their own prices and often searches by article number. The gain lies in order lists, quick retrieval and an alternative when an item is unavailable, not in impulse placements. Start then with a B2B e-commerce portal that includes merchandising within the ordering process.

The rules, weights and scoring functions are then the real asset, not the code around them. We record them in your own repository, with documentation of the signals used and their origin, so a successor can read them without reverse engineering.

Related services

Merchandising rarely stands alone. These three topics sit directly alongside it.

Building a PIM portal

The source of the attributes you filter and weight on. Without consistent product data, every score remains a guess.

Webshop development

The shop itself: catalogue, basket, checkout and management. The starting point if there is no platform in place yet.

Getting a B2B e-commerce portal built

Customer-specific ranges and contract prices, where merchandising mainly supports finding and substituting items.

A sharper shelf in your webshop?

Tell us how your category pages are currently sorted, what happens when a search returns no results, and which signals you want to factor in. We will first check whether your platform can already do it. If not, we will outline what a custom decision layer would look like.

Edit content