Time-on-page is one of the easiest metrics to capture, which is probably why it's still treated as a proxy for interest. It's also, on its own, a surprisingly weak signal — because a long dwell time and a short one can both mean "genuinely interested," and both can also mean the opposite, depending on what's actually happening during that time.

A shopper who spends ninety seconds on a product page might be carefully reading every detail before adding to cart. Or they might have opened the tab, gotten distracted by something else entirely, and left it sitting in the background. A shopper who spends four seconds on the same page might be uninterested — or might be someone who already knows exactly what they want, scanned to confirm the price, and is already halfway through checkout in another tab. Dwell time alone can't tell these apart, and treating it as if it can is where a lot of intent-scoring goes wrong.

Five signals that actually distinguish interest from idling

1. Scroll depth relative to page length. Someone who scrolls through an entire product description, into the reviews, and back up to the size chart is doing something qualitatively different from someone whose scroll position never moves. Scroll behavior shows active engagement with content in a way raw time simply doesn't — it's much harder to scroll through a page passively than it is to leave a tab open passively.

2. Return visits to the same product. A shopper who views the same item across two or three separate sessions is showing a specific, cumulative kind of intent that a single long visit doesn't capture. This is often a stronger signal than anything happening within one session, because it demonstrates the item stayed on their mind between visits — that's a much harder thing to fake or misread than a scroll or a click.

3. Comparison behavior within the same category. Opening several similar products in sequence — three different jacket colors, two sizes of the same item — signals someone actively narrowing down a decision, not idly browsing. This kind of behavior is one of the clearest available signs that a purchase decision is actually in progress, because idle browsing tends to be broader and more scattered, not narrowly comparative.

4. Interaction with decision-relevant content. Opening a size guide, checking the shipping and returns policy, expanding a product-question section — these are all actions a shopper takes specifically because they're weighing whether to buy, not because they're passing time. Someone who never intends to purchase rarely bothers to check the return policy.

5. Cart activity, including removals. Adding an item, and especially adding then removing it, is a much stronger signal than either dwell time or page views, because it represents an actual decision being made and then reconsidered — not just attention, but a specific moment of hesitation worth understanding. A removed item isn't a lost cause; it's often the clearest single indicator of exactly where an objection lives.

Why these signals are hard to fake, and time-on-page isn't

The common thread across all five is that they require the shopper to actually do something — scroll, return, compare, check a policy, add or remove an item. Time-on-page requires nothing except an open tab. That's the core weakness: it's the easiest signal to capture and the easiest to generate accidentally, through distraction, a slow connection, or simply stepping away, none of which have anything to do with purchase interest.

This matters practically, not just theoretically, because the signals a store chooses to trigger on determine what its onsite messaging actually responds to. A system built around dwell time will fire messages at distracted, disengaged visitors just as readily as at genuinely interested ones, because it can't tell them apart. A system built around the signals above is, by construction, responding to shoppers who are doing something that actually indicates they're weighing a purchase — which is exactly the kind of context that makes a well-timed message land instead of getting dismissed.

Combining signals beats relying on any single one

None of these five signals is individually decisive, and treating any one of them as a standalone trigger risks the same problem as relying on time-on-page: a false positive here or there that undermines trust in the system. Comparison behavior combined with a return visit to the same item is a much stronger indicator than either alone. Scroll depth combined with an expanded size guide tells a clearer story than scroll depth by itself. The goal isn't to find the one perfect metric — it's to build a picture from several signals that are each individually meaningful and, together, hard to misread.

What to check on your own analytics setup

A useful exercise: pull up whatever's currently used to define "engaged visitor" on your own store, and check whether it's built primarily around time or around action. If it's mostly time-based, it's very likely both over-triggering on distracted sessions and under-triggering on fast, high-intent ones — the shopper who already knew what they wanted and moved quickly toward buying it. Shifting the underlying signal from "how long were they here" to "what did they actually do while they were here" tends to be one of the highest-leverage changes available, because it doesn't require new traffic or a redesigned page — just paying attention to the right thing that was already happening.