By the Onsites AI team · Last updated · 5-minute read
Proactive chat is the highest-variance tool on the site: done well, it's the moment a salesperson walks over at exactly the right second — the buyer mid-comparison, one question from proceeding — and done badly it's the corner bubble that interrupts a scroll to ask "Can I help you find something?" and teaches the visitor to distrust the page. The difference isn't luck; it's rules. Proactive chat earns its keep when every trigger passes four gates — eligible visitor and moment, contextual line, cooled cadence, staffed clock — and this guide writes those gates as deployable rules, drafts welcome lines that get replies, and shows how to tell within a fortnight whether your triggers convert or repel.
Most "annoyance" is mis-triggering on people who never asked for the conversation. The eligibility stack that works: page intent — pricing, comparisons, checkout, plan features are eligible; blog tops, the homepage on first-ever visit, 404s and docs are not (the placement doctrine applies — meet hesitation, don't invent it); dwell and movement — 15–45 seconds on the page, and never as the visitor's mid-scroll momentum carries them (a trigger that interrupts a scroll reads as an ad, the one channel-shaped insult buyers have learned to swat); returning intent — a visitor's third pricing session in a week has earned the walk-over, which the tracking layer sees; cart and form signals — a stalled start-form is the strongest single trigger a SaaS desk has. The exclusion rules matter as much as the triggers: someone who closed the chat deliberately this visit gets silence for the rest of it; someone mid-conversation in another channel gets no duplicate; someone inside a paid dashboard gets whatever support entry they already have. Eligibility is where the tax is paid or avoided — trigger on intent, and the annoyance rate starts near zero.
The trigger's whole permission comes from its first sentence — generic copy voids the whole exercise, because "Hi there!" announces a bot while a named context announces a person. The families that earn replies, by page: pricing — "That page compares the two meters. If it helps, your seat count's split under both is $x vs $y" (the worked math, offered not lectured); checkout/form — "Stuck on the workspace name? It's editable later — the rest takes two minutes"; article depth — "You've read the freight piece — want the template desk that runs it?"; return visitors — "Third time pricing this — anything I can compare concretely?". The mechanics that respect the read: a question mark, not an exclamation (the survey discipline taught this — people answer questions, not enthusiasm); under twenty words; and the option to ignore it visibly — the bubble offers an X and takes no offense, because a trigger that must be answered is a modal, and modals are the annoyance tax itself. Pre-write each high-intent page's line with the desk's template discipline — drafts reviewed quarterly as the pages change.
The cadence rules, stated as defaults: once per page per visit, hard cap of two proactive triggers across any single visit, 24-hour silence after a deliberate close or ignored trigger (an ignored trigger is a "no" — the desk that re-asks is the nag cadence wearing a badge), and permanent silence for anyone who ever said "please stop" — recorded on their record, surviving cookie clears. And gate four is the one that makes the first three worth anything: staffing honesty. A proactive chat is a promise of a fast human; if nobody's minding the queue at 21:40, the trigger stays shut and the widget shows its out-of-hours path instead — the clock the channel promises is precisely what a proactive opening promises loudest. AI-assisted answering helps the gate pass (drafts in seconds, human confirms — the copilot rhythm), but the name on the send still belongs to someone present. The gates are cheap to run: four settings and a page-family list, reviewed when the site changes. The teams that skip them aren't saving rules — they're spending trust at the exact moment a first reply might have bought loyalty.
Teams stall on writing triggers from nothing, so here's the starter set — one line each, deployable in an afternoon and revisable by evidence. Pricing page, 30s dwell: "That page compares the two meters — happy to run your seat count through both if useful." Comparison article, 40s: "You're deep in the [vendor] piece — want the honest fair-loss summary? It's the last section." Start form stalled 60s: "Stuck on workspace name? It's editable later — the rest takes two minutes." Checkout/cart idle 45s: "Anything about the plan holding you? I can answer in-line." Return visitor, 3rd pricing session: "Third visit to pricing — want me to just compare your exact case against the alternative you're weighing?" Post-demo guide, 45s: "Questions after the trial piece? The support desk here answers these daily." Freight/trade vertical pages: "This desk runs RFQ-to-proforma flows — worth seeing the thread shape on a real quote?" Everything else — home tops, blog entries, 404s, docs, dashboards — stays silent by default. Two operating notes: every line ends in a question because questions get answered, and each line names something only a human watching could name — that specific context is the entire difference between a salesperson walking over and a bubble interrupting. Seven triggers live at once is plenty; the desk that reviews reply-rate monthly retires and promotes lines the way it retires any template.
Proactive triggers die of unmeasured optimism, so give yours a scoreboard. Rate, per gate-passed cohort: trigger shown vs reply rate — under 3% replies sustained means the line or the moment is wrong; 8–15% is the working band for high-intent pages. Closed-without-reply rate: above ~60% means the trigger reads as automated — revise copy before frequency. The canary pair: chat-CSAT on proactive threads vs reactive threads — proactive should match reactive (the satisfaction tags from the two-question ritual); a gap is the annoyance tax appearing exactly where you're proudest. Sentence-level signal: replies containing "no thanks"/"I'm just browsing" with no follow-up question count as declines — three in a row on a line drafts its retirement. A worked fortnight from a real desk: week one's generic trigger fired 400 times, 9 replies (2.2%), 71% closed unread — off it. Week two: context lines on two pages only, capped, off-hours suppressed — 140 shots, 16 replies (11.4%), closed rate 38%, two quote requests and one start in-thread. Same widget, same visitors, fourth the fire and five times the welcome. Proactive chat isn't a frequency setting — it's a judgment, encoded, reviewed with the same weekly card as everything else on the desk.
When should a site open a chat conversation proactively?
When a visitor is on a high-intent page (pricing, comparison, checkout, deep guide), has dwelt 15–45 seconds without mid-scroll, ideally on a returning or form-stalled visit — and the line names that specific context. Never on first-ever homepage visits, 404s, or while interrupting scroll momentum.
How do you avoid the annoying experience?
Four gates: eligibility (intent and timing), contextual copy (under twenty words, a question not an exclamation), cooldowns (once per page, two per visit, 24-hour silence after a close or ignore), and staffing honesty (no on-duty human means no trigger). One visitor's bad moment taxes every future visitor's trust.
What's a good reply rate for proactive triggers?
A high-intent working band is 8–15% replies; sustained under 3% means the line or moment is wrong. Watch closed-without-reply too — above about 60% the trigger reads as automated, and copy should be revised before frequency is touched.
Does proactive chat annoy returning visitors more?
Handled well, the reverse: a returning visitor's third pricing session is exactly when the walk-over earns gratitude — provided the line proves a human knows why they're back. The controls are per-page-once, per-visit-capped, and silence that respects an ignored trigger as a 'no'.
Can AI send proactive chats?
AI drafts the answer the moment the visitor replies (copilot rhythm, human confirms before send), and can help decide the line's context — but a proactive opening must only fire when someone is actually minding the queue. An unattended proactive chat promises a clock the desk doesn't hold.