Proactive triggers — auto-open the widget at the right moment

Proactive triggers open the chat bubble on the visitor's behalf, usually within a few seconds of landing or when they're about to leave. Done well, this is how you catch the 70% of visitors who won't click a chat bubble on their own. Done poorly, it's the dark pattern everyone learned to hate during the 2015 intercom wave.

How rules are structured

The page holds a list of independent rules, evaluated top-to-bottom for every page view. The first rule whose URL patterns match the current page wins; the rest are skipped on that view. Each rule is its own row with its own conditions:

  • URL patterns — comma-separated globs (/pricing/*, /checkout). An empty pattern list matches everything (catch-all rule).
  • Time delay — open N seconds after page load.
  • Active-time only — only count seconds the page actually has focus, so a tab left in the background doesn't trip the timer.
  • Exit intent — open when the cursor leaves the top of the viewport.
  • Scroll depth — open after the visitor has scrolled past a percentage of the page.
  • Max per visitor — how many auto-opens this specific rule can fire per visitor (tracked in localStorage). Default: 1.

A rule can combine conditions — e.g. "5s delay AND 50% scroll depth on /pricing/*". The widget triggers when all conditions on that rule are met.

Adding rules

Widget → Proactive triggers → ⊕ Add rule. Fill in the conditions, optionally drag the row to reorder, Save. There's a workspace-level cap on how many rules you can have at once; if you hit it, the add button is disabled.

Once-closed-stays-closed

If a visitor manually closes the widget, we set a session flag and don't auto-open again that session — regardless of which rule fired or how many auto-opens that rule still has left. No tuning, just the right behaviour.

When to use which

Goal Rule shape
Catch high-intent pricing readers URL /pricing/*, delay 15–30s
Save abandoning carts URL /checkout*, exit intent
First-time visitor onboarding URL / (or your homepage), delay 45–60s
Engage anyone who reads halfway empty URL (catch-all), scroll depth 50%

Pitfalls

  • Too eager. Opening at 3s on every page screams "used-car salesman". Bias longer delays.
  • Wrong pages. Auto-opening on your privacy policy or 404 is nonsensical. Use URL patterns; remember the first matching rule wins — put narrow rules above broad ones.
  • Exit-intent false positives. Users moving the cursor toward browser tabs trigger exit-intent too. We debounce the first 3 seconds after load to cover the obvious cases, but it's imperfect.
  • Catch-all at the top. A rule with no URL patterns matches everything; if it's first in the list, all your specific rules below it are dead weight. Put catch-alls last (or remove them).