Proactive messages and auto-open
Start more conversations by nudging visitors with a popup, auto-opening the chat or showing a message when they scroll, linger, idle or try to leave.
On this page
Proactive messages invite visitors to chat before they ask. Pengo has three kinds: a popup card above the launcher, auto-opening the chat, and short messages shown beside the launcher when a visitor does something. Visitors tap a message to open the chat.
Quick options live in the widget’s Proactive tab. For rules with targeting, such as cart value or UTM campaign, use Chat triggers.
#Turn on a proactive message
-
Go to Settings Chat widget Proactive .
-
Turn on Enable popup to show a card above the launcher, or turn on any of the options under Time-based and Behavior-based.
-
Write your message and set the timing. The live preview shows the popup as visitors will see it.
-
Click Save changes at the top of the page.
#Popup
The popup is a small card above the chat button that nudges visitors to start a conversation. If you have more than one website, tick Also apply to all above the popup settings to copy the popup to every website.
| Setting | Notes |
|---|---|
| Title | Required. Default “Questions? Chat with us!”. |
| Description | A status line or reassurance. Default “Support is online”. |
| Show online indicator | A status dot beside the description. |
| Show team avatars | Add image addresses (full https:// URLs) for the faces to show. Three is plenty. |
| Primary button text | Required. Default “Start Chat”. |
| Show secondary button | A second button that links anywhere, such as your docs. Set Secondary text and Secondary URL. |
| Auto-show after | Instant to 10 seconds. Default 3 seconds. |
| Auto-hide after | Never, or up to 30 seconds. Default Never. |
| Page targeting | Paths like /pricing. Leave empty to show on every page. |
#Auto-open and quick triggers
These sit under the popup on the Proactive tab.
| Option | What it does | Settings |
|---|---|---|
| Auto-open widget | Opens the chat after a delay. Runs once per browser session, never on phones, and not if the visitor has already opened or closed the widget. | Delay before opening: 1 to 30 seconds, default 5. Page targeting (optional): leave empty for all pages. |
| Time on page | Shows a message to visitors who have lingered. | Show the message after: 10 seconds to 2 minutes, default 30 seconds. Message. |
| Scroll depth | Shows a message once a visitor scrolls far enough. | Scroll percentage: 10% to 90%, default 50%. Message. |
| Exit intent | A last-chance message when the cursor heads for the tab bar. Desktop only. | Message. |
| Returning visitors | Greets people who have been on your site before, a few seconds after they arrive. | Message. |
Messages are up to 280 characters. Time on page, scroll depth and exit intent show once per visitor. The returning visitor greeting shows once per session.
#Chat triggers with targeting
For more control, go to Settings Automation Chat triggers and turn on Enable chat triggers. Each trigger has a condition, a message and a frequency.
-
Under Add trigger, pick When: Time on page, Exit intent, Scroll depth, Inactivity or Cart value.
-
Set the value for that type, such as Idle for (seconds) for Inactivity or Cart value at least for Cart value.
-
Optionally fill in Only on these pages (optional), paths separated by commas, such as
/pricing, /blog/*. -
Click Add targeting (visitors, URL, UTM, cart) to narrow it further.
-
Write the Message, choose How often, and click Add trigger. Changes on this page save automatically.
| Field | Options |
|---|---|
| When | Time on page: after a number of seconds on the page. Exit intent: when the pointer leaves the page through the top, desktop only. Scroll depth: scrolled at least a percentage. Inactivity: no mouse, keyboard or scroll for a number of seconds. Cart value: the cart is worth at least an amount. |
| Visitors | All visitors, First visit only, Returning visitors. |
| At least this many visits | A minimum number of visits to your site. |
| Page URL contains | Matches any part of the full page address, such as ref=partner. |
| UTM source, UTM medium, UTM campaign | Taken from the page the visitor landed on this session. |
| How often | Once per visitor, Once per session, At most once a day, Every page view. |
| Only when an agent is online | Skips this trigger while nobody can reply. |
Every condition you fill in must match. Stay quiet when nobody is online applies the same rule to all your chat triggers and to the Proactive tab’s time on page, scroll depth, exit intent and returning visitor messages.
#Report the cart value
Cart value triggers need your site to tell Pengo what’s in the cart. Call this whenever the cart changes:
pengo('track', 'cart', { value: 129.99 }); You can also send it as a cart_value attribute when you set visitor details. Pengo checks cart triggers as soon as the value changes. See the JavaScript API for more.
#Tips
- Start with one trigger on your highest-intent page, such as pricing or checkout, and see how visitors respond.
- Keep messages short and specific to the page. “Questions about plans?” works better than a generic hello.
- If your team can’t cover every hour, turn on Stay quiet when nobody is online, or let Pengo Intelligence answer.
Common questions
Will proactive messages annoy visitors on phones?
Auto-open never runs on phones, where the chat would take over the whole screen. Exit intent only works on desktop. Messages beside the launcher still show on phones.
How do I trigger a message based on the cart total?
Add a Cart value trigger in Settings, Automation, Chat triggers, then report the total from your site with pengo('track', 'cart', { value }).
Can I stop proactive messages when nobody can reply?
Yes. Turn on Stay quiet when nobody is online in Chat triggers. While no agent is available, it silences your chat triggers and the Proactive tab's time on page, scroll depth, exit intent and returning visitor messages.
Was this guide helpful?
Your answer helps us improve it.
Sorry about that. or contact support, and we'll fix the guide.