# Proactive messages

> Show a short message bubble based on time, scroll depth, exit intent, product or cart pages, without pressure tactics.

Source: https://shopassist.coec.dk/docs/widget/proactive-triggers · Updated 2026-10-01

Proactive messages invite shoppers to chat with a small bubble next to the launcher. Your plan sets how many you can have.

## Kinds [#kinds]

| Kind               | Shows when                                                             | Default |
| ------------------ | ---------------------------------------------------------------------- | ------- |
| Time on page       | The page has been visible for N seconds (3–600)                        | 30 s    |
| Product page dwell | On a product page for N seconds                                        | 20 s    |
| Cart page          | On the cart page (optionally after N seconds)                          | 5 s     |
| Scroll depth       | The shopper scrolled N % of the page (10–100)                          | 50 %    |
| Exit intent        | The mouse leaves the window towards the tabs (desktop only, after 5 s) | —       |
| URL match          | The path matches a pattern                                             | 3 s     |

Each message can be limited to page types and devices, has up to 3 quick replies (≤ 40 characters) and a cooldown (0–168 hours).

## When no bubble is shown [#suppression]

The chat is open or the shopper already has a conversation in this tab; the shopper dismissed a bubble in this tab; a bubble was already shown on this page; the assistant is unavailable; the cooldown is active. At most one bubble per page view.

Remembering a cooldown across pages needs the shopper's preferences consent; without it, the rule is "at most once per page view".

## No pressure messages [#no-pressure]

Messages that create false urgency or scarcity ("Hurry, only 2 left!", "Last chance", "Selling fast") are rejected on save (`unfair_practice_lint`): they can breach EU consumer law. Stock and deadlines can still be mentioned by the assistant when they come from your store data.

A proactive message the shopper doesn't reply to is never counted as a conversation.

## Preview [#preview]

**Show in preview** displays the bubble in the widget preview so you can check wording and placement.
