Установка и настройка
Установить модуль можно двумя способами:
- Со страницы Marketplace — нажмите зелёную кнопку «Установить» на странице модуля и следуйте инструкции на стороне 1С-Битрикс Marketplace.
- Из административной панели сайта — перейдите в Настройки → Настройки продукта → Marketplace → Каталог решений, введите в поиске Octopus CDP Popup, откройте карточку модуля и нажмите «Установить бесплатно».
Битрикс автоматически скачает и установит модуль. Таблица в базе данных и обработчик событий создаются без дополнительных действий.
💡 Совет: Если в каталоге решений модуль не находится, проверьте, что на сайте активна актуальная редакция 1С-Битрикс и установлен модуль Marketplace (
bitrix.marketplace). etplace`).
Где находится модуль
После установки в административной панели появится раздел Маркетинг → Всплывающие олкна - Попапы. Здесь находится список всех созданных окон с возможностью сортировки, групповой активации и удаления.
Создание попапа
Нажмите «+ Добавить попап» — откроется форма с двумя вкладками: «Шаблон», «Условия» и «АНалитика» .
Вкладка «Шаблон»
| Параметр | Описание |
|---|---|
| Название | Внутреннее название попапа — отображается только в админке |
| HTML-код | Содержимое модального окна (см. раздел «Как составить шаблон» ниже) |
Вкладка «Условия»
| Параметр | Варианты | Описание |
|---|---|---|
| Попап активен | Чекбокс | Включает или отключает показ попапа на сайте |
| Задержка показа | Числовое значение (сек) | Через сколько секунд после загрузки страницы показать окно |
| Процент прокрутки | 0–100% | Минимальный процент прокрутки страницы перед показом |
| Просмотрено страниц | Числовое значение | Минимальное число страниц, просмотренных за сессию браузера |
| Правила по URL | Точные URL или маски | На каких страницах показывать окно |
| Устройства | Десктоп / планшет / мобильный | Типы устройств, на которых будет показан попап |
| Повторный показ | • Один раз за сессию • Через N минут/часов/дней • Всегда • Никогда | Частота повторного показа одному и тому же посетителю |
После заполнения вкладок нажмите «Сохранить» — попап начнёт показываться на сайте согласно заданным условиям.
💡 Совет: Условия складываются по «И» — все одновременно. Если задана и задержка, и процент прокрутки, окно появится только когда выполнены оба условия.
Как составить шаблон
Шаблон — это обычный HTML, который модуль вставляет в страницу и оборачивает в затемнённую подложку с центрированием. В шаблоне нужно описывать только содержимое самого окна — фон, overlay и позиционирование добавлять не нужно.
Рекомендации
- Инлайн-стили — используйте
style="..."прямо на элементах, чтобы исключить конфликты со стилями сайта. - Закрытие окна — любой элемент с атрибутом
data-closeзакрывает попап по клику. Достаточно повесить его на кнопку «×» или фоновую область. - Уникальные id и классы — давайте элементам имена с префиксом (например,
popup_), чтобы не пересекаться с разметкой страницы. - Скрипты работают — теги
<script>внутри шаблона выполняются корректно. В них удобно делать валидацию полей, отправку формы и показ сообщения об успехе.
💡 Совет: После отправки формы скройте поля и покажите блок «Спасибо!» — этот приём делает попап ощутимо аккуратнее любого штатного
alert().
Обработка формы
Сам модуль форму не обрабатывает — он только показывает HTML. Логику отправки вы задаёте внутри шаблона. Есть два пути.
Вариант 1. PHP-обработчик на стороне 1С-Битрикс
Большинство магазинов на 1С-Битрикс обрабатывают формы своим серверным скриптом: данные уходят AJAX-запросом в PHP-файл, который средствами Битрикса отправляет письмо (CEvent::Send), создаёт лид в CRM или пишет в инфоблок.
Создайте файл, например /local/ajax/popup_subscribe.php:
<?php
define('STOP_STATISTICS', true);
require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php');
use Bitrix\Main\Context;
use Bitrix\Main\Web\Json;
header('Content-Type: application/json; charset=utf-8');
$request = Context::getCurrent()->getRequest();
$name = trim((string)$request->getPost('NAME'));
$email = trim((string)$request->getPost('EMAIL'));
if ($name === '' || !check_email($email)) {
echo Json::encode(['status' => 'error']);
die();
}
// Отправка письма через стандартный почтовый шаблон Битрикс.
// Тип почтового события (здесь FEEDBACK_FORM) и шаблон письма
// должны существовать в Настройки → Настройки продукта → Почтовые события.
CEvent::Send('FEEDBACK_FORM', SITE_ID, [
'AUTHOR' => $name,
'AUTHOR_EMAIL' => $email,
'TEXT' => 'Подписка через всплывающее окно',
]);
echo Json::encode(['status' => 'ok']);
die();
В шаблоне попапа отправьте данные на этот файл:
fetch('/local/ajax/popup_subscribe.php', {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: 'NAME=' + encodeURIComponent(name) + '&EMAIL=' + encodeURIComponent(email)
})
.then(function (r) { return r.json(); })
.then(function (data) {
if (data.status === 'ok') {
// скрыть поля и показать блок «Спасибо!»
}
})
.catch(function () { /* ошибка сети */ });
Вместо CEvent::Send в обработчике можно использовать любой привычный способ: создание лида в CRM (CCrmLead::Add), запись в инфоблок или передачу данных в стороннюю систему.
Вариант 2. Интеграция с Octopus CDP
Если магазин подключён к Octopus CDP, форму можно не заводить на сервере — достаточно вызвать oct_goal(). Метод фиксирует цель и обновляет профиль клиента переданными полями:
window.oct_goal('degustatsiipopup', {
update: {
NAME: name,
EMAIL: email
}
});
где degustatsiipopup — код цели из настроек Octopus CDP.
💡 Совет: Подробнее о создании цели в Октопус CDP — в разделе Цели.