The behavior engine
How Yokaify decides when to step in — the signals it reads and the intent patterns it recognizes.
The signals
The widget reads lightweight, anonymous behavioral cues, including:
- Scrolling — speed, depth, and rapid back-and-forth.
- Dwell — how long a visitor lingers on a section like pricing or reviews.
- Cursor movement — including a fast bolt toward the top of the window (reaching for search or the back button) and exit-intent toward the address bar.
- Text selection — what a visitor highlights, mapped to a concern such as returns, shipping, sizing, or price.
- Form friction — repeatedly re-focusing the same field, or hunting for a coupon code.
- Cart state — whether there are items in the cart.
- Mobile gestures — touch dwell, rage taps, pinch-zoom, and scroll pauses.
The intent patterns
Those signals roll up into a few recognizable patterns:
- Can't find — the visitor is searching or lost (rapid scrolling, cursor slamming to the top).
- Objection — a concern is holding them back (dwelling on price, returns, or shipping; highlighting policy text).
- Something's broken — friction or frustration (form struggles, rage taps, validation errors).
- Comparing — decision paralysis (revisiting pricing, jumping between tabs).
- Wrong page — they've landed somewhere that doesn't match their intent.
Each pattern gives the AI context, so the mascot opens with something relevant instead of a generic greeting.
Guardrails
The engine is tuned to respect the visitor:
- Per-visitor cooldowns and a daily cap.
- A bot pre-filter that ignores automated traffic.
- A holdout group that is measured but never shown the mascot (see Measuring impact).
- Dismiss / quit signals that silence the mascot for the rest of the session, synced across tabs.