Прочее

Защита от зацикливания триггерных сообщений и закрытие поп-апа по кнопке

💡Защита от зацикливания триггерных сообщений

Когда вы создаёте/обновляете/включаете триггерное сообщение в Carrot quest, мы проверяем, не образует ли это сообщение циклов.

Цикл возникает из-за того, что сообщения создают события, которые могут быть триггерами для других (или того же самого) сообщений.

При проверке учитывается:

  1. Время задержки между повторными отправками сообщения (repeat_delay);
  2. Время задержки отправки сообщения (after_delay);
  3. Триггеры сообщений;
  4. События "сообщение отправлено" и "сообщение прочитано", которые создает сообщение.

Мы следим, чтобы между двумя событиями, участвующими в сообщениях проходило не менее 30 секунд. Если это условие не выполняется, мы покажем поп-ап с предупреждением, где необходимо подтвердить, что это то, что вы хотите сделать.

Такие циклы могут быть корректны, например, при выставлении аудитории показа, которую мы не учитываем при анализе циклов.

Пример зацикливания

Вы создали письмо с триггером “Отправлено сообщение”, при отправке которого создаётся кастомное событие “Отправили письмо 1”.

Вы выбрали событие “Отправили письмо 1” в качестве триггера для второго сообщения.

Получается, что после отправки первого сообщения будет отправляться второе, а отправка сообщения будет служить триггером для первого. Получается цикл.

Циклы сообщений могут быть длиннее или короче (сообщение может зациклить само себя).

Ограничение на количество событий

Так как техническая возможность создания циклов существует, мы выставляем защиту на количество создаваемых у одного Лида событий: не более 60 событий в минуту. Если пользователь превышает квоту, мы блокируем его до тех пор, пока количество событий не снизится до допустимых 60 в минуту.

💡Закрытие поп-апа по клику на кнопку

Вы можете легко это сделать в конструкторе поп-апов, но если вам необходимо воспользоваться стандартными поп-апами, то используйте следующий метод.

Чтобы срабатывало автоматическое закрытие поп-апа при клике на кнопку, следует добавить в этот js код в Мастер сбора данных:

carrotquest.addCallback('conversation_opened', function(data) {
    if (data.message == '') { 
        document.getElementById('close_chat').addEventListener('click', function() {
            carrotquest.messenger.toStateNo();
            carrotquest.messenger.needShowCollapsed() && carrotquest.messenger.toStateCollapsed();
            carrotquest.fireCallback("messenger_closed");
            carrotquest.track('Нажал на кнопку');
            //нажал на кнопку можно поменять на свое название события
        });
    };
});

где close_chat - это значение id в теге с кнопкой.

Также можно использовать код с JQuery (ваш сайт должен его поддерживать):

$(document).on('click', '#close_chat', function() {
    $('#carrotquest-messenger-body-small-cont-close, #carrotquest-messenger-body-big-cont-close').trigger('click');
    carrotquest.track('Нажал на кнопку');
    //нажал на кнопку можно поменять на свое название события
});
Работает на