How does ob.session work.

ob.session recommends the most relevant products to each visitor based on their live in-session activity (clicks, hovers, scrolls, etc.).

Widgets and collection pages.

■§01
Demo video

Watch it work.

One minute on a live Shopify store: a first-time visitor, and how the page changes.

Transcript

This is a live demo of ob.session, a recommendation app for Shopify. This is an ordinary Shopify store. I've never been here before: no account, no history, nothing for a recommender to look up.

Let's go to any collection. These products were chosen at page load for this visit. This is the order it starts in, because the session hasn't shown anything yet. The grid, the cards, the theme are all untouched. The order is the default collection order, and the store just works as is.

Now I behave like a shopper with a preference. I came looking for shoes, classic ones. I looked at a few pairs, opened one, added one to the cart, with some clicking and hovering around. I like dark colors.

Now we go back to the trousers page. Same collection, same theme, same grid, same products — a different order, and only for this session.

The widget on the product page follows the same signal, so the whole visit stays consistent. Not two systems guessing separately. That's ob.session: reading what a shopper wants while they're still deciding, and shaping the whole visit around it.

■§02
The engine

Six pieces, one loop.

01

A model built for your store.

Recommendations run on a model built from your catalog and what sells in your store. As shopper data comes in, we may train a model specifically for your store. Your catalog, orders and shopper data are never made visible to another merchant.

02

Each next page is personalized.

From the first second a visitor lands, the engine reads their behavior — every hover, scroll, pause, and click. Each next page's recommendations are based on the visitor's full in-session activity, up to the moment that page opens.

03

ob.session reads 100+ behavioral signals.

100+ behavioral signals per session — clicks, add-to-carts, where the cursor lingers, which images get enlarged, how fast they scroll, when they backtrack, how long they pause on a hero image, and many more. All anonymous — no name, no email, no account ID. The weak signals are what let ob.session read intent even when a visitor hasn't clicked or added anything yet.

04

Every visitor gets their own recommendations.

As soon as a visitor opens a page, a request goes to the ob.session engine — while the page is still loading. The engine reads the visitor's full in-session activity up to that moment and returns the recommendations for that visitor. The whole loop happens within 200ms.

05

Widgets, collection pages, or both.

Two ways to show the recommendations on your storefront — both delivered by the same app embed, no separate integration. The first is widgets: recommendation rows that sit inside your existing home, collection and product pages. The second is collection page personalization: the products on your collection grids load directly in the personalized order — same grid, same look. The page opens already in that order, so there's no flicker, no shuffle, no second load for the visitor.

06

Picks come from across your catalog.

On widget rows and homepage placements, recommendations aren't limited to the categories a visitor has browsed. The same behavioral signals that shape the recommendations within a category — what they pause on, scroll past, return to — also tell ob.session when interest is shifting elsewhere. A visitor lingering on a wool coat without converting, then scrolling past every coat below, signals that maybe coats aren't it — and the recommendations start pulling from scarves, gloves, or boots.

■§03
Why it works

Why weak signals add up.

Most visitors are strangers.

80%+ of ecommerce traffic is anonymous. Profile-based engines show them bestsellers. ob.session personalizes within the same visit.

Braze — 2.5B user analysis ↗
80%+not logged in
Anonymous: ob.session reads the sessionLogged in: what profile engines can read

One signal says little. A hundred say a lot.

Each signal rules out part of the catalog. In sequence they leave a few products.

1 signal: could be anything
Hover · Camel Trench Coat · 3.2s
Scroll · past Sweaters
Dwell · Brown Boots · 5s
Backtrack · Trench Coat
100+ signals: a few products
Camel Trench Coat
Brown Ankle Boots
Burgundy Scarf
Illustrative

Measured, not assumed.

A/B test vs an existing third-party recommender · 73,039 sessions

See the pilot results →
+43.3%
Revenue
+30.3%
Orders
+10.0%
Avg order value
The reasoning in full

Most sessions come from people who are not logged in and have no history with your store. Engines that need a profile have nothing to read, so they fall back to bestsellers. The session is the only data there is.

A single hover means almost nothing. A hundred signals in sequence — what was opened, skipped, returned to, and for how long — narrow down what this shopper is after within a few pages.

What someone wants today often differs from what they bought last season. Reading the current session keeps recommendations tied to the reason for this visit.

§EOF·take action30 min

See it live.

A 30-minute call. See ob.session live on our pilot store — and walk through what it'd take for yours.

Get started on Shopify