Chat Widget6 min read

How to Send Proactive Chat Messages Based on Visitor Behavior

Trigger automated chat messages based on URL, time on page, scroll depth, exit intent, and returning visitor status. Engage visitors at the right moment to boost conversions and reduce bounce rate.

SupportHQ Team·

Not every visitor will click the chat bubble on their own. Chat triggers let you reach out first by sending a proactive message when specific conditions are met — like when someone lingers on your pricing page, scrolls to the bottom of a landing page, or is about to leave your site.

How Triggers Work

A trigger is a rule with three parts:

  1. Conditions — what must be true about the visitor (URL, time on page, scroll depth, etc.)
  2. Message — the proactive message to show in the chat widget
  3. Controls — delay, max fires, and priority settings

When a visitor meets all the conditions on a trigger, the message pops up in the chat widget. Multiple triggers are evaluated by priority (highest first), and only the first matching trigger fires.

Creating a Trigger

Navigate to Settings → Chat Triggers and click Add Trigger. Here's what each field does:

Name

An internal label for this trigger (e.g., "Pricing page nudge" or "Exit intent offer"). Visitors don't see this — it's for your team to identify triggers in the list.

Message

The text that appears in the chat widget when the trigger fires. Keep it conversational and relevant to the context. For example:

  • "Have questions about pricing? I'd love to help you pick the right plan."
  • "Looks like you've been reading for a while — need any help?"
  • "Before you go — did you know we offer a free trial? No credit card needed."

Conditions

Every trigger needs at least one condition. When you add multiple conditions, all of them must be true for the trigger to fire (AND logic). Here are the available condition types:

URL Pattern

Match the page the visitor is currently on. Three matching modes:

  • Equals — exact URL match (e.g., https://yoursite.com/pricing)
  • Contains — URL includes a substring (e.g., /pricing matches any pricing page)
  • Matches (regex) — a regular expression for advanced patterns (e.g., /products/\d+)

Time on Page

How long the visitor has been on the current page, in seconds. Use operators like >=, >, <=, or <. For example, Time on Page >= 30 fires after the visitor has been on the page for at least 30 seconds.

Scroll Depth

How far down the page the visitor has scrolled, as a percentage (0–100). For example, Scroll % >= 75 fires when someone scrolls past 75% of the page — they've read most of the content and might be ready to engage.

Exit Intent

Detects when a visitor moves their cursor toward the browser's close button or address bar — a signal they're about to leave. Set this to true to catch visitors before they bounce. Works on desktop browsers only.

Returning Visitor

Whether the visitor has been to your site before. Set to true to target returning visitors (who may be further along in their decision) or false for first-time visitors.

Cart Value

The value of the visitor's shopping cart. Useful for e-commerce — e.g., Cart Value >= 100 to offer support or a discount to high-value shoppers.

Page Count

The number of pages the visitor has viewed in their session. For example, Page Count >= 3 targets engaged visitors who are actively browsing your site.

Controls

Delay

Number of seconds to wait after all conditions are met before showing the message. Defaults to 0 (instant). A 2–5 second delay feels more natural and less intrusive.

Max Fires

The maximum number of times this trigger can fire per visitor session. Defaults to 1 — the visitor sees the message once, and it won't reappear even if they continue to match the conditions. Increase this for triggers where a gentle repeat makes sense.

Priority

When a visitor matches multiple triggers at the same time, the one with the highest priority number fires first. Defaults to 0. Use this to ensure your most important triggers (like exit intent offers) take precedence over general engagement messages.

Enabled

Toggle a trigger on or off without deleting it. Disabled triggers are never evaluated. This is useful for seasonal promotions or A/B testing different messages.

Example Triggers

NameConditionsMessageDelay
Pricing page help URL contains /pricing + Time on Page >= 15s Have questions about our plans? I can help you pick the right one! 3s
Exit intent offer Exit Intent = true Before you go — we offer a 7-day free trial with no credit card. Want to give it a try? 0s
Deep reader Scroll % >= 80 + Time on Page >= 45s Looks like you're really digging in! Need any help or have questions? 2s
Returning visitor Returning Visitor = true + Page Count >= 2 Welcome back! Is there anything I can help you with today? 5s
High-value cart Cart Value >= 200 + URL contains /cart Nice picks! Have any questions before you check out? I'm here to help. 3s

Tips for Effective Triggers

  • Be specific with conditions — a trigger on every page with 0 delay is annoying. Combine a URL pattern with a time or scroll condition to target engaged visitors.
  • Keep messages short and helpful — one sentence is usually enough. Ask a question to invite a conversation.
  • Use priority wisely — give exit intent triggers the highest priority so they always fire when it matters most.
  • Set max fires to 1 — for most triggers, showing the message once per session is enough. Repeating it feels pushy.
  • Add a small delay — 2–5 seconds after conditions are met feels natural. Instant popups feel robotic.
  • Test your triggers — visit your own site and verify triggers fire when expected. Check that priority ordering works when multiple triggers could match.
  • Disable, don't delete — if a trigger isn't performing well, disable it instead of deleting. You can re-enable or tweak it later.

Who Can Manage Triggers?

Creating, editing, and deleting triggers requires an Admin or Owner role. This keeps your proactive messaging strategy controlled and consistent.

Tags:proactive chat messagesexit intent popup alternativechat trigger rulesvisitor behavior targetingreduce bounce rate with chatautomated chat engagement