DEV Community

Vivek Singh
Vivek Singh

Posted on

Why we watch every visitor's journey before they say hello

When someone starts a chat on your website, you're already behind.

By the time they type their first message, they've usually been on your site for 3-7 minutes. They've hit your pricing page twice. Maybe bounced off a docs article. Loaded your signup form and closed it.

You know none of that.

The rep types "Hi, how can I help you today?" completely blind. The visitor has to re-explain everything they already looked at. The conversation starts five steps behind where it should.

This bothered us enough that we built something to fix it.


We run a live chat tool called chatbot.witarist.com. When we were building v1, we had a basic setup: visitor messages, agent responses, canned replies. Standard stuff.

Then we started watching our own session recordings.

The pattern was obvious. People who converted to trials had usually visited 4-6 pages before chatting. People who churned in the first week had usually chatted within 30 seconds of arriving, asked a basic question, and left when they didn't get an instant answer.

The high-intent visitors weren't the impatient ones. They were the ones who had done their homework. And our agents had no way to know that.


So we added what we call a visitor radar. Before any chat starts, the agent sees which pages this visitor has loaded in order, how long they spent on each one, whether they've visited before, and their rough geo (city-level, not creepy-level).

It sounds simple. In practice it changes the whole opening.

Instead of "Hi, how can I help?" an agent can open with "I see you've been looking at our enterprise pricing, did you have specific questions about seats or contracts?"

That's not magic. That's just context.


The harder part was the technical side. Visitor sessions have to be stitched across page loads, and you can't rely on cookies alone if people are switching browsers or clearing them.

We ended up using a combination of localStorage fingerprinting (not device fingerprinting, just session continuity), session ID passed as a URL parameter when we can control the referral, and a fallback heuristic that matches by IP + user agent within a 30-minute window.

It's not perfect. We estimate about 85-90% session continuity on a clean single-device visit. Multi-device is still a gap we haven't closed.


The result surprised us. Trial-to-paid conversion went up on accounts where agents actually used the journey data before responding. The lag is that most agents forget to look at it unless it's surfaced prominently, so we moved it to a sidebar open by default instead of a collapsible panel.

The metric that changed our view: average first-response quality score (we run our own internal rubric) went from 3.1 to 4.2 out of 5 on threads where the agent had viewed the visitor journey first. Agents who skip it still average 3.0.

So it's not just about the feature existing. It's about workflow integration.


If you're building anything in this space, the lesson: the chat transcript is the last 10% of the visitor story. Build the other 90% first.

Tool is at chatbot.witarist.com if you want to see it. 45-day free trial, no credit card.

Top comments (0)