В прошлый раз мы познакомились с дополнительным функционалом автоответчиков Мэйл Чимп, которым он “оброс” за последний год. Сегодня посмотрим, что нам может дать синхронизация базы данных по клиентам с рассылочным сервисом.
Сразу оговорюсь, что речь пойдёт о работе именно со сторонним сервисом рассылок. Самописные модули как правило работают напрямую с базой данных по клиентам, и в таком случае какая-либо дополнительная синхронизация не нужна.
Выгрузка email вручную
Когда база по клиентам и база в рассылочном сервисе (список рассылки) не синхронизированы, происходит примерно следующее:
Новые клиенты оставляют свои контакты на сайте (через форму подписки, регистрации или сбора лидов). Данные попадают в таблицу Excel, 1С, CMS или CRM-систему (в зависимости от того, что используется для ведения базы) и накапливаются там какое-то время.
Затем наступает пора делать рассылку и контакты вручную добавляются в рассылочный сервис (например, в Мэйл Чимп). В целом это неплохо, но у такого подхода есть свои недостатки:
— Обработка данных происходит вручную — это лишние расходы времени, возможные ошибки и, к тому же, нудная, периодически повторяющаяся задача.
— Данные поступают в сервис рассылок с задержкой по времени между их фактическим получением от клиента и моментом загрузки в сервис.
Например, если вы загружаете новые адреса в список рассылки раз в неделю, то задержка составит для разных клиентов от одного до семи дней.
Если вы загружаете адреса раз в месяц — и того дольше.
В этом случае не получится настроить автоматические рассылки через сервис (например, welcome email) или придётся принимать во внимание, что такие рассылки будут уходить с запозданием, что может свести на нет все преимущества автоответчиков.
Выгрузка email автоматически
Безусловно, автоматическая загрузка контактов в рассылочный сервис решила бы вышеперечисленные проблемы.
Если не брать во внимание блоги и прочие площадки, где подписывать посетителей можно просто с помощью готовой формы подписки самого сервиса, то для автоматизации этой задачи понадобится как раз синхронизация баз данных.
Когда выполнена синхронизация базы данных:
— Контакты поступают в сервис автоматически — т.е. нет лишних задач и “человеческого” фактора.
— База в рассылочном сервисе поддерживается в самом актуальном состоянии и обновляется в режиме реального времени — это позволяет настраивать какие угодно автоответчики.
Чтобы помочь пользователям осуществить эту задачу, большинство рассылочных сервисов идут им навстречу, предоставляя API с подробной документацией, которая позволяет специалисту IT на основе технического задания осуществить практически любую синхронизацию. Причём эта задача не является чем-то принципиально сложным в области программирования.
Синхронизация базы данных: техническое задание
По идее, задачу на синхронизацию можно обрисовать только в самых общих чертах, оставляя исполнителю додумывать остальное, но тогда на выходе может получиться что-то непредсказуемое. Т.е. работать будет, но помогать в реализации задач email маркетинга — вряд ли.
Поэтому хорошо всё же составить для программиста подробное техническое задание (ТЗ), которое учитывало бы все нюансы, все цели email рассылок. В конечном итоге, тщательная подготовительная работа на этом этапе поможет избежать осложнений и лишних доработок на последующих.
Структура ТЗ (примерная)
ТЗ на синхронизацию должно описывать набор данных о клиентах и событий, при которых эти данных “заходят” в рассылочный сервис.
ТЗ пишется в свободной форме — так, как удобно вам, как привыкли ваши программисты или принято в вашей организации.
Описание пунктов ТЗ и пример ниже приблизительные (т.е. ни в коем случае не являются единственно возможным вариантом исполнения или руководством к действию, от которого нельзя отступать ни на шаг).
Итак, обычно ТЗ на синхронизацию содержит:
— Общую постановку задачи,
— Вспомогательные материалы (доступ к рассылочному сервису, ссылку на документацию API, ключ API, ссылку на Список рассылки),
— Набор данных о клиентах, которые должны поступать в сервис,
— Описание событий, при которых эти данные поступают в сервис,
— Примеры реализации этих событий.
Если есть какие-то дополнительные материалы, которые могут помочь в работе (например, схема работы автореспондеров), то можно добавить их в конце документа Приложениями.
Набор данных
Данные о клиентах, которые “заводятся” в рассылочный сервис — это:
— Информация из полей различных форм сбора данных (email, имя, город, профессия и т.п.).
— Данные из CMS (ID зарегистрированного продукта, дата события — регистрации, заказа, последнего посещения сайта и т.п.).
— “Искусственные” данные: генерируются специально на основе уже имеющегося набора данных (например, генерация “м” или “ж” в зависимости от пола подписчика, генерация источника подписки — форма регистрации, форма подписки, посадочная страница и т.п.).
— Счётчики: тоже искусственные числовые данные для подсчёта количества событий (например, количества заказов, количества посещений и проч.)
— “Производные” данные: рассчитываются на основе поступающей информации (например, средний чек, суммарный чек, % оплаченных заказов и т.д.).
См. также более подробную статью на эту тему: №118 Как определить набор данных для интеграции… |
События
События, при которых данные о клиенте должны быть загружены в рассылочный сервис, определяются задачами email маркетинга.
Типовые события:
— регистрация/подписка,
— заказ товара/услуги,
— обновление профиля клиента,
— заполнение формы для сбора лидов.
Верный признак того, что событие нужно внести в ТЗ — это то, если вы хотите сделать его исходной точкой для отправки каких-либо автоматических сообщений или отличительным признаком для сегментации.
Пример (сокращённый)
Посмотрим на довольно простой случай — синхронизацию базы данных интернет-магазина, где не предусмотрена возможность регистрации покупателей (т.е. нет персонального раздела сайта для каждого клиента и во время очередного заказа покупатель вводит свои данные — контакты, способ доставки, оплаты и т.п. — заново).
Задача:
Синхронизировать БД интернет-магазина Shop_example.net и рассылочного сервиса MailChimp.
Материалы:
— Доступ к сервису: логин/пароль,
— Список рассылки, с которым осуществляется синхронизация: https://us2.admin.mailchimp.com/lists/members/?id=xxxxxx
— Документация API: https://developer.mailchimp.com/
— Ключ API: 00aa000ааа00000ааа00000аа000000а-us2
Данные:
1) Оформление заказа:
— Имя
— Email
— Город
— Статус подписки:
— подписался,
— не подписался.
2) Выбор способа доставки:
— курьер
— самовывоз
— почта
3) Выбор способа оплаты:
— наличные
— Qiwi
— кредитная карта
— Яндекс.Деньги
— Webmoney
4) Данные о заказе из CMS:
— ID товаров
— Сумма заказов
— Количество заказов
— Средний Чек
— Дата последнего заказа
События:
1 Пользователь оформил заказ и нажал кнопку Подтвердить заказ,
2 Выполняется проверка, есть ли его email в базе MailChimp
2.1 Если email нет
2.1.1 Пользователь подписывается
2.1.2 В MailChimp отправляются данные:
(1) Email – в столбец Email,
(2) Имя – в столбец Имя,
(3) Город – в столбец Город,
(4) Данные из чек-бокса Получать информацию о скидках магазина – в столбец Статус подписки:
— если галочка в чек-боксе проставлена, в столбец отправляется – подписался,
— если галочка в чек-боксе не проставлена, в столбец отправляется – не подписался.
(5) Данные по способу доставки – в столбец Способ доставки: …
(6) Данные по способу оплаты – в столбец Способ оплаты: …
(7) Данные по составу заказа – в столбец ID товаров: …
(8) Данные по сумме заказа – в столбец Сумма заказов,
(9) Цифра «1» – в столбец Количество заказов: …
(10) Отношение (Сумма заказов) / (Количество заказов) – в столбец Средний чек (округляется до целого),
(11) Данные по дате заказа – в столбец Дата последнего заказа: …
Пример:
2.2 Если email уже есть: …
Посмотреть пример ТЗ целиком »
Заключение
Синхронизация базы данных нужна, когда возникает потребность импортировать информацию о подписчиках в рассылочный сервис в режиме реального времени.
Синхронизация выполняется программистом на основе подробного технического задания при помощи API рассылочного сервиса.
ТЗ составляется, исходя из задач email маркетинга, в свободной форме — так, как удобно вам и вашему программисту.
Оно включает набор данных о клиентах и событий, при которых эти данные должны быть загружены в сервис.
P.S. В следующий раз поговорим о сегментации: как оценить минимальный размер сегмента, с которым ещё выгодно работать?
P.P.S. Если вы ещё не подписались на мою рассылку — самое время это сделать. Я не только анонсирую свежие статьи блога, но и делюсь с подписчиками бонусной информацией, а также показываю отдельные приёмы email маркетинга на практике. До встречи в вашем почтовом ящике! 🙂