Истории

Как Jivo за 5 дней переехали с Amazon SES на Unisender Go

И как скорость ответа менеджера повлияла на выбор email-сервиса.

Меня зовут Дмитрий Сауткин, я инженеринг-менеджер сервиса Jivo — руковожу командой бэкенд-разработки и отвечаю за общее развитие продукта. В этом кейсе я расскажу, как за несколько дней нам удалось сменить email-сервис Amazon SES на Unisender Go.

О блокировке нашего аккаунта Amazon SES предупредил за 2 дня, поэтому нам пришлось искать ему замену в рекордно короткие сроки — со всеми основными вопросами по переезду на новую платформу мы справились за 5 дней.

Unisender Go — встраиваемый сервис email-рассылок для разработчиков и корпораций, который позволяет отправлять все виды писем: транзакционные, триггерные и обычные массовые рассылки.

Unisender Go интегрируется с готовыми решениями — сайтом, CRM, CDP, или с собственными разработками компаний. С Unisender Go один клиент может без проблем отправлять большие объемы писем, например, сотни миллионов в месяц.

Почему нашему сервису надо отправлять миллионы писем в месяц

Jivo — это система, которая помогает компаниям наладить общение с клиентами на разных платформах и объединяет все каналы в одном приложении. Наш продукт позволяет:

  • связываться с клиентами через чат на сайте, через соцсети, мессенджеры, приложения и электронную почту;
  • подключить чат-бота;
  • подключить телефонию и обратные звонки;
  • настроить встроенную CRM и корпоративный чат.
Jivo как многоканальный сервис
Приложение Jivo объединяет каналы связи в одном приложении, например, чат на сайте, email, соцсети, мессенджеры, звонки. Компании могут общаться с клиентам там, где им удобно, не переключаясь между разными приложениями

Мы отправляем нашим клиентам миллионы писем в месяц — и это не маркетинговые, а информационные письма. Доставляемость таких писем критически важна для нас и наших клиентов. Приведу примеры писем, которые мы ежедневно отправляем:

  • напоминания об оплатах, статус оплат, изменения в тарифных планах;
  • чат-логи — расшифровка диалогов после завершения общения в чате;
  • письма со статистикой;
  • письма об изменениях в настройках аккаунта, о входе с нового устройства или IP.
Скриншот письма Jivo
Пример информационного письма об активации подписки
Скриншот письма Jivo
Пример информационного письма с чат-логами

Как мы сменили сервис

До блокировки аккаунта в марте 2022 года мы использовали облачный сервис Amazon SES, который изначально выбрали из-за его надежности. Мы не предполагали, что с таким крупным сервисом может что-то случиться, поэтому все рассылки отправляли через этого провайдера.

Нам закрыли аккаунт очень быстро — условно, в пятницу вечером предупредили, что уже в понедельник аккаунт будет заблокирован. У нас было 2 дня, чтобы перенести всю инфраструктуру нашей платформы в российские облака и по возможности заменить какую-то часть сервисов. На тот момент мы уже работали немного с Яндекс.Облаком и SberCloud, поэтому перенос основных сервисов не вызвал больших проблем — мы успели уложиться в 2 дня.

С письмами ситуация оказалось сложнее — в облаках Яндекса и Сбера нет подобных сервисов для массовых рассылок, пришлось искать варианты самостоятельно. Для переезда нам советовали китайский облачный провайдер, который по функционалу был похож на Amazon SES. Также среди рекомендаций была пара российских сервисов, которые имеют функционал платформы ESP — для наших задач лишний и громоздкий, и Unisender Go — специальный сервис для встраивания, такой же, как и Amazon SES.

Мы не выбрали облачный китайский провайдер по нескольким причинам:

  • мы не хотели использовать еще одно облако, т.к. это сложно в поддержке;
  • нас не устроила документация, которая была не очень прозрачной;
  • долго ждали обратной связи — нам выделили русскоязычного менеджера, которому я написал 1 марта, но он ответил только в конце мая. Этот фактор стал решающим в выборе нового сервиса.

В Unisender Go нам очень быстро выделили менеджера, с которым мы связались в чате. Первую интеграцию сделали за один день через SMTP, но быстро уперлись в лимит по количеству писем. Затем ещё за один день настроили интеграцию через Web API. В базе знаний Unisender Go есть понятные примеры PHP-кода, что ускорило интеграцию с нашим фреймворком на PHP.

Полностью мы запустились за 3-5 дней — за 2 дня перенесли основные сервисы, а письма настроили во вторую очередь. Я занимался всеми коммуникациями и организационными моментами, а разработчик занимался всем, что касается кодинга и настройки.

Отдельно хочу упомянуть о статистике писем. В Amazon SES не было функционала по статистике, поэтому мы самостоятельно разработали инструмент для сбора информации о статусах доставки и открытиях. В Unisender Go есть обширный функционал по сбору статистики. Первое время после перехода мы пользовались своим инструментом, но затем поняли, что статистика в Unisender Go работает стабильно и даёт нам больше информации — поэтому решили не тратить время на поддержание своей разработки.

Отчёт о доставке в сервисе Unisender Go
В отчёте по доставке Unisender Go можно посмотреть успешность рассылок за последний месяц по разным срезам — с учётом адреса отправки, домена доставки, с посуточной или почасовой детализацией, абсолютное количество всех событий или только уникальные прочтения/переходы

С какими сложностями столкнулись

В Unisender Go часть наших клиентов по разным причинам попала в лист отписок. Проблема заключалась в том, что эти отписки не синхронизировались с отписками в нашей системе. Мы в Jivo тоже ведём лист отписок — для этого мы разработали собственную систему и используем свои ссылки для отписки в письмах.

По умолчанию Unisender Go добавляет в конец письма блок отписки, который включает информацию о том, на какой адрес изначально было отправлено письмо и ссылку с текстом «Отписаться от рассылки». Наличие ссылки — один из признаков, отличающий легитимное письмо от спама.

Также Unisender Go добавляет в письмо стандартный заголовок List-Unsubscribe со ссылкой, мгновенно отписывающей адресата. Многие почтовые программы и сайты поддерживают этот заголовок и отображают в интерфейсе специальную кнопку для отписки со ссылкой из этого заголовка. Список отписавшихся email-адресов Unisender Go хранит на своей стороне и фильтрует попытки отправить им письма.

Эта функция удобна для большинства клиентов Unisender Go, когда не требуется сложная система по управлению отписками. Для сложных запросов по управлению отписками нужны разработки системы отписки на стороне клиента.

Подробнее про систему отписки

Почему нам удобнее использовать свою систему управления отписками:

  • В нашем приложении показываем пользователю от каких уведомлений он отписался. Дополнительно предлагаем настроить список уведомлений, на которые пользователь хочет быть подписан, а на какие нет.
  • Можем отслеживать количество отписок в разрезе письма, чтобы предупредить большой негативный эффект.

То есть нам важно, чтобы мы имели все инструменты для быстрого и динамического управления списком отписки. Потому что, например, если клиент отписался по ошибке, то его приходится возвращать в 2-х сервисах — в нашей системе Jivo и в Unisender Go.

В Unisender Go есть параметр, который решил нашу проблему — управление списком отписок. То есть управлять списком может Unisender Go, но также есть возможность настроить управление этим списком на своей стороне. Эта функция подходит для случаев, когда компании требуется многоуровневая система по управлению отписками и простая от Unisender Go не подходит.

Так этот параметр отключает проверку на стороне Unisender Go и предоставляет возможность вести такой лист самостоятельно. Поэтому сейчас мы сами формируем списки, чтобы письма не доставлялись тем, кто отписался или пожаловался на рассылки. Возможность самостоятельного управления настраивается по договорённости с менеджером.

Также у нас была проблема с блокировкой IP-адресов. Сначала мы размещались на общем пуле IP-адресов и часть наших писем попадала в спам, поэтому мы перешли на выделенные IP-адреса. Общий пул IP-адресов имеет смысл использовать при нерегулярных отправках или тогда, когда компания только начинает отправлять письма, и ещё не наработала репутацию отправителя. Если компания отправляет десятки и сотни тысяч писем в день, тогда лучше использовать выделенные IP-адреса, чтобы репутация других клиентов не влияла на доставляемость ваших писем.

Дополнительно были созданы два пула выделенных IP — один для отправок писем российским пользователям, другой — иностранным. Это важно, потому что некоторые иностранные сервисы плохо воспринимают письма с IP из России. В российских компаниях появились похожие ограничения — письма могут приходить только с российских IP — иначе адреса блокируют почтовые службы.

Разделить отправку сообщений по регионам с присвоением разных IP-адресов возможно с помощью специального функционала Unisender Go — методы проектов. Проекты позволяют объединить несколько независимых доменов с веб-хуками, шаблонами и списками отписки. Это полезно, если у вас есть свои клиенты, и вы управляете их данными из одной учетной записи Unisender Go.

Каждый проект получает свой собственный ключ API, а вызовы API методов с этим ключом обрабатывают только данные этого проекта. Таким образом, вы можете назначить отдельный проект для каждого пользователя и быть уверенным, что они не будут конфликтовать: например, отмена подписки на один проект не повлияет на другой.

Ознакомиться с подробной документацией

Что в итоге

Резюмирую наш кейс:

  • Для переезда мы выбрали email-сервис Unisender Go. На выбор повлияли рекомендации и отзывы о сервисе, понятная документация и скорость ответа менеджера.
  • Все основные вопросы и сложности по переезду с Amazon SES на Unisender Go мы решили за 5 дней.
  • Переездом занимались два человека: я отвечал за коммуникации и организационные моменты, а разработчик занимался кодингом и настройкой.
  • На старте проекта нам не хватило информации о том, как правильно настроить ссылки отписки для транзакционных писем, и надо ли нам было использовать выделенные IP-адреса — эти сложности привели к блокировкам. Но на текущий момент с помощью техподдержки Unisender Go все эти проблемы мы устранили.