A chat widget that waits to be discovered will mostly be ignored. Passive chatbots see 2-5% engagement rates—meaning 95%+ of visitors never interact.
Proactive messages change this. Properly configured triggers can increase engagement to 15-35% without annoying visitors.
This guide covers the exact triggers, timing, and messages that work.
The Proactive Spectrum
There's an optimal level of proactivity:
| Approach | Engagement Rate | Result |
|---|---|---|
| Too Passive | 2-5% | Widget appears, nothing happens, visitors don't notice |
| Optimal | 15-35% | Appropriate trigger, gentle message, helpful context |
| Too Aggressive | High bounce | Immediate popup, demands attention, blocks content |
The goal is finding the sweet spot between invisible and intrusive.
Page-Specific Trigger Configuration
Different pages require different approaches:
Pricing Page Trigger
URL pattern: /pricing*
Delay: 20 seconds
Additional condition: Scroll past first pricing tier
Message: "Comparing plans? I can break down the differences
and help you figure out which fits your needs."
Buttons: [Compare Plans] [Talk to Sales] [See Features]
Product Page Trigger
URL pattern: /products/*
Delay: 30 seconds
Additional condition: 50% scroll depth
Message: "Questions about [product name]? I can help with
specifications, pricing, or compatibility."
Buttons: [Check Availability] [See Pricing] [Compare Options]
Cart Page Trigger
URL pattern: /cart*
Delay: 120 seconds (2 minutes of inactivity)
Message: "Something holding you up? I'm here if you have
questions about your order."
Buttons: [Shipping Info] [Apply Discount] [Checkout Help]
Exit Intent Trigger
URL pattern: * (all pages)
Trigger type: Exit intent detected
Message: "Before you go—anything I can help with?"
Frequency: Once per session
The Timing Framework
When should proactive messages trigger?
| Page Type | Delay | Additional Trigger | Rationale |
|---|---|---|---|
| Homepage | 45+ seconds | Only if no navigation | Let visitors orient first |
| Product pages | 30 seconds | 50% scroll | They're interested, may have questions |
| Pricing page | 20 seconds | Scroll past first tier | They're evaluating options |
| Checkout | 2 minutes | Inactivity only | Don't interrupt buying |
| Blog/content | Never or 60+ sec | Only exit intent | They're reading, don't interrupt |
| FAQ/Help | 15 seconds | Immediate OK | They already have questions |
Message Templates That Convert
Pricing Page (High performer)
"Comparing plans? I can break down exactly what's included in each—or help you figure out which fits your situation."
Why it works: Specific to context. Offers two types of help. Low pressure.
Product Page
"Questions about [product]? I can help with sizing, specifications, or compatibility—whatever you need."
Why it works: Names specific concerns. Shows the bot is useful, not generic.
Cart Abandonment (Highest engagement)
"I noticed you've been here a minute—anything I can help with? Shipping questions? Discount codes? Just ask."
Why it works: Addresses actual abandonment reasons. Mentions discount codes.
Exit Intent
"Before you go—did you find what you were looking for?"
Why it works: Catches visitors with unresolved questions. Non-pushy.
Messages That Fail
Learn from what doesn't work:
Too Soon (Immediate popup)
- Message: "Hi! How can I help you today?"
- Delay: 0 seconds
- Result: 68% dismiss rate. Visitors haven't seen the page yet.
Too Generic
- Message: "Hello! I'm here to help with any questions."
- Result: 5% engagement. No reason to respond to vagueness.
Too Pushy
- Message: "Ready to start your free trial? I can set it up in 30 seconds!"
- Result: High bounce rate. Feels like a sales attack.
The pattern: Helpful and specific beats aggressive and generic.
Frequency Limits
Configure limits to prevent harassment:
| Setting | Recommended Value |
|---|---|
| Max messages per session | 2 |
| Cooldown after dismiss | Don't show again this session |
| Returning visitor memory | Don't repeat same message for 7 days |
A/B Testing Results
Test 1: Timing
| Variant | Delay | Engagement |
|---|---|---|
| A | 15 seconds | Lower (felt intrusive) |
| B | 30 seconds | Highest |
| C | 45 seconds | Lower (missed some visitors) |
Winner: 30 seconds for most pages.
Test 2: Question vs. Statement
| Variant | Format | Engagement |
|---|---|---|
| A | "Have questions about pricing?" | Baseline |
| B | "I can help with pricing questions." | Lower |
| C | "Questions about pricing? I can break down what's included." | Highest (+40%) |
Winner: Question + value proposition combined format.
Test 3: Specific vs. Generic
| Variant | Message | Engagement |
|---|---|---|
| A | "How can I help you today?" | Baseline |
| B | "Questions about our Pro plan? I can explain what's included." | +340% |
Winner: Specificity signals competence.
Teaser vs. Full Chat Mode
Two display approaches:
Teaser Mode Shows a small bubble next to the widget:
"Got a pricing question? →"
Visitor clicks to expand. Less intrusive.
Full Chat Mode Opens the conversation window with proactive message showing.
Recommendation: Use teaser mode for most pages, full chat mode for high-intent pages (pricing, checkout).
Metrics to Track
For each proactive message, monitor:
Engagement Rate
Visitors who see message → visitors who respond
| Rate | Assessment |
|---|---|
| Under 5% | Poor—message not resonating |
| 10-25% | Good |
| 25%+ | Excellent |
Dismiss Rate
Visitors who actively close the message
| Rate | Assessment |
|---|---|
| Under 30% | Acceptable |
| Over 50% | Too aggressive |
Conversion Impact
Compare conversion rates between:
- Visitors who saw message and engaged
- Visitors who saw message but didn't engage
- Visitors who didn't see message (control)
If proactive recipients convert better, your messages are helping.
Common Mistakes
Immediate popup Visitors haven't seen your page yet. Give them 20-30 seconds minimum.
Same message every page "Questions about pricing?" on a blog post feels off. Context matters.
No dismiss memory Visitor closes message; 5 seconds later, it's back. That's harassment.
Blocking content Proactive messages should never cover important page elements.
Requiring action Good: "Let me know if you have questions." Bad: "Enter your email to continue."
Getting Started
Start free with Kya to configure proactive messages:
Start with three triggers:
- Pricing page: 20 second delay, scroll trigger, specific message
- High-value product pages: 30 second delay, specific message
- Exit intent (all pages): "Before you go—anything I can help with?"
This covers 80% of the opportunity. Run for a week, check engagement rates, and optimize from there.
The difference between 4% and 15% engagement isn't a bigger widget or a brighter color.
It's the first move.
A chatbot that reaches out helpfully—at the right time, with the right message—changes the conversation.
Literally.


