Email — не горобець, вилетить — не впіймаєш або як ми зробили email-маркетинг машиною

Більше 40% виручки Lingualeo приходить з email — каналу. У 2015 році ми відправили 300 млн листів. Для нас вкрай важливо, щоб цей канал продажів працював ефективно: прогнозовано, масштабируемо, а ROI розсилки максимизировался.



Сьогодні ми в загальних рисах розповімо про нашу непросту системі email-маркетингу, про переїзд з однієї платформи на іншу, про систему локалізації і про технічні нюанси переїзду. У цій колективно підготовленої статті (Роман Домрачев, Backend Team Leader Lingualeo; Іван Зеленін, ex-керівник відділу email-маркетингу і CRM Lingualeo, нині операційний директор класного агентства з CRM-маркетингу WIM.Agency; Володимир Вітковський, менеджер по монетизації Lingualeo; Костянтин Шиманаев, провідний менеджер з маркетингу Lingualeo) є цікаві речі і для маркетологів, і для технарів!

У 2015 році Lingualeo зіткнувся з необхідністю переходу на нову платформу та технологію відправлення листів, так як поточний ресурс (агентство, яке працювало з платформою ExpertSender) вже не справлявся з нашими обсягами і «хотєлками». Це була хороша якісна платформа. Але Lingualeo вже з неї виріс. Плюс нам було важливо контролювати весь процес e-mailing'a: від дизайну до відправки. Тому ми вирішили перевести роботу на іншу платформу і почати готувати розсилки in-house. Ми хотіли зробити email marketing машиною.

Для вибору нової системи ми сформували наступні критерії:
  • вартість на 1000 листів;
  • можливість роботи з різними мовними локалями;
  • максимальна доставляемость на email-домени по всьому світу;
  • зручність інтерфейсу для адміністрування великої кількості email-ланцюжків;
  • час доставки великих обсягів листів протягом декількох годин (до цього максимально ми могли надіслати 1-2 млн на день, при цьому було необхідно просити агентство робити ручні «докрутки»);
  • детальна аналітика (ми хотіли знати, що відбувається з нашими листами, які дії клієнти здійснюють по відношенню до них, але були не готові будувати аналітичну систему на своїй стороні);
  • аптайм > 99,5%;
  • проста інтеграція з бекендом Lingualeo;
  • російськомовна підтримка і її присутність у Росії, включаючи технічний персонал.
Ми зупинили вибір на платформі Emarsys.
Але вибрати платформу на підставі ТЗ було малою дещицею. Наступним кроком стала інтеграція з Lingualeo.

Схема інтеграції
Будь-яка інтеграція з Email service provider (далі — ESP) передбачає 3 етапи:
  • регулярна синхронізація бази контактів з використанням выгрузок CSV;
  • миттєва синхронізація з використанням API.;
  • налаштування API-тригерів для передачі подій.
У нашому випадку у Lingualeo ще додалася автоматичне вивантаження аналітики з ESP, так як нам важливо було розуміти все, що відбувається на стороні ESP (надіслані листи, відкриття листів, кліки, недоставки), і порівнювати це з діями користувачів на сайті. Плюс система локалізації. Це з технічної сторони.

З маркетингової вимагалося:
  • Налаштувати логіку тригерів і бесід;
  • Оновити, протестувати і викотити дизайн і верстку листів;
  • Простежити за доставляемостью, налаштувати постмастера і забезпечити плавний розігрів;
  • Оновити формат аналітики та підвищити його смислову значущість.
На початковому етапі інтеграції ExpertSender і Emarsys були підключені паралельно на різних поштових піддоменах.

Користувачі синхронізуються в обидва ESP, а тригери відправляються через один. До якого провайдера відноситься тригер, налаштовує адміністратор. Так ми змогли поступово перенести старі тригери в Emarsys, а нові робити відразу в ньому.

Така схема припускає, що синхронізація користувачів повинна проводитися у всі ESP одночасно. А також повинна бути можливість відправляти тригери в обидві системи, але листи надсилати тільки з однієї. Проте, в якості захисту від помилок, відправка тригерів повинна проводитися тільки в одну з підключених ESP, щоб не допустити повторної відправки одного і того ж листа з іншого ESP. Адміністратор може керувати конфігурацією: через яку ESP який тип листів відправляти.

Синхронізація користувачів і відправка тригерів – запити в Emarsys. При синхронізації ми шолом значення, які зберігаються в базі даних ESP, а при відправці тригерів відправляємо ідентифікатор дані, на підставі яких провайдер збирає лист.

Локалізація шаблонів — два завдання, які запускаються по крону: одна бере шаблони з ESP, парсити їх і відправляє сегменти на переказ у WebTranslateIt (далі WTI), а друга отримує перекладені сегменти з WTI і вивантажує їх у ESP. Детальніше про локалізації нижче.

Запити на створення, оновлення користувачів і відправку тригерів виконуються через чергу RabbitMQ. Запит з сайту ESP можна представити у вигляді двох частин:
  • потрапляння запиту в чергу;
  • обробка та виконання запиту.

Надсилання запиту в чергу


Відправка запитів з сайту робиться через сервіс emailing'a. Він склеює однотипні повідомлення в один запит, щоб навантаження на ESP була менше. Повідомлення надсилаються через чергу, так нам не доводиться змушувати користувача чекати, поки ESP відповість.

Під час роботи програми ми маємо справу з даними користувача, і кожне з змін повторюється у ESP. Код додатка «підписується» на збереження користувача і відправляє потрібні дані. Але якщо відправляти запит при кожному збереженні, то ми створюємо багато маленьких запитів. Цю проблему в Lingualeo вирішили, переробивши відправку запитів. Тепер, коли змінюються дані, ми не відправляємо запит, а складаємо в «кишеню». При завершенні http-запиту ми збираємо запити, які опинилися в «кишені», і обробляємо так, що скільки завгодно змін одного і того ж користувача перетворюються на один запит на оновлення даних у ESP.



Обробка та виконання запиту


З черги запит забирають воркеры.

Воркеры — додатки, які дістають завдання з черги і виконують. Воркер обробляє 1000 завдань, після чого вмирає і перезапускається супервізором (supervisord.org).

Тут повідомлення сервісу e-mailing'а перетворюються в зрозумілі кожному з провайдерів запити.
У чергах не можна показати користувачеві сторінку «в джунглях коїться щось недобре», у разі помилки воркер повинен обробити ситуацію самостійно. У черзі не у кого спитати «що робити?». Залишається впасти з помилкою, яка запишеться в лог. Лог обробляє Gralylog2 (www.graylog.org), який вміє надсилати сповіщення на пошту і показувати потоки повідомлень.

Логи рятують, якщо додаток падає, але якщо воно гальмує, логи не допомагають зрозуміти, що сталося. Виявляти такі повідомлення нам допомагає pinba (pinba.org), в яку ми шолом таймери програми. У нас в центрі офісу висить монітор, який показує метрики сайту з даних, отриманих пинбой.

Підготовка листів
Етапи підготовки листів:
  • формування ідеї,
  • моск-up листи,
  • копірайтинг,
  • дизайн,
  • верстка,
  • тестування верстки,
  • персоналізація і настройка,
  • тестування,
  • локалізація.

Ідея, mock-up, копірайтинг, дизайн і верстка


У нас є план розсилок на місяць. Цикл підготовки листа займає в середньому тиждень. Хоча періодично бувають термінові листи, і ми робимо їх за 1 день. Виходячи з плану e-mail менеджер робить заявки в jira на дизайн, прописує проект, одночасно з цим ставиться завдання на копірайтинг. Як тільки копірайтинг готовий, ми додаємо тексти завдання дизайнерам в jira. Якщо дизайнери зайняті, то email-менеджер використовує готову базу картинок і намагається «зліпити» зображення руками на підставі готових шаблонів верстки, щоб не малювати з нуля, а обійтися мінімум змін до готової верстці. У разі, якщо дизайнери підготували унікальний шаблон, останній йде верстальникам. Верстка відбувається дуже швидко. Кілька годин — і нам здають вже зверстаний макет. Email-менеджер перевірять його в спеціалізованій системі (у нас це emailonacid) і тестує, як листи виглядають в мобільній версії і в різних клієнтів.

Верстка несе в собі певні складності. Email-верстка дуже специфічна. Можна використовувати тільки старі стандарти, не можна div, отже, доводиться користуватися тільки певними позначками. Верстальники не дуже люблять email, тому що є великі обмеження і немає можливості користуватися новими технологіями.

Персоналізація


Щоб вичавити максимум з email-маркетингу, мало відправляти 300 млн листів в рік, потрібно відправляти їх як можна більш таргетированными (більше листів маленьким сегментами) і персоналізованими (мають більше конкретики про одержувача в тілі листа — ім'я, стать, і навіть дані про пройдені і рекомендованих заняттях). Аналітика показує, що це правильний крок — листи з персоналізацією мають конверсію на 20% вище.

Розсилки групам користувачів


Ми синхронізуємо в Emarsys два типи даних — статичні (стать, вік і тд) і поведінкові дані. Статичні дані більше підходять для фільтрації, а для більш глибокої персоналізації ми використовуємо додаткові поля, в які програма завантажує дані періодично. Наприклад, лист зі статистикою користувача занять формується за кілька годин до відправки, щоб залишатися актуальним, дійшовши до користувача!

Тригерні розсилки


Тригери — це вказівка Emarsys відправити лист одразу, використовуючи передані дані, або через деякий час, заданий в панелі управління. Тригери можна використовувати, щоб створювати розсилки самостійно. Для цього потрібно підготувати список користувачів відправити для кожного з них запит в Emarsys з потрібними даними. Такий спосіб розсилок підтримувати складніше, ніж звичайний. Зате ми можемо реагувати на дії користувача в той самий момент, коли він здійснює ці дії на сайті.

Як приклад тригерній розсилки можна привести мотивуюче лист, який користувач отримує після роботи зі словником. Наприклад, користувач додає слова в свій «Словник», але не тренує протягом наступних 2 днів. В такому випадку, на другий день після додавання йому приходить лист-мотивашка з нагадуванням про те, що йому слід вивчити ці слова. Листи такого роду мають одні з найкращих показників залучення користувачів сервісу.

Локалізація


Одна з особливостей роботи Lingualeo — це широка географія. Наші студенти живуть не тільки в Росії та ближньому зарубіжжі, а й у Бразилії та Туреччини. Тому наші email-комунікації повинні бути локалізовані.
Дуже важливо, щоб кожному йшло свій лист. Система локалізації працює наступним чином: у нас є шаблон, він поділяється на певні рядки, які ми хочемо перевести. Цей текст передається в систему для перекладу – це WTI. (Детальніше про систему локалізації продукту Lingualeo в пості Ігоря Любимова, Head of Localization Lingualeo.) У цій системі перекладачі отримують рядка, далі відбувається «магія». За результатами «чаклунства» переклад приходить в Emarsys у вигляді шаблонів. Далі ми перевіряємо, відправляючи менеджерам по локалізації: наскільки правдивим вийшло лист, і чи варто щось змінити візуально.

Технічна сторона «магії» локалізації відбувається наступним чином: маркетологи створюють master-шаблон російською мовою. Далі цей шаблон підхоплюється сервісом локалізації, і на його основі створюються локалізовані slave-шаблони. Локаль користувача зберігається в його картці в Emarsys.

Завдання локалізації розділена на два етапи:
  • Парсинг master-шаблонів і експорт сегментів в WTI.
  • Отримання переказів з WTI і створення/оновлення локалізованих slave-шаблонів.
Обидві задачі вирішуються сервісом локалізації: EmarsysLocalizationService. Запуск системи локалізації відбувається щогодини.
Алгоритм експорту сегментів з Emarsys в WTI:
  1. Всі шаблони приходять з Emarsys.
  2. Система фільтрує тільки master-шаблони.
  3. Для кожного master-шаблону запитується його вміст Emarsys.
  4. Сегменти парсятся з контенту шаблону (key = значення атрибута data-translate-segment, value=вміст всередині тега).
  5. Набір сегментів з шаблону відправляється в WTI (кожному шаблону відповідає свій файл у WTI).
Алгоритм імпорту сегментів з WTI в Emarsys:
  1. Всі дані для проекту Lingualeo-Email Templates запитуються з WTI.
  2. Всі шаблони приходять з Emarsys.
  3. Система фільтрує тільки master-шаблони.
  4. Для кожного master-шаблону запитується його вміст Emarsys:
  • З WTI-проекту витягується інформація про WTI-master-файл, який відповідає поточному шаблону.
  • Для кожної включеної локалі з WTI запитуються сегменти (ID wti-master-файлу).
— Береться вміст master-шаблону і сегменти в ньому замінюються на отримані для зазначеної локалі.
— Вміст зберігається в slave-шаблон (шаблон створюється, якщо його не було або оновлюється, якщо він вже
існував).

Схема взаємодії WTI і Emarsys:



АНАЛІТИКА
Для оцінки ефективності розсилок, крім базових показників (open rate, click rate, unsubsсribe rate, тощо), доступних в кабінеті Emarsys, ми використовуємо ряд додаткових, які розраховуються на основі активності користувача на сервісі після переходу з листа.
Це можливо завдяки тому, що інформація про всіх відправленнях, відкриття листів і переходи за посиланнями з них, завантажується в наш аналітичне сховище, де можна розрахувати будь-які метрики і воронки в довільних розрізах. По кожній розсилці можна побудувати, наприклад, таку воронку:
Крок 1. Кількість відправок.
Крок 2. Кількість відкриттів.
Крок 3. Кількість переходів з листів.
Крок 4. Кількість користувачів, що отримали XP протягом доби після переходу з листа.
Крок 5. Кількість здійснили покупку протягом доби + виручка з кожної відправки протягом доби після розсилки.

Всі перераховані метрики можна довільно сегментувати, наприклад, за статтю, віком, кількістю днів з моменту реєстрації (новачки/старички), платформі реєстрації і т. д. На основі цієї інформації ми оптимізуємо розсилки.

РАЗОМ
З технічної сторони:
  • Збільшили можливий обсяг повідомлень, що відправляються до 45 млн щомісяця і більше;
  • Отримали можливість надсилати до 20 млн листів на добу;
  • Час доставки 2 млн повідомлень скоротилася з доби до 1-2 годин і обмежується лише здатністю прийняти на сайті певну кількість учнів;
  • Процес підготовки листів на різні локалі спростився і став займати мінімум вдвічі менше часу і ресурсів;
  • Для впровадження нових тригерів рідше потрібно втручання команди backend-розробки.
бізнес-маркетингової сторони:
  • Отримали доступ до розширеної аналітиці, включаючи перелік конкретних дій по кожній email-кампанії;
  • Прискорили процес створення і відправки термінового листа з тижня до одного дня при необхідності;
  • Прискорили процес впровадження штатного листи з двох тижнів до тижня;
  • Поліпшили якість листів за рахунок залучення внутрішніх дизайнерів у процес створення листів і контролю з їх боку;
  • Значно здешевили вартість відправки листа.
  • На десятки відсотків поліпшили продуктові та маркетингові показники, пов'язані з emailing'ом (і нам ще є над чим працювати)
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.