Подписка на новости - рубрики, форма, автоматический выпуск
Собираем подписку на новости сайта: рубрики и подписчики, форма и страница управления адресом, подтверждение подписки и автоматический выпуск.
Что нужно знать заранее
В платформе две разные подсистемы рассылок, и их постоянно путают. Старая подписка работает рубриками и выпусками, современный email-маркетинг - сегментами и кампаниями, а разделы админки, компоненты и интерфейсы у них разные.
Подписка оперирует тремя сущностями: рубриками, подписчиками и выпусками писем. Рубрика - это тема, на которую подписывается человек, подписчик - адрес с признаком подтверждения, выпуск - конкретное письмо по рубрике.
Анонимный подписчик получает письма только после подтверждения своего адреса. Без признака подтверждения адрес числится в базе, а выпуски мимо него проходят, и жалобу «не приходит рассылка» разбирают именно с этого.
Шаги
- Решить, какая подсистема нужна: простая подписка по рубрикам или полноценный маркетинг.
- Завести рубрики и разделить их на публичные и назначаемые только администратором.
- Поставить форму подписки и отдельную страницу управления своим адресом на публичной части.
- Проверить письмо подтверждения адреса и признак подтверждённой подписки у нового подписчика.
- Для автоматической рассылки задать шаблон выпуска и расписание генерации в настройках рубрики.
Решение
Ставим форму подписки в шаблон:
$APPLICATION->IncludeComponent('bitrix:subscribe.form', '', [ 'SHOW_HIDDEN' => 'N', // скрытые рубрики в форме не показываем 'PATH' => '/personal/subscribe/edit.php', // страница управления своим адресом 'CACHE_TIME' => 3600,]);Адрес страницы управления указывают сразу, а не потом. Без него подписчику некуда идти менять набор рубрик, и любое изменение подписки превращается в письмо в поддержку.
Заводим страницу управления адресом:
$APPLICATION->IncludeComponent('bitrix:subscribe.edit', '', [ 'SHOW_HIDDEN' => 'N', 'ALLOW_ANONYMOUS' => 'Y', // управление по ссылке из письма]);Страница управления - обязательная часть подписки, а не необязательное украшение. Ссылка на неё уходит в письма, и по ней подписчик меняет рубрики или отписывается сам, без участия сотрудников.
Смотрим рубрики и число подписчиков:
\Bitrix\Main\Loader::includeModule('subscribe');$res = \CRubric::GetList(['SORT' => 'ASC'], ['ACTIVE' => 'Y']);while ($rubric = $res->Fetch()) { printf("%-30s подписчиков=%d\n", $rubric['NAME'], $rubric['COUNT_ALL'] ?? 0);}Проверяем подтверждение подписки:
$res = \CSubscription::GetList([], ['EMAIL' => $email], ['CONFIRMED', 'ACTIVE']);$row = $res->Fetch();printf("активна=%s подтверждена=%s\n", $row['ACTIVE'] ?? '-', $row['CONFIRMED'] ?? '-');// неподтверждённый адрес в базе есть, а выпуски до него не доходятНастраиваем автоматический выпуск:
Рубрика → флаг «Автоматическая» → закладка «Автоматическая генерация»: PHP-шаблон выпуска - образец есть в поставке, его правят под свой сайт Дни недели - хотя бы один параметр расписания обязателен Числа месяца - можно вместо дней недели или вместе с ними# без расписания автоматический выпуск не сформируется вообщеРасписание - обязательная часть автоматической рассылки. Пустое расписание означает, что выпуск не соберётся никогда, а рубрика при этом выглядит настроенной и включённой.
Типичные проблемы
Подписчик есть в базе, а письма не приходят.
Подписка не подтверждена, и выпуски такой адрес молча пропускают. Признак подтверждения проверяют в карточке подписчика или отдельной выборкой из кода.
Автоматическая рассылка не формируется.
У рубрики не задано расписание генерации выпусков рассылки. Обязателен хотя бы один параметр расписания: дни недели или числа месяца.
Форма подписки есть, а управлять подпиской негде.
В параметрах формы не указан адрес страницы управления подпиской. Страницу заводят отдельным компонентом и указывают путь к ней в форме.
Сегменты рассылки не находятся в разделе подписки.
Сегменты и кампании относятся к другой, более новой подсистеме рассылок платформы. Подписка работает рубриками и выпусками, а сегменты живут в отдельном разделе маркетинга.
В форме видны служебные рубрики.
Включён показ скрытых рубрик в параметрах компонента формы. Скрытые рубрики назначает администратор, и посетителю их в форме обычно не показывают.
Частые вопросы
Что выбрать: подписку или email-маркетинг?
Для простой рассылки новостей по рубрикам хватает подписки. Для сегментов, цепочек писем и триггеров берут современный модуль маркетинга.
Чем рубрика отличается от сегмента?
Рубрика - тема, на которую человек подписывается сам. Сегмент - вычисляемый список получателей, который собирается по условиям перед отправкой.
Как сделать двойное подтверждение подписки?
Оно встроено: адрес получает письмо со ссылкой подтверждения. Без перехода по ссылке подписка остаётся неподтверждённой и писем не получает.
Можно ли подписать пользователя из кода?
Да, через интерфейс модуля подписки, но подтверждение всё равно требуется. Молча подписывать посетителей без согласия не стоит и по закону.
Куда уходит адрес отправителя выпусков?
Он берётся из настроек модуля подписки и подставляется в письма. Отдельно проверяют, что этот адрес проходит проверки почтовых служб.
Смежное
-
Email-маркетинг - оглавление подтемы
-
Рассылка с нуля: сегмент, письмо, отправка, отписка - современная подсистема рассылок
-
Рассылка не отправляется: разбор причин - когда письма не уходят
-
Триггерные письма: событие, цепочка, цель и отписка - письма по событию
-
Настройка отправки почты: локальная отправка и SMTP - доставка писем с сервера
-
Согласие на обработку данных: соглашение, компонент, запись факта - согласие при подписке
-
Модули и решения в 1С-Битрикс - устройство модулей целиком
-
Всплывающее окно на витрине: условие показа, частота, скорость - где обычно собирают адреса
-
Рассылки изнутри: два модуля, выпуск, очередь - чем два модуля рассылок отличаются