> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nextintent.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# The moment

> What NextIntent means by a stuck shopper: the signals it reads, the idle rule, the situations it recognises, and the ones it deliberately leaves alone.

A moment is the point where a shopper has stopped and the reason is visible on the page. NextIntent reads each visit as it happens and looks for that point. Most visits never have one. This page explains what it reads, what counts as stuck, and what it ignores.

## What it reads

The storefront script reports how the shopper moves, not who they are:

* **Time and stillness.** How long the shopper has been on the page and how long since they last scrolled, clicked or typed.
* **Scrolling.** How far down the page they are and whether they keep changing direction (reading the same part of a page over and over).
* **Clicks and options.** Clicks on the page, and on a product page, how many times a variant (a size, a colour) was switched without adding to the cart.
* **Pages.** The path through the store: product to cart, cart to shipping policy and back.
* **Form messages.** When your theme shows a validation message, for example "Enter a valid discount code", the script reports the message text and which field it was on. Anything the shopper typed is hashed on the page and dropped. See [Privacy and data](/shopify/privacy-and-data).
* **The cart.** What is in it, the total, and whether a discount code was accepted or declined.

## The idle rule

A shopper who is still moving is not stuck. NextIntent waits for the shopper to stop. The base rule is at least 8 seconds since the last scroll, click or keystroke, and never more than 180 seconds: after three minutes of nothing, the shopper has probably walked away, and a sentence would be talking to an empty chair.

On top of the base rule, each situation has its own timing. The cart has to have sat for 30 seconds. A declined code needs 10 seconds of stillness after the message. Flipping sizes needs 45 seconds on the page. The numbers are tuned so that the shopper has clearly paused and the sentence arrives while they are still deciding.

<Info>
  When you test this yourself, the waiting is real. Moving the mouse or scrolling resets the clock. See [Try it on your own store](/shopify/test-it).
</Info>

## The situations it recognises

| What the shopper did | What NextIntent reads it as | What it can say |
| - | - | - |
| Cart open, 30 seconds on the page, 10 seconds still | Sitting on the cart | The free shipping line, and what closes the gap |
| Typed a code, the page said it was invalid, then stopped | Discount code declined | That the code is not valid here, then a fact (or a real code, if offers are on) |
| Tried two or more codes on the cart, then stopped | Discount codes retried | Same as above |
| Switched a size or colour three or more times in 45 seconds, no add to cart | Flipping options without adding | The product's note, if you wrote one |
| The same form error shown twice in five minutes | Form error repeated | Depends on the field; often nothing |
| Many pages in a few minutes, mostly shipping, returns, size guide | Churning through help pages | The fact those pages hold, in one line |
| Hovered on one part of the page for a long time after being active | Settled attention | Depends on what they settled on |

Each moment is written to **Moments** with the reason in plain words, so you can see which of these it was.

## What it leaves alone

Just as important is who never hears from it:

* **Shoppers who are moving.** Browsing at a normal pace, reading, comparing. No moment.
* **Shoppers who are typing.** A shopper filling in a form is busy, not stuck, even if they pause.
* **Shoppers who left the tab.** The script knows when the page is hidden or the shopper navigated away.
* **Shoppers in checkout.** Checkout is Shopify's, and a card there would be in the way. The app knows a shopper is in checkout and stays out.
* **Shoppers who just bought.** Nothing for 24 hours after an order. See [Quiet after purchase](/shopify/how-it-works/quiet-after-purchase).
* **Shoppers already spoken to.** One sentence per visit. A shopper who has seen a card does not see another.
* **Shoppers who were idle the whole visit.** A page opened and left in a background tab is not a stuck shopper.
* **Shoppers held back to compare.** A random share are left alone so Money can measure. See [Held back to compare](/shopify/how-it-works/held-back).

Every one of these shows up in **Reasons** and in the moment's own page under "why we stayed quiet", so nothing is silent without a stated reason.

## What a moment is worth

A shopper who has stopped in the cart with \$58 in it is the most valuable visitor in your store at that second. Most tools reach them an hour later by email, if they left an email. NextIntent reaches them now, on the page, with the one fact that answers what stopped them. On the Money page you can see how often that shopper buys compared with the ones left alone.

## Related

* [What it says](/shopify/how-it-works/what-it-says)
* [What shoppers see](/shopify/how-it-works/what-shoppers-see)
* [Reasons](/shopify/reports/reasons)
* [Moments](/shopify/reports/moments)
