Обновление в продукте за июль и август

Лето — всё. Но мы не лето, продолжаем развивать продукт и добавлять новое:
  • в рассылках бомбы — html-редактор, остановка при высоком спам-рейте, удобняшки в UI;
  • в отчетофильтрах подкрутили «Сводный отчет по рассылкам», научились пересчитывать сегментации по событию и космос — теперь умеем фильтровать по объектам в контексте;
  • для программ лояльности куча всего: акции побили на скидочные и балльные, научились делить их по брендам, прикрутили новые виды акций, новые условия доступности, фильтры — все вкусное;
  • в сервисы добавили море всего — частично перекрыли функционал старых v2-сервисов, частично написали новое сразу на v3.

Рассылочное

Хотел написать «Не так давно запустили визуальный редактор рассылок», а потом решил посмотреть, как это не так давно и оказалось, что уже почти год прошел! Время летит — страшное дело. В дополнение к визуальному редактору прикрутили HTML-редактор рассылок, который уже умеет сразу показывать и код верстки, и пример шаблона. Вот тут подробнее про него — целый пост.
HTML-редактор рассылок
Мы честный сервис рассылки: если потребитель отписался — мы ему не шлем ничего. Но и наши рассылки иногда провайдерами почтовых сервисов помечаются как спам-рассылки. Дабы не усугублять ситуацию с проблемной рассылкой, теперь если ее спам-рейт превысил 10%, мы автоматически остановим ее, проставим статус «Остановлена из-за спама», а автор рассылки получит уведомление о произошедшем. Случается такое, как правило, на новых проектах — заимпортировали  к нам базу в 200 тысяч человек и по всей базе отправили рассылку. Реакция почтовиков на такое моментальная — режут, потому что прогревать надо: первый день 30-40 тысяч отправить, на следующий еще 40-50. Так потихоньку провайдер привыкнет и будет нормально реагировать на большие пачки сообщений с нового домена. А рассылка с остановкой из-за спама выглядит вот так:
stopped-bcz-of-spam
Немного про смс-рассылки. Если хотите отправить смски со списка потребителей, то теперь вам предложат создать рассылку в стандартном интерфейсе. Никаких отдельных файликов и прочего старья. Выбранные в фильтре потребители, конечно же, переедут на вкладку «Получатели» в новой рассылке — заново фильтровать не придется.
Просмотр смс-сообщений тоже улучшили. Раньше мы просто показывали действие «Отправка смс», а теперь если по нему кликнуть, увидите и шаблон сообщения, и текст сообщения, и статус доставки. Смотрите сами:
Если статус нерадостный, или СМС вообще на проекте не включены, про это напишем там же:
sms-data-in-UI-bad-status
Приятная мелочь: теперь можно менять теги у работающих или завершенных рассылок, смс или email — не важно. Это упростит группировку рассылок и сбор статистики. Особенно полезно тем проектам, где маркетологи решают «внезапно» переделать всю отчетность, для чего меняют пометки на всех рассылках на «правильные».

Отчетно-фильтрационное

Подкрутили «Сводный отчет по рассылкам». Добавили в него Категорию рассылок — автоматические/транзакционные/ручные; добавили CTOR, % запросов на отписку; убрали отображение запуска по каждому дню для триггеров — теперь информация отображается по месяцам. При этом немного изменилась методика расчета дохода от рассылок — теперь доход в месяце определяется как доход от рассылок, запущенных в выбранном периоде + доход, который принесли рассылки, запущенные до выбранного периода. Сейчас для повышения производительности отчета стоит ограничение на месяц назад, но 95% выручки, как правило, попадает в этот диапазон. Немного вложились в производительность:
  • научились переиспользовать отчеты — если отчет с такими настройками уже строится, а кто-то запрашивает точно такой же — подпишем человека на тот, что строится;
  • научились находить и автоматически останавливать долгие отчеты, которые в обработке уже дольше 6 часов. Такие отчеты не будут занимать ресурсы проекта. А по уведомлениям об отмене аналитик создаст задачу на оптимизацию отчета или оптимизирует его сам.
В сегментациях научились делать пересчет по событию. Функционал достаточно опасный для проекта — если пересчитывать тяжелые сегментации на каждый чих, то работать система будет еле-еле, мы это автоматически пока никак не ловим, поэтому аккуратнее. Понадобится это для моментального ввода-вывода потребителей в сегментацию. Например, хотите поощрять покупателей, набравших больше 500 баллов — заводите промо-акцию со специальной скидкой, в потребителей включаете сегмент «Потребители с 500 баллов и более», сегмент пересчитываете моментально по событию изменения баланса. И все счастливы. Выглядит это вот так:
segment-recalc-on-event
На списке сегментаций все сегменты с пересчетом по событию сразу видно — пишем в колонку «График обновлений», по какому событию пересчитывается сегмент.
segment-list-with-onEvent-info
В фильтры добавили какой-то космос просто — фильтрацию по параметрам из объектов в контексте. Работает только в событийных триггерах, пока только по строке и дате. Суть в том, что для сравнения берем не только конкретные значения, но и значения из объектов в контексте триггера, они все перечисляются при настройке триггера всегда, в рамочку обвел.
trigger-context-parameters
Работает так же, как с параметрами в письмах — через точку уходите до нужного поля объекта. Использовать можно в самых разных случаях. Например, проверяем, что дата в дополнительном поле потребителя меньше, чем дата совершения заказа. Или дата действия меньше, чем дата в дополнительном поле заказа. Или строка в дополнительном поле потребителя равна другой строке в дополнительном поле потребителя. Космос.

Лояльность и акции

Тут за два месяца тоже наворотили — любо-дорого смотреть. Перво-наперво сообщаем: мы разделили промоакции на балльные и скидочные. Теперь в балльных можно использовать только балльные бенефиты, в скидочных — только скидочные. С одной стороны мы увеличили количество работы для клиента — нельзя теперь все в одной акции завести.  С другой стороны такое разделение упрощает понимание работы: вот эта акция дает только скидки — они работают исключительно в реальном времени, а вот эта акция дает баллы — она умеет и в реальном времени, и потом через импорты, например. Сложность акции «все в одном» в том, что настроите вы акцию, которая вроде и скидку даст, и баллы начислит, а в отложенном режиме только баллы сработают и начнутся долгие поиски ответа на вопрос «А почему?». Вот мы так не хотим, мы хотим проще — так и сделали. В интерфейсе это выглядит вот так:
promo-devided
Еще научились разделять промоакции по брендам. Актуально для многобрендовых проектах с процессингом, В блоке условие доступности добавили ограничение по бренду. Выглядит вот так:
Научились заводить в интерфейсе акции вида «За каждые потраченные 100 рублей получи 5 баллов»:
Добавились новые условия доступности по промоакции: по времени и дням недели. Теперь умеем заводить акции, которые работают по выходным с 19 до 23, смотрите:
К промо-кодам прикрутили импорт через админку, теперь можно ручками через UI, а не как обычно фидлером. А еще сделали целую страницу про дисконтные карты, в разделе Кампании — там списком выводим все карты, которые есть, и кому они принадлежат. Фильтр, ясное дело, прилагается. Кстати о фильтрах. Сделали фильтр «сумма оплаты по заказам продуктов из сегмента» — позволяет считать накопительные скидки, которые действуют только на определенный сегмент продуктов. Можно это использовать для уточнения сегментов в ручных рассылках, например «Купили мебель для кухни на один миллион рублей — хороший сегмент, чтобы предложить набор дорогой посуды», выглядит так:
Приятные мелочи списком:
  • В импорте заказов теперь умеем принимать зону и обновлять ее у потребителя. Новое поле называется Area.
  • Научились НЕ начислять баллы за заказ, если он уже был оплачен баллами.
  • Прикрутили внешние идентификаторы к дисконтным картам. Теперь касса может идентифицировать человека не только по номеру карты, но и по штрих-коду, например.
  • Научились обрабатывать yml-фиды, закрытые базовой авторизацией.
Плавно переходим к сервисам. Закончили большую историю с API V3:
  • у промоакций появились кастом-филды, их можно редактировать в конструкторе;
  • научились возвращать текущий баланс потребителя и список его дисконтных карт;
  • умеем отображать сумму заказов потребителя за все время или за определенный период;
  • научились возвращать список доступных акций из определенного сегмента для потребителя вместе с кастом-филдами.
В результате всего этого в личном кабиненете умеем отображать историю вида «Ваша текущая скидка 10%. До следующей скидки 15% осталось совершить заказов на 15 000 рублей».

Оперативно-сервисное

Скучный раздел дайджеста без картинок — только ссылки на новые сервисы, которые позволят заработать больше денег. Всего-то. Сервисы промо-акций и программ лояльности:
Работа с потребителем:
Экспорт действий рассылок — операция для него настраивается через админку и позволяет вернуть еще кучу действий, помимо рассылок. Выдача приза — веха v2 подходит к концу, готовим сервисы для переезда. Все идет к тому, что можно будет запустить магазин подарков за баллы на v3. Получение сегментов потребителя — на случай, если на вашей стороне на сегменты завязана какая-то логика. Экспорт действий с категориями продуктов и Экспорт действий с продуктами — возвращают огромные простыни XML, но зато позволяют аналитику на сторону утащить. Получение популярных продуктов — постраничный вывод самых популярных продуктов. На сегодня все. До новых встреч.