Product · Recommendations

The next item worth showing — from the first visit.

Recommendations blend catalogue similarity, what visitors open together and each visitor's own history. A cold-start ladder keeps the row useful on day one, and diversification keeps it from repeating itself.

How “bought together” is learned

Edges between products, built from your visitors' visits. Thicker lines mean stronger evidence; bestsellers are weighted down so they don't pair with everything.

bought together · 0.9bought together · 0.7opened next · 0.5viewed together · 0.6PhoneCaseChargerScreen glassSimilar phone

Rebuilt automatically from the last 90 days. An edge needs at least two visits. Manual “never suggest” links always win.

Models

Similar items

Item-to-item similarity over embeddings, without re-embedding the seed on every call.

Clicked together

Items opened in the same session as the seed — the cheapest behavioural signal, no long-term identity needed.

Personal

A visitor's decayed history of clicks and queries reshapes ranking; the weight ramps up as history grows.

Trending and popular

Index-wide popularity and this week's trending queries as cold-start fallbacks.

Quality

Diversity (MMR)

Maximal marginal relevance keeps near-duplicates out of the same row.

Explainable

Every item comes with a reason and a score breakdown — similarity, affinity, popularity — for debugging and trust.

Consent-aware

Personal signals are used only when the visitor's consent allows it.

Coming next: the product graph

Designed in detail; see the graph page.

Complements, not lookalikes

Learns what is bought together in one visit — the charger with the laptop. Ask for it with strategy: complement.

Toward the purchase

Will rank by how likely an item is to lead to a purchase, not only by similarity.

Specifications

Items per request
1–50
Excluded ids per request
up to 200
Strategies
complement, next, co_view, similar, personal, popular, trending
Visit window
30 minutes of inactivity ends a visit
Product graph rebuild
automatic, from the last 90 days of events
Minimum evidence for an edge
seen in 2 or more visits
Personal signals
used only with consent when the index requires it

Before you start

  • Click and view events (the widget sends them automatically)
  • Add-to-cart and purchase events from your backend for bought-together
  • Product embeddings for similar items — or plain text fields as a fallback

How to start

  1. 1

    Send events

    The widget records clicks and views automatically; from your backend, post add-to-cart and conversion events with an order value.

    POST /api/v1/indexes/products/events
    { "type": "conversion", "document_id": "sku-123", "value_cents": 459900 }
  2. 2

    Ask for recommendations

    For a product page, a cart or a returning visitor.

    POST /api/v1/recommendations
    { "index": "products", "seed_document_id": "sku-123", "limit": 8 }

Questions