How can we help?

Tell us briefly what this is about - we will get back to you by email.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
To the start page

The promo card in the chat

A card with an image, headline, button and text link inside the chat window – for your paid plan, for example. Setup in your account, audience, hiding it from paying customers and control via JavaScript.

The promo card lets you show your own offer inside the chat window – typically your paid plan. It consists of an image, a headline, a short text, a large button and a text link below it. It appears at the top of the conversation, on the chat’s start page, or in both places.

The card is not a message: it does not appear in the conversation history your team sees, and visitors cannot dismiss it. The button and the text link open their target in a new tab.

Setting it up

You will find the promo card in your account under Project → Appearance → Promo card. The chat preview on that page shows the card while you type.

Use addresses starting with https:// for the button link and the link target. The widget only shows the button and the text link with an https target.

The card can only be switched on when it is complete: with a headline, button text, button link and at least one placement. If something is missing, it is saved as a draft and your account tells you what is missing.

The texts apply in the project’s default language. After you save, it takes up to a minute until your visitors see the change.

Hiding the card from paying customers

Customers who already pay don’t need an ad for your paid plan. reactive.chat does not know your users’ plans – your site does. There are three ways to handle this.

1. Audience “Only visitors who are not identified”. If your site already signs users in with ReactiveChat('identify', …) (with userId or email), those users no longer see the card. That is enough if only paying customers have a login with you.

2. One line in your page script, as soon as you know the user pays:

ReactiveChat('promo', false);

If this line might run before the embed snippet has loaded, put this in front of it:

window.ReactiveChat = window.ReactiveChat || function () { (window.ReactiveChat.q = window.ReactiveChat.q || []).push(arguments); };

3. An attribute on the embed snippet, if your server delivers the page differently to paying customers anyway:

<script src="https://cdn.reactive.chat/loader.js"
        data-rc-site-key="SITE_KEY"
        data-rc-promo="false"
        async></script>

Both switches apply only to the page they are on, and only to that page view. ReactiveChat('promo', true) shows the card again as configured in your account.

Adjusting the card per page

Instead of true or false you can pass an object. Its fields replace the account settings on this page; anything you leave out comes from your account.

ReactiveChat('promo', {
  titel: 'Annual plan: 2 months free',
  knopf: 'Switch now',
  ziel: 'https://www.your-domain.com/pricing?annual=1'
});

The field names are the same as in the account (they are German):

You can also give texts per language, for example titel: { en: 'Annual plan', de: 'Jahrestarif' }. Longer texts are shortened.

An object shows the card on this page even if it is switched off in your account. In that case, provide everything yourself: at least titel, and for a button also knopf and ziel.

Impressions and clicks

In your account, below the promo card, the Performance section shows impressions, clicks on the button and on the text link, and the click rate – summed up for the last 7 and 30 days and per day. Per visitor and day, at most one impression per placement and one click per target are counted. Your preview in the account does not count, and neither does a card shown only via ReactiveChat('promo', {...}) while it is switched off in the account.

Events for your own analytics

In addition, two events in your page script report what happens to the card – for example to pass them on to your own analytics tool.

ReactiveChat('on', 'promo:shown', function (e) {
  // e.ort: "gespraech" (conversation) or "start" (start page)
});

ReactiveChat('on', 'promo:click', function (e) {
  // e.ziel: "knopf" (button) or "link" (text link), e.ort: "gespraech" or "start"
});

promo:shown fires once per placement and page view, and only once the chat window is open with the card in it. Nobody has seen a card inside a closed chat. promo:click fires on every click on the button or the text link.

If the card does not appear

How to open the chat from a link or button on your own site is described in Open the chat from your own link or button. The basics of embedding are covered in Embedding the widget.

Last updated: