Behavioral Assists

Help arrives before the click away

Most shoppers never click a chat button — they hesitate, stall, and leave. The behavior engine reads how each visitor moves, recognizes the stuck moment, and sends the mascot in at exactly that second.

behavior enginelive
dwell00:47
scroll oscillation×4
exit vector↑ nav
intentthreshold
Assist deployed · size reassuranceholdout excluded · logged

See it working

Interest
Scanning...
State
Active
Detection

It sees hesitation as it happens

Scroll patterns, pointer movement, dwell time, variant flip-flopping, idle carts, exit intent — the engine scores each visitor live from how they actually behave on the page, not from a crude “show popup after 10 seconds” timer.

Your Site
Other Tab
Active
Restraint

It knows when to stay quiet

The engine never interrupts active reading, halts its logic the moment a visitor switches tabs, and paces itself per visitor across sessions. Someone who dismissed it yesterday is left alone today.

The Perfect Assist
"I noticed you're hesitating on sizing. Want me to check what fits best?"
Velocity Check
Scroll depth 85%
Dwell Time
42s on Pricing
Focus Lost
Tab switched (2s)
Friction Point
Rage click detected
Replay

The perfect assist, replayed

The full sequence — attention drifts, the engine scores it, the mascot steps in with the right message on the right element — exactly as it runs on a live store.

What you get

Real behavior signals

Scroll patterns, pointer movement, dwell, variant flip-flopping, idle carts, exit intent — the engine reads how a visitor actually behaves on the page, not a crude “show popup after 10 seconds” timer.

The right intervention

A nudge, an answer to the question they were about to leave over, or a scoped offer — the assist matches the moment, on the page where hesitation happened.

Paced, never pushy

Per-visitor pacing limits frequency, dismissals teach it to back off, and returning visitors are remembered across sessions. A visitor who said no yesterday is left alone today.

Honest measurement

A holdout group of visitors never receives assists. Comparing the two groups gives you causal lift — the conversions assists actually created, not just touched.

Bot-proof quotas

Bot traffic is filtered before it reaches the engine, so your monthly assists are spent on humans.

Full audit trail

Every assist is logged — trigger, page, action, outcome — so you can audit the engine’s judgment anytime in the dashboard.

How it works

  1. 1

    The engine watches, locally and lightly

    A small worker observes behavioral signals on the page without slowing it down, building a live picture of intent and friction.

  2. 2

    Hesitation crosses the threshold

    When the pattern says “this visitor is about to leave over something solvable,” the engine picks the best intervention for that page and moment.

  3. 3

    The mascot steps in

    An expressive character — not a popup — offers exactly the help the moment calls for: an answer, a reassurance, or a qualified offer.

  4. 4

    The outcome is measured

    Engagement, conversion, or dismissal — every result feeds the dashboard and the lift calculation against the holdout group.

We publish the math we use: a randomized holdout means some visitors never get assists. It costs us a little short-term conversion to prove — honestly — that the rest is real.

Common questions

How is this different from exit-intent popups?

Exit-intent popups fire one crude signal with one blunt response for everyone. Assists read many behavior signals, choose page-appropriate responses, pace per visitor, and are measured against a holdout. And they come from a character, which changes how people receive them.

Will it annoy my visitors?

Restraint is built in: per-visitor pacing, backoff on dismissal, and cross-session memory. The engine optimizes for outcomes, and pestering hurts outcomes.

How do I know assists are causing conversions, not just present for them?

The holdout group. Visitors in it never see assists, so the difference in conversion between groups is causal lift — the number on your Results page.

Do assists slow my site down?

The widget loads async off the critical path and the behavior worker is deliberately lightweight. Your page renders first, always.

See it on your own store

One script tag, live in minutes. Measured with a real holdout, so you'll know if it's working — not hope.