«Напишіть усім, хто давно не був» — типова задача перед несезоном. Проблема не в тексті, а в двох питаннях до нього: хто такі «всі, хто давно не був» і чим до них дотягнутися, якщо в половини бази немає нічого, крім телефона. Сегменти відповідають на перше питання, розсилки — на друге.
Де це в CRM
- Сегменти: «Маркетинг → Сегменти».
- Розсилки: «Маркетинг → Розсилки». Там же зверху картка «Тихі години».
- Фільтр за збереженим сегментом: у списку «Клієнти», поруч зі звичайними фільтрами.
Сегмент: правило або список
Сегмент буває двох видів. Динамічний — це збережене правило: дерево умов, де на верхньому рівні стоїть «Усі умови» або «Будь-яка умова», а всередині — поля з готового каталогу. Статичний — просто список людей, який веде людина.
Полів у каталозі десятки, і вони різні для клієнтів, лідів і співробітників. Для клієнта це, зокрема: потрачено всього, кількість оплачених візитів, днів з останнього візиту, скасованих записів, неявок, днів до дня народження, рівень лояльності, чи є email і телефон, чи є активний абонемент, а також умови на зв'язки — «був у майстра», «був у салоні», «купував послугу», «складається в сегменті». Значення для полів-довідників розділ підставляє сам: у правилі зберігається ідентифікатор майстра чи послуги, а не текст.
Дерево обмежене: вкладеність до чотирьох рівнів, не більше 50 умов і не більше 500 значень у списковій умові. Правило приходить з інтерфейсу, а з нього збирається SQL, тому в запит підставляються тільки заздалегідь описані вирази, а значення йдуть параметрами.
Кнопка «Порахувати» в формі показує, скільки людей потрапляє за поточним правилом — до збереження.
Як оновлюється склад
Правило рахується запитом лише у двох випадках: у тому самому попередньому перегляді та коли перевіряють одну людину. Усе інше — фільтр списку клієнтів, аудиторія розсилки — працює за матеріалізованим складом. Інакше правило на кшталт «не була 60 днів і витратила понад 5 000» довелося б виконувати на кожному відкритті списку й на кожному отримувачі.
Тому в динамічного сегмента є режим перерахунку — «вручну» або «за розкладом» — та інтервал у хвилинах (від однієї). Перерахунок за розкладом робить крон segment/refresh, за замовчуванням раз на 15 хвилин: він бере протухлі активні сегменти й переписує склад, окремо рахуючи, хто увійшов і хто вийшов. Кнопка «Перерахувати склад» у списку робить те саме для одного сегмента, а позначка «склад застарів» показує, що інтервал уже минув.
Перед використанням склад ще раз перевіряється: протухлу невелику аудиторію перерахує одразу, а велику (понад 20 000) поставить у чергу. Віддавати «0 отримувачів» тільки тому, що сегмент створили хвилину тому, розділ не має права.
Людину можна покласти в сегмент руками — і це переживає перерахунок правила: ручний запис позначається окремим джерелом. Поки що ця можливість є в API, кнопки в розділі немає.
Розсилка: аудиторія і канали
Аудиторія розсилки — це або «Усі клієнти», або «Усі співробітники», або сегмент. Сегмент задає й тип отримувачів: розсилка по сегменту лідів працює без окремого виду розсилки.
Канали задаються списком «Канали за пріоритетом» — це каскад, а не вибір одного: пробуємо по черзі, і надішле перший, до якого дотягнемось. Порядок за замовчуванням — Telegram, Viber, WhatsApp, email, SMS: від безкоштовного до платного, бо SMS коштує грошей за штуку.
Кожен канал вимагає вашої власної активної інтеграції. Це важливо для розуміння лімітів: розсилки не витрачають добову квоту листів тарифу — та квота стосується листів-нагадувань, які йдуть нашою поштою. Розсилка ж іде через інтеграцію салону і впирається в обмеження вашого провайдера, а не наші.
Перед відправкою є «Сухий прогін»: скільки людей в аудиторії, скількох доставимо, скільки відписаних і до скількох немає контакту в жодному з обраних каналів, плюс розкладка за каналами і десяток прикладів із замаскованими контактами. Перед листом на три тисячі це єдиний спосіб не дізнатися постфактум, що дві тисячі з них недосяжні.
Черга, статуси і повтор
Отримувачі матеріалізуються в окремий список — разом із відписаними та недосяжними, зі статусом «пропущено» і причиною. Без цього з відчуту неможливо зрозуміти, чому з 218 людей пішло 180.
Від 50 отримувачів відправка йде через чергу пачками по 50; менше — синхронно. Статуси розсилки: чернетка, відправляється, відправлено, помилка. Кнопка «Повторити недоставлені» чіпає тільки тих, у кого статус «помилка» — вже доставлені не отримають другого повідомлення.
Якщо воркер помер посеред відправки, розсилка зависла б у стані «відправляється» назавжди. Цим займається той самий крон mailing/dispatch (раз на п'ять хвилин): усе, що висить понад дві години, він або дошле, або закриє за фактичним результатом.
Відписка
Відписка ставиться клієнту, а не розсилці: людина відписується від маркетингу салону цілком. У маркетингове повідомлення посилання на відписку підставляється в місце {unsubscribe}, а якщо в шаблоні його немає — дописується в кінець. Прапорець «Службове повідомлення» вимикає це: нагадування про запис — не реклама. Відписку перевіряють двічі — під час збирання отримувачів і в момент відправки, бо між ними в великій розсилці може минути година.
Тихі години
Тихі години — це вікно, коли салон мовчить. За замовчуванням з 21:00 до 09:00 за часом основного салону компанії; змінити межі або поставити «надсилати цілодобово» можна прямо на вкладці «Розсилки», якщо у вас є право керувати налаштуваннями.
Діють вони так. Запланована розсилка, чий час припав на тишу, не йде «раз уже пора», а переноситься на ранок. Ручна відправка вночі не блокується, а перепитує: показує, коли можна, і дає кнопку «Надіслати попри це» — бо доречні нічні приводи теж бувають.
Ці ж тихі години питають ще два механізми: кампанії утримання (післявізитні опитування, привітання з днем народження, повернення тих, хто зник) і просьби про відгук. Обидва ходять кроном щогодини цілодобово й без цієї перевірки писали б клієнтам о третій ночі. А от розподіл лідів має власні тихі години — окрему настройку зі своєю поведінкою; це різні речі, і міняти їх треба в різних місцях.
Відкладена відправка (поставити розсилку на конкретну дату й час) у самому розділі кнопки поки не має: статус, дата і команди планування є в API, а виконує їх крон.
Що варто робити
Заведіть два-три динамічних сегменти під реальні приводи — «давно не була», «була в цього майстра», «день народження на тижні» — і поставте їм перерахунок за розкладом. Перед кожною розсилкою запускайте сухий прогін: якщо «доставимо» сильно менше за «усього в аудиторії», проблема не в тексті листа, а в тому, що каналів у вас підключено менше, ніж ви думали.
Коментарі
Коментарів поки немає. Поставте запитання — відповідаємо протягом доби.