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).