Proactive messages: tooltips, timed messages and campaigns
Speak to visitors at the right moment – after a wait, while scrolling, on a click on an element or before they leave – with a quiet bubble at the launcher or a message in the chat.
An event on your page triggers a nudge, such as a click, scrolling or a pause. After a wait, a small bubble then appears at the launcher, or a message in the chat. In your account this is called Tooltips & timed actions: /app/projects/{id}, tab Rules & service.
Two displays
- Tooltip bubble at the chat button – quiet. It sits next to the launcher, disappears by itself or via its cross, and does not open the window. It does not take the keyboard focus away from the visitor, so someone filling in a form is not pulled out of it. On phones it sits above the launcher.
- Message in the chat – appears as a message in the conversation. With Open the chat window as well the window pops open.
If someone is struggling with something, it is better not to push a window in their face. When in doubt, use the bubble.
Creating tooltips in the assistant
The list shows all nudges as cards, with an active switch, Edit, Duplicate, Delete and move buttons. Restore defaults resets the supplied rules. You create new tooltips in five steps, with a preview on a light and a dark page.
1. Trigger
- Page opened – when a page is opened.
- Time on page – after a minimum time on the page. The widget checks every 30 seconds.
- Scroll depth – from a percentage of the page, 1 to 100.
- Inactivity – no mouse, keyboard, touch or scrolling for 3 seconds to 60 minutes.
- Back to the tab – the visitor returns to the tab after being away.
- Exit intent – the mouse pointer leaves the window at the top. Desktop only.
- Click on an element – CSS selector, required.
- Mouse lingers – over an element, 0.2 to 60 seconds (default 1 second). Selector required.
- Element becomes visible – an element scrolls into view. Selector required.
- Form field entered – focus on a field. Selector required.
- Text copied – optionally limited to one element.
- Custom event – from your code, see below.
- Frustration signals – for example a JavaScript error on the page (
js_error). Further signals such as repeated clicks on the same spot or abandoned forms are only provided by the MousePlayer connection. - Purchase intent – detected only with MousePlayer.
2. Conditions
- Address contains and Address does not contain – part of the address or a regular expression in the form
/pattern/i. - Comes from – the previous page (referrer), same notation.
- Device – phone or desktop.
- Visitors – new or returning. The widget can only recognise “returning” if it may store something in the browser, that is, with consent.
- Page language – up to 20 language codes.
- Pages in this session – at least 1 to 100.
- Team – only when someone is online, or only when nobody is online.
- Business hours – only inside or only outside your availability.
- Not during a running conversation – default. A conversation counts as running if the window is open or the last message is less than 10 minutes old.
3. Timing
- Wait in seconds after the trigger. If the visitor moves during that time to a page the tooltip does not apply to, it is dropped.
- Display time of the bubble: until the visitor closes it, or 3 to 120 seconds. Without a value, 15 seconds.
- Frequency – once per session, per visitor, per conversation, or at most once every 10 minutes, 1 hour or 24 hours. “Several times per session” allows 2 to 10.
- Importance – high, medium, low or a number of your own. If two tooltips apply at the same time, the more important one wins.
4. Content
- Wording – 500 characters at most.
- Quick replies – buttons below the text, 32 characters each at most: up to 3 on the bubble, up to 4 on the message. Each reply has an effect:
- Ask a question – opens the chat, shows your sentence and the visitor's reply, and asks what it is about.
- No thanks – closes the bubble. This tooltip does not come back in the session.
- Request a callback – opens the callback request.
- Message (default) – sends the reply as a message into the chat.
- Agent's picture – shows the avatar of the assigned team member on the bubble.
- AI writes one per page – instead of a fixed sentence, the AI writes a suitable sentence for each page from its content. Your text remains the fallback.
Suggestions and your own sentences per page
With AI writes one per page you can have suggestions created for the 20 most visited pages, at most once a minute. They are written in the background, usually within a minute. You can replace each suggestion with your own text (500 characters at most). It applies to that page until you discard it; the AI never overwrites it. A discarded suggestion is rewritten on the next visit to the page.
What always applies
So that nudges do not annoy, fixed rules apply that you cannot switch off:
- At most one nudge every 10 minutes per visitor. Tooltips on click, mouse lingering and form field are exempt: they respond to something the visitor did.
- No bubble while the chat window is open or the launcher is hidden.
- At most 3 bubbles per session.
- Dismissed means dismissed: the same tooltip does not come back in this session.
- Do not disturb: if your page has set the visitor to “do not disturb” (see below), no nudge appears.
Plan
On the free plan, 1 active tooltip per project is possible, from Professional on as many as you like. Active bubbles and messages are counted in the order of the list. Anyone trying to save beyond the limit gets a message. If a workspace falls back to the free plan, surplus tooltips stay saved but are not delivered.
For advanced users: rules as JSON
Below the assistant you will find Experts: rules as JSON. It contains the same list as JSON, which you can edit directly. Empty means: the reactive.chat defaults. Saving checks strictly. An error names the rule and the field.
[
{
"id": "preise-hilfe",
"enabled": true,
"priority": 50,
"when": { "event": "scroll", "minScrollPct": 60, "urlMatch": "/preise" },
"unless": { "conversationActive": true },
"throttle": { "max": 1, "per": "session" },
"delayMs": 2000,
"action": {
"type": "teaser",
"text": "Questions about our plans? Happy to help.",
"quickReplies": ["Yes, I have a question", "No thanks"],
"replyRoles": ["ask", "dismiss"],
"ttlMs": 20000
}
}
]
The most important limits:
- 50 rules at most, 60,000 characters in total,
id: lower-case letters, digits and hyphens, 40 characters at most,priority: 0 to 1000, the smaller number wins, default 100,delayMs: 0 to 86,400,000 (24 hours),ttlMs(bubble only): 0 to 120,000, 0 means until closed,throttle.max: 1 to 100,throttle.per:session,visitor,conversation,10m,1h,24h,action.type:teaser(bubble) orproactive_message(message, withopenWidget),- patterns and selectors 200 characters at most,
- fields starting with
_count as comments.
Unknown fields are rejected, so a typo is noticed on saving.
In code: showing a bubble
From your own code you show a bubble at the launcher, for example after an action on your page:
ReactiveChat('show', 'Questions about your plan? Write to us.');
ReactiveChat('showTeaser', {
text: 'Questions about your plan?',
quickReplies: ['Yes', 'No thanks'],
ttlMs: 15000,
ruleId: 'tarif-kampagne'
});
ReactiveChat('hide');
These bubbles also follow the rules above. showTeaser returns whether the bubble was shown. The widget reports the events teaser:shown, teaser:click, teaser:dismiss and teaser:reply via ReactiveChat('on', …).
In code: custom events as triggers
For the Custom event trigger, you report a milestone from your page:
ReactiveChat('track', 'warenkorb_voll');
In the tooltip you enter the same name.
Do not disturb
If a visitor should not be addressed at all, for example during checkout, add this to the snippet:
data-rc-dnd="true"
The chat stays reachable; only proactive nudges are dropped.
Campaigns
For targeted promotions there are Campaigns under /app/projects/{id}/campaigns: a message in the chat to a precisely described audience, with a variant B if you like. Campaigns are available from the Professional plan on.
- Message 500 characters at most, up to 3 reply buttons, optionally with the window opened.
- Variant B with a share of 1 to 99 %, default 50 %.
- Audience by pages, time on page, origin, UTM parameters, new or returning visitors, country, language, device, signed-in or anonymous visitors and – with customer data – for example by the status of an order.
- Frequency per visitor 1 to 50 (default 1) and a minimum interval of 1 to 2160 hours (default 24).
- Schedule with start and end.
- Performance: delivered, seen, clicked, conversation started, goal reached.
Campaigns share the 10-minute limit with the tooltips and never come during a running conversation. Visitors from the EU, the EEA, Switzerland and the UK, and visitors whose country is unknown, are only reached with consent. How to plan and evaluate campaigns is described in the product handbook.
If a nudge does not appear
- Is it active and allowed on your plan?
- Was there already a nudge in the last 10 minutes?
- Is a conversation running or is the window open?
- Has the visitor already dismissed it, or has the frequency been reached?
- Do the conditions match, such as address, device or business hours?
- Is the launcher hidden? Then there is no bubble. Use a message in the chat.
- Trigger frustration or purchase intent? Apart from JavaScript errors, these signals only come with MousePlayer.
עדכון אחרון: