Автоматизация
Внедрение битрикс24 бесплатно
При покупке лицензии у меня
Подробнее
Битрикс24
Для новых клиентов -30%
На все годовые тарифы облачной версии Битрикс24 до 31 июля 2026 года!
Назад

Автоматическая подписка пользователей при регистрации в Битрикс

Автоматическая подписка пользователей при регистрации в Битрикс
Автоматическая подписка пользователей при регистрации в Битрикс

Для владельцев сайтов на платформе «1С-Битрикс: Управление сайтом» удержание внимания только что зарегистрировавшегося пользователя — важная маркетинговая задача. Один из эффективных инструментов ее решения — автоматическое подключение новичков к новостной рассылке. Это позволяет сразу вовлечь клиента в коммуникацию, познакомить его с акциями и новинками без необходимости дополнительных подтверждений.

Пример из практики: Интернет-магазин косметики внедрил автоматическую подписку при регистрации. В результате открываемость приветственных писем с промокодом на первый заказ выросла на 20%, а число отказов от подписки в первые сутки не превысило 2%. Пользователи получали полезную информацию, не тратя время на дополнительные действия.

Ниже представлена пошаговая инструкция, которая поможет реализовать этот функционал за три простых шага.

1. Создание пользовательского поля для согласия на подписку

Первым делом необходимо добавить в профиль пользователя специальное поле, которое будет хранить информацию о его согласии на получение рассылок. Для этого:

  1. Перейдите в административном разделе в «Настройки» → «Пользователи» → «Поля пользователя».

  2. Добавьте новое поле для сущности «Профиль пользователя».

  3. Задайте следующие параметры:

    • Тип поля: «Да/Нет» (Boolean).

    • Код: UF_SUBSCRIBE (символьный код поля).

    • Название: «Подписаться на новости и спецпредложения».

  4. В настройках поля установите значение по умолчанию как «Да», если требуется предустановленная подписка, или оставьте пустым, если нужно, чтобы пользователь ставил галочку осознанно.

Созданное поле станет техническим индикатором выбора пользователя при заполнении регистрационной формы.

Автоматическое вовлечение клиента в рассылку с момента регистрации

2. Интеграция поля в форму регистрации

Созданное поле необходимо вывести на странице регистрации. Это делается путем добавления HTML-кода в шаблон компонента регистрации (например, в bitrix:main.register).

Вставьте следующий код в нужное место формы:

<div class="form-group">
    <label class="checkbox-container">
        <input class="reg-check" type="checkbox" name="UF_SUBSCRIBE" value="Y" checked>
        <span>Соглашаюсь на получение новостей и специальных предложений</span>
    </label>
</div>

Атрибут checked в приведенном коде делает пункт о подписке активным по умолчанию. Если требуется, чтобы пользователь осознанно ставил галочку, этот атрибут необходимо удалить.

Настройка поля согласия на рассылку в форме регистрации

3. Написание обработчика события регистрации

Для автоматической обработки данных из созданного поля и добавления пользователя в подписку используется механизм событий ядра Битрикс. Приведенный ниже PHP-код необходимо разместить в файле init.php, который находится в корне сайта (или в паблишере проекта /local/php_interface/init.php).

AddEventHandler("main", "OnAfterUserAdd", "subscribeNewUserAfterRegister");

function subscribeNewUserAfterRegister(&$arFields) {
    // Проверка: существует ли ID пользователя и отмечена ли галка подписки
    if ($arFields["ID"] > 0 && $arFields["UF_SUBSCRIBE"] == "Y") {
        // Подключаем модуль рассылок
        if (!CModule::IncludeModule("subscribe")) {
            return false;
        }

        $userId = (int)$arFields["ID"];
        $userEmail = htmlspecialcharsbx($arFields["EMAIL"]);

        // Получаем список активных и видимых рубрик для текущего сайта
        $rubricFilter = [
            "ACTIVE"  => "Y",
            "LID"     => SITE_ID, // Используем константу текущего сайта
            "VISIBLE" => "Y",
        ];
        $rubricList = [];
        $rubricsResult = CRubric::GetList([], $rubricFilter);
        while ($rubric = $rubricsResult->Fetch()) {
            $rubricList[] = (int)$rubric["ID"];
        }

        // Если нет активных рубрик — выходим
        if (empty($rubricList)) {
            return false;
        }

        $subscriptionManager = new CSubscription;
        // Проверяем, существует ли уже подписка у пользователя
        $existingSubscription = $subscriptionManager->GetList([], ["USER_ID" => $userId])->Fetch();

        if (!empty($existingSubscription)) {
            // Обновляем существующую подписку
            $subscriptionManager->Update(
                $existingSubscription["ID"],
                [
                    "FORMAT"  => "html",
                    "RUB_ID"  => $rubricList,
                ]
            );
        } else {
            // Создаем новую подписку
            $subscriptionManager->Add([
                "USER_ID"      => $userId,
                "ACTIVE"       => "Y",
                "EMAIL"        => $userEmail,
                "FORMAT"       => "html",
                "CONFIRMED"    => "Y",          // Подписка считается подтвержденной
                "SEND_CONFIRM" => "N",           // Не отправлять письмо для подтверждения
                "RUB_ID"       => $rubricList,
            ]);
        }
    }
}

Важные замечания по работе кода:

  • Код использует стандартный модуль subscribe. Перед внедрением убедитесь, что модуль установлен и активирован в системе.

  • В фильтре рубрик используется константа SITE_ID. Это делает код универсальным для работы в многосайтовых конфигурациях, исключая необходимость жестко прописывать идентификатор сайта.

  • Поле UF_SUBSCRIBE в массиве $arFields уже обработано ядром, дополнительная фильтрация не требуется.

Заключение

После выполнения всех шагов каждый новый пользователь, регистрирующийся на сайте и не снимающий галочку «Соглашаюсь на получение новостей», будет автоматически подписан на все активные рубрики новостей. Это эффективный маркетинговый инструмент, который помогает наладить канал коммуникации с клиентом с момента его первого взаимодействия с сайтом.

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

Постоянная коммуникация с клиентами через автоматическую рассылку

Превратите регистрацию в точку роста

Нужна автоматическая подписка при регистрации? Интегрируем решение в ваш проект на Битрикс. Быстро, чисто, с гарантией работоспособности.

Заказать доработку
Читайте по теме
Все статьи
Нужен надежный исполнитель?
Разрабатываем сайты, выполняем миграцию на Битрикс, дорабатываем функционал, сопровождаем проекты, а также занимаемся поисковым продвижением и комплексным маркетингом
Получить консультацию
Все статьи