Сколько магазин на самом деле теряет на брошенных корзинах
Корзина, пожалуй, самый недооценённый отчёт в интернет-магазине. Владельцы смотрят на конверсию из визита в заказ, на среднюю сумму чека, на стоимость клика в рекламе, но почти никогда не открывают список корзин, по которым заказ так и не оформили. А там обычно лежит вторая выручка магазина. Человек уже выбрал товар, положил его в корзину, дошёл до оформления и отвалился на доставке, на регистрации, на попытке вспомнить, есть ли рядом пункт выдачи.
Разница между таким посетителем и холодным трафиком огромная. Холодного нужно заново привести, заинтересовать и убедить. Владелец брошенной корзины уже прошёл весь путь и остановился в шаге от оплаты. Вернуть его дешевле, чем купить нового, и это едва ли не единственная категория аудитории, где напоминание не выглядит навязчивым: вы напоминаете человеку про его же выбор.
В 1С-Битрикс механика возврата не требует внешнего сервиса рассылок. Она встроена в платформу и настраивается из административной панели. Дальше идёт устройство email-триггеров магазина в 1С-Битрикс: что можно включить за вечер, где обычно ломается отправка и в какой момент без разработчика уже не обойтись.
Где в 1С-Битрикс живут триггерные рассылки
За автоматические письма отвечает модуль Email-маркетинг (в исходниках он называется sender). В административной панели раздел находится по пути Маркетинг → Триггерные рассылки. Там же лежит список готовых сценариев, которые поставляются вместе с продуктом.
Триггерная рассылка в терминологии платформы это последовательность писем, которые сайт отправляет сам, в ответ на действие пользователя или на наступившее событие. От обычной рассылки её отличают две вещи. Во-первых, вы не выбираете дату отправки: письмо уходит тогда, когда сработало условие. Во-вторых, у рассылки есть цель, то есть событие, при наступлении которого цепочку для конкретного человека нужно остановить, потому что он уже сделал то, чего от него добивались.
Важная оговорка перед стартом: модуль Email-маркетинг входит не во все редакции «1С-Битрикс: Управление сайтом». Прежде чем планировать работы, откройте список установленных модулей на своём сайте и убедитесь, что sender у вас есть. Если раздела «Триггерные рассылки» в меню «Маркетинг» нет, вопрос решается лицензией, а не настройкой, и выяснить это лучше до того, как вы пообещаете отделу маркетинга запуск на следующей неделе.
Семь готовых сценариев из коробки
После установки модуля в списке уже лежат шаблоны триггерных рассылок. По документации 1С-Битрикс их семь: «Забытая корзина», «Отменённый заказ», «Письма вдогонку», «Будильник-90», «Хулиганство», «Будильник-180» и «Будильник-360». Первый сценарий и есть тот самый, ради которого всё обычно затевается. Второй пишет тому, чей заказ ушёл в отмену. «Письма вдогонку» работают после покупки, а четыре оставшихся шаблона занимаются реактивацией клиентов, которые давно не появлялись, и отличаются длиной паузы и тональностью.
Каждый шаблон в списке можно переименовать, запустить или остановить, отредактировать письма внутри цепочки, посмотреть получателей и статистику. Справа от названия стоит знак вопроса с пояснением, что именно этот сценарий делает. Открыть его до запуска стоит обязательно, потому что названия вроде «Хулиганство» сами по себе ничего не объясняют.
Главный совет по готовым шаблонам: не включайте все семь в один день. Это классическая ошибка запуска. Магазин ставит галочки на всём списке, через неделю получает жалобы на спам и отписки, и рассылки выключают целиком, вместе с брошенной корзиной, которая как раз приносила деньги. Начните с одного сценария, дайте ему месяц и только потом добавляйте следующий.
Как настраивается триггер «Забытая корзина»
Если готовый шаблон не подходит и рассылку создают вручную, форма запрашивает четыре вещи.
Первое поле, название рассылки, меняется через значок маркера рядом с заголовком. Называйте по-человечески: через полгода «Рассылка 3» ничего не скажет ни вам, ни новому маркетологу.
Второе поле, сайт, нужно тем, у кого на лицензии несколько сайтов. На мультисайтовых проектах перепутанный сайт даёт самые обидные инциденты: письма с ассортиментом одного магазина уходят клиентам другого.
Третье поле, условие запуска, и есть триггер. В списке доступны, среди прочего, «Забытая корзина», «Давно не заходил на сайт», «Давно не покупал» и «Изменение статуса заказа». Для первых трёх настраивается время запуска, которое выбирается из списка с шагом в 30 минут, и параметр «Забыл более (дней)» (у соседних сценариев он формулируется как «Не заходил более» и «Не покупал более»). Там же есть переключатель «Обработать старые данные»: если его включить, при первом запуске рассылка применится и к тем пользователям, у которых условие выполнилось до её создания.
Четвёртое поле, достижение цели, задаёт событие, которое прекращает цепочку. Доступны уведомление, посещение сайта, изменение статуса заказа, оплата или создание нового заказа. Для брошенной корзины логичная цель это создание или оплата заказа: как только человек оформил покупку, второе и третье письмо ему уже не нужны.
Отдельно про «Обработать старые данные». Переключатель выглядит безобидно, но именно он однажды отправляет полторы тысячи писем «вы забыли товар в корзине» людям, чьи корзины лежат с позапрошлого года. Если база старая, безопаснее оставить его выключенным и набирать аудиторию с момента запуска.
Почему рассылка настроена, а письма не идут
Самая частая проблема при запуске триггерных рассылок в 1С-Битрикс живёт не в настройках рассылки, а в том, как на сайте выполняются агенты.
По умолчанию агенты в 1С-Битрикс запускаются на хитах, то есть при заходе посетителей на сайт. Для триггерных и периодических рассылок этого мало. Если ночью на сайт никто не зашёл, отложенное письмо просто не отправится. Если зашёл один человек, отправка выполнится ровно в тот момент и в том объёме, в котором успеет отработать его хит. Официальная рекомендация здесь однозначная: для корректной работы периодических и триггерных рассылок агенты нужно перевести на cron.
Технически это делается через файл проверки агентов /bitrix/php_interface/cron_events.php, который добавляется в расписание cron на сервере. После этого агенты и отправка почтовых событий обрабатываются независимо от посещаемости.
Вторая часть настройки живёт в параметрах самого модуля Email-маркетинг. Там задаются:
- интервал в секундах для пошаговой рассылки (ноль означает отправку за один шаг);
- количество писем, отправляемых агентом за один запуск, и интервал между запусками агента;
- количество писем, отправляемых кроном за один запуск;
- количество потоков при отправке;
- метод автоматической отправки рассылки: агент или крон;
- метод и интервал проверки периодических рассылок;
- список адресов для поля «От кого» и адреса для тестовой рассылки;
- отслеживание прочтений и переходов, адреса страниц отписки и подписки, заголовки письма, настройки согласия на рассылки.
Количество писем за один запуск и число потоков подбирают под возможности хостинга и под лимиты почтового провайдера. Слишком агрессивные значения приводят не к быстрой рассылке, а к блокировке отправляющего адреса. Слишком осторожные дают другой эффект: письмо о забытой корзине приходит через сутки, когда человек уже купил у конкурента.
Что проверить до того, как включать первый триггер
Запуск триггерных рассылок часто срывается на вещах, которые к самому модулю отношения не имеют. Порядок подготовки выглядит примерно так.
Сначала разберитесь с адресом отправителя. В настройках модуля есть список адресов для поля «От кого», и туда стоит поставить нормальный корпоративный ящик на домене магазина, а не бесплатную почту. Домен должен быть подготовлен к массовой отправке на уровне DNS. Без этого письма о забытой корзине уходят в спам, и никакая настройка триггера этого не исправит.
Затем протестируйте отправку. В настройках предусмотрен отдельный список адресов для тестовой рассылки. Заведите туда несколько своих ящиков в разных почтовых системах и посмотрите на письмо глазами получателя: как выглядит тема, что подставилось в персонализацию, не поехала ли вёрстка, работает ли ссылка отписки.
Дальше проверьте страницы отписки и подписки. Их адреса задаются в настройках модуля, и это не формальность: рабочая ссылка отписки снижает количество жалоб на спам, а жалобы бьют по доставляемости всех писем магазина, включая уведомления о заказах.
И только после этого включайте сам сценарий, на небольшом интервале, с одним письмом и с выключенной обработкой старых данных. Первую неделю смотрите в журнал отправки чаще, чем на выручку: сначала важнее убедиться, что письма действительно уходят и уходят тем, кому предназначались.
Что писать в письме о забытой корзине
Техническая часть здесь занимает от силы четверть работы. Остальное это содержание письма, и оно решает больше, чем интервал отправки.
Первое письмо в цепочке работает как напоминание. Продавать в нём ничего не нужно: человек мог отвлечься, у него сел телефон, его позвали обедать. Достаточно показать состав корзины, картинки товаров и кнопку, которая возвращает к оформлению. Для вывода содержимого корзины в письме в 1С-Битрикс есть штатный компонент sale.basket.basket.small.mail, он показывает содержимое корзины пользователя и используется как раз в триггерных рассылках.
Второе письмо, если вы его вообще делаете, отвечает на возражение. Причём на настоящее, вытащенное из статистики и из разговоров с менеджерами: непонятная стоимость доставки, сомнения в наличии, вопрос по гарантии. Здесь уместны условия доставки, сроки, ответы на типовые вопросы.
Третье письмо последнее, и его лучше не делать вовсе, чем делать плохо. Если внутри только «последний шанс» и таймер обратного отсчёта, вы покупаете один заказ ценой отписки. Скидку в письме о брошенной корзине вообще стоит давать с осторожностью: часть покупателей быстро учится бросать корзину намеренно, чтобы дождаться купона.
И ещё одно, о чём забывают. Письмо о забытой корзине почти всегда открывают с телефона, часто в дороге. Проверьте вёрстку на узком экране и убедитесь, что кнопка возврата к оформлению попадает под палец, а не прячется под тремя экранами карточек.
Триггеры, которые окупаются не хуже корзины
Брошенная корзина известнее остальных сценариев, но самой прибыльной бывает не всегда. В магазинах с длинным циклом покупки корзину часто бросают потому, что решение принимает не один человек.
Отменённый заказ. Заказы отменяются по причинам, которые магазин часто может устранить: не дозвонились, не оказалось нужного размера, не устроил срок. Письмо после отмены с альтернативой или с предложением связаться иногда возвращает больше денег, чем вся цепочка по корзине.
Изменение статуса заказа. Формально это сервисные письма, а не маркетинг. Но именно они снимают нагрузку с телефона: покупатель, который видит «заказ собран» и «передан в доставку», не звонит менеджеру с вопросом, где его заказ. В магазинах с большим потоком это экономия рабочего времени, которую легко посчитать.
Давно не покупал и давно не заходил. Реактивация работает предсказуемо там, где у товара есть естественный цикл повторной покупки: расходники, картриджи, фильтры, корма, косметика. Интервал ставится не наугад, а по своим же данным. Посмотрите, через сколько дней в среднем возвращается покупатель, и назначьте письмо чуть раньше этого срока.
Письма вдогонку. Сценарий после покупки, который используют реже всех, а зря. Инструкция по товару, ответ на типовой вопрос новичка, аккуратная просьба оставить отзыв выстраивают повторные продажи лучше, чем очередная скидка.
Когда готовых триггеров не хватает
Штатные сценарии закрывают базовые ситуации розничного магазина. Как только бизнес-логика усложняется (оптовые клиенты со своими условиями, товары под заказ, услуги с записью, интеграция с 1С), готового условия запуска в списке не оказывается, и нужен собственный триггер.
Платформа это предусматривает. Свой триггер оформляется как класс, наследующий \Bitrix\Sender\Trigger для событийных триггеров или \Bitrix\Sender\TriggerConnectorClosed для ситуаций, когда событие как раз не наступило. В классе реализуют набор методов: getName() возвращает отображаемое название, getCode() отдаёт уникальный код, getEventModuleId() и getEventType() указывают модуль и тип события, getRecipient() формирует получателей, filter() решает, запускать рассылку или нет, getForm() рисует форму настройки. Есть и дополнительные методы: getPersonalizeFields() и getPersonalizeList() отвечают за теги персонализации, canBeTarget() за возможность использовать триггер как целевое действие, canRunForOldData() за обработку старых данных.
Регистрируется такой триггер через обработчик события модуля sender:
AddEventHandler("sender", "OnTriggerList", array("MySenderEventHandler", "onTriggerList"));
В обработчике класс триггера передаётся в $data['TRIGGER'], после чего он появляется в списке условий запуска наравне со штатными. Дальше маркетолог настраивает рассылку в админке обычным способом и в код больше не заходит. В этом и состоит главное достоинство подхода: разработка нужна один раз, эксплуатация остаётся в руках маркетинга.
Работы здесь немного, но она требует человека, который понимает и модуль sender, и структуру данных магазина. Если такого в команде нет, разумнее отдать задачу подрядчику. У нас это стандартная позиция в смете на разработку и доработку сайтов на 1С-Битрикс, обычно в связке с настройкой всей цепочки писем и переводом агентов на cron.
Как понять, что всё это работает
Модуль умеет отслеживать прочтения и переходы, если соответствующие опции включены в настройках. Но отчёт по открытиям плохо годится для оценки: цифра красивая и почти ни о чём не говорит.
Смотреть стоит на долю корзин, по которым в итоге создан заказ, до запуска и после. Рядом полезно держать выручку с писем цепочки за период, а не количество кликов. И обязательно динамику отписок: если после запуска триггеров она заметно выросла, письма приходят слишком часто или не по делу.
Считать эффект честно мешает одна ловушка: часть людей вернулась бы и без письма. Полностью развести эти группы без сложных экспериментов не получится, но грубую поправку сделать можно. Сравните поведение похожих сегментов до запуска и после, вместо того чтобы приписывать рассылке всю выручку по вернувшимся корзинам.
Как это выглядит на практике, покажу на условном примере. Магазин промышленного оборудования включает один сценарий забытой корзины с единственным письмом и отложенной отправкой. Через месяц выясняется, что письмо чаще всего возвращает не розничных покупателей, а закупщиков, которые собирали корзину для согласования сметы и просто отложили её до понедельника. Магазин переписывает письмо: вместо «вы забыли товары» появляется «сохранили ваш подбор, можем выставить счёт». Формулировка меняется, механика остаётся прежней. Такой разворот встречается часто: сначала включают технику, потом обнаруживают, кто на самом деле по ту сторону письма, и переписывают текст под этого человека.
Поэтому запускать email-триггеры магазина имеет смысл как небольшой постоянный процесс, а не как разовую настройку: включили один сценарий, месяц посмотрели на цифры и на реакцию клиентов, поправили текст, добавили следующий. При таком темпе рассылки не превращаются в фоновый шум, а брошенная корзина в 1С-Битрикс перестаёт быть строчкой в отчёте, которую никто не открывает.
Частые вопросы
Через сколько времени отправлять письмо о брошенной корзине?
Универсального значения нет, и платформа его не навязывает: время запуска выбирается из списка с шагом в 30 минут, а порог «Забыл более» задаётся в днях. Отталкивайтесь от цикла покупки. В рознице с недорогим товаром решение принимают за часы, в B2B согласование растягивается на дни, и напоминание через час там будет преждевременным.
Нужен ли внешний сервис рассылок, если есть модуль Email-маркетинг?
Для триггерных писем магазина штатного модуля обычно достаточно: он видит корзину, заказы и статусы напрямую, без выгрузок и синхронизаций. Внешний сервис имеет смысл, когда нужны сложная сегментация, сквозная аналитика по нескольким каналам или большие объёмы регулярных рассылок.
Почему письма уходят только когда на сайт кто-то заходит?
Потому что агенты выполняются на хитах. Для триггерных и периодических рассылок агенты нужно перевести на cron, тогда отправка перестаёт зависеть от посещаемости. Это первое, что стоит проверить, если рассылка настроена, а письма приходят с задержкой или не приходят вовсе.
Можно ли отправлять напоминание тем, кто не зарегистрирован?
Отправлять некуда, если адреса нет. Поэтому часть работы лежит не в рассылке, а в оформлении заказа: чем раньше на шаге оформления появляется поле email, тем больше корзин вообще попадает в зону действия триггера.
Сколько писем должно быть в цепочке?
Одно письмо приносит основную часть результата. Второе имеет смысл, если оно отвечает на конкретное возражение. Третье оправдано редко и чаще всего добавляет отписок. Цепочку в любом случае нужно останавливать по достижению цели, иначе покупатель получит напоминание о корзине уже после оплаты заказа.
