Быстро поднимаем собственную платформу для email рассылок
Сегодня я расскажу о том, как быстро поднять собственную платформу для email-маркетинга и отправить 1 млн писем, которые попадут во входящие всего за 100 $.
Но, сначала маленький опрос.
Не будем ходить вокруг и сразу перейдём к делу. Вы, конечно, слышали, а может быть и использовали Amazon AWS. Частью этого облака является очень удобный сервис рассылок: SES (Simple Email Service).
К слову, некоторые российские сервисы email рассылок по сути просто перепродают вам услуги Amazon SES.
Чем же Amazon SES так хорош
- Стоимость. Всего 1 $ за 10 000 отправленных писем. Это без учёта трафика. Если вы отправляете тяжелые вложения, нужно ещё учесть расходы на трафик.
- Письма можно отправлять как по API, так и через SMTP, что позволяет интегрировать SES с чем угодно (ваш сервис или приложение не обязаны при этом находится в облаке AWS).
- Поддержка DKIM, SPF, MAIL FROM доменов, Feedback Forwarding и все такое прочее разумеется в наличии.
- Уведомления по API о доставках, жалобах на спам и отказах.
- Выделенный IP для вашего домена, если он вам нужен.
- Отсутствие предварительной модерации ваших рассылок. Да, чтобы получить доступ к сервису, вам придётся писать тикет в саппорт, где попросят подробно рассказать о том, что и как вы планируете отправлять, но после того как вам выделят лимиты на отправку, больше никаких проверок того, что вы отправляете не будет (если показатели качества в аккаунте в порядке).
- Есть возможность настроить в том числе и приём почты.
- Amazon может предоставить вам просто огромные мощности на отправку. Я отправлял по 2 млн писем в час и это далеко не предел.
Итак, продано? Вы закономерно спросите почему же тогда маркетинг в большинстве компаний всё ещё сидит на MailChimp, UniSender, SendPulse и подобных сервисах.
У Amazon SES нет web-интерфейса для отправки писем. Как вы понимаете, это несколько усложняет процесс его использования, если вы не обладаете техническими навыками.
Но, как я уже писал, c SES можно работать как с обычным SMTP-сервером, если вы по какой-то причине не хотите работать по API. А значит, всё что нужно это какая-то платформа для email-маркетинга, которую вы можете поставить на свой хостинг и подключить её к SES.
Вариантов у вас довольно много. Вот основные:
- Sendy. Стоит 59 $ единоразово. Разрабатывался специально для Amazon AWS, т.ч. умеет работать с SES по API, что намного быстрее SMTP. Крутится на стандартной связке из PHP + MySQL + Apache (на nginx тоже работает нормально).
- MailWizz. Стоит 69 $ единоразово. Поддерживает только SMTP.
- Если нужно что-то, что можно сильно кастомизировать под себя посмотрите на Mailtrain. Это бесплатный продукт с открытым исходным кодом. Поддерживает только SMTP. Крутится на Nodemailer, Node.js и MySQL. Первая версия давно не обновлялась, но вполне работоспособна. Вторая версия ещё в бете и уже почти стабильна. Из неожиданных приятностей – MJML-шаблоны.
Кроме этого, можно ещё посмотреть в сторону Dada Mail, NuevoMailer, MoonMail. Ещё есть Mautic, который представляет из себя скорее платформу для маркетинга, но и в части email-рассылок тоже сможет вас очень порадовать.
Что же Sendy нам предлагает
Установка
Как и большинство из упомянутых выше платформ, Sendy в установке не сложнее, чем Wordpress. Всё, что вам нужно это хостинг на Apache с поддержкой PHP и БД MySQL. Можете сами его поднять на виртуальной машине в Amazon AWS, тогда у вас будут ежемесячно бесплатные 62 000 писем.
Просто закидываете файлы на хостинг, выставляете права доступа на папку uploads, чтобы вы могли загружать файлы, указываете лицензию, адрес и доступы к БД в файле includes/config.php и готово.
Ну почти готово. Ещё нужно добавить в cron скрипты, чтобы отправка по расписанию, double opt-in и импорт подписчиков из csv заработали. Вот так:
Где, вместо /var/www/sendy/ вам нужно указать путь до скрипта на вашем виртуальном хостинге или сервере.
Бренды
Залогинившись вы попадаете на панельку управления брендами:
Каждый бренд - по сути отдельный аккаунт. У каждого бренда свои рассылки, списки подписчиков, blacklist и т.п. Если вы работаете только с одним брендом, то этот функционал удобно использовать для того, чтобы разделить рассылки по продуктам, например. Вы можете на уровне брендов:
- Создавать отдельных пользователей для каждого домена, настраивать отдельные интеграции, использовать разные SMTP-серверы (если хотите отправлять через SES по API - то указать разные аккаунты для разных брендов не получится).
- Задавать для каждого бренда отдельный домен для трекинга открытий и кликов.
- Использовать какие будут использоваться имя и email отправителя, UTM-метки и т.п. в рассылках по умолчанию (вы всегда их можете изменить на уровне каждой рассылки.
Рассылки
Так выглядит список ваших рассылок:
По отправленным рассылкам можно посмотреть всю основную статистику, выгрузить в csv списки тех, кто открывал или не открывал ваши письма, кто кликал по ссылкам, отписавшихся и отказы.
Также, есть статистика по гео, но она основательно врёт. В одной из последних версий вроде как точность определения гео выросла, но всё равно далека от идеала.
А вот так выглядит интерфейс создания рассылки:
К сожалению, нормального блочного редактора нет. Но, вам ничто не мешает верстать письма в каком-нибудь BEEFree или в том же MailChimp и загружать HTML-шаблоны в Sendy.
Списки подписчиков
Так выглядит управление списками подписчиков:
Для каждого списка можно настроить Double Opt-in и параметры отписки, а также отдельные странички для них. Шаблоны приветственных писем для них тоже можно сделать разными для каждого списка.
По умолчанию для ваших списков будет только два поля – Имя и Email, но можно добавить собственные поля и сегментировать каждый список:
Кроме этого есть удобный инструмент для удаления неактивных подписчиков:
Если нужно исключить кого-то из всех списков рассылок, то есть blacklist по адресам и доменам:
При этом, если вы добавите какой-то email в blacklist, то при всех последующих импортах подписчиков Sendy его пропустит.
Интеграции и API
Если вам нужны интеграции, то вас обрадует наличие хорошего API и наличие готовой интеграции с Zapier. Так, что если вам не нужно что-то особенное, то можно просто интегрироваться через Zapier почти что с чем угодно: AMOcrm, Google Sheets, Google Analytics, Facebook (от лид-форм до оффлайн-конверсий) и ещё около 2000 сервисов.
Ещё пару слов про Amazon SES
Почему не Mailgun или что-то ещё
Собственно почему я говорю только про Amazon SES? Ведь есть же ещё всякие Mailgun, Sendgrid и прочие замечательные сервисы, которые предоставляют возможность отправлять письма через свои SMTP-серверы намного дешевле тех же MailChimp, UniSender и т.д. Даже UniSender запилил свой UniOne с абсолютно неадекватными ценами.
Дело в том, что у Amazon SES тут есть одно очень важное преимущество: они очень лояльно относятся к маркетинговым, новостным и т.п. рассылкам, когда прочие сервисы предназначены в основном для транзакционных писем и мониторят, чтобы это правило соблюдалось. По сути, если вы не планируете отправлять откровенный спам или заниматься мошеннической деятельностью, то Amazon интересует только то, чтобы показатели качества ваших рассылок были в порядке, а в остальном можете отправлять что угодно через их сервера.
Ожидаемые показатели качества ваших рассылок
Кстати, о требованиях к качеству. В идеале должно быть так:
- Процент отказов меньше 5%;
- Процент жалоб меньше 0,1%.
Если вы превысите эти показатели, то получите предупреждение. Это не означает блокировку, но вам выделят какой-то лимит в несколько десятков тысяч писем (или сотен тысяч в зависимости от лимитов аккаунта), в течение которого вы должны исправится и привести показатели в норму.
А если показатели будут намного хуже? Автоматическая блокировка обычно прилетает при следующих показателях:
- Процент отказов больше 10%;
- Процент жалоб больше 1%.
Это кстати не означает, что если вы отправили неудачную рассылку и словили процент жалоб в 6%, то аккаунт обязательно заблокируют. Показатели рассчитываются по всем письмам отправленным за последние несколько дней (период варьируется в зависимости от объемов и частоты отправки).
Если ваш аккаунт получит блокировку, то снять её можно будет уже только через техподдержку.
Итого
Как видите, self-hosted платформы для рассылок предлагают функционал, который вполне сопоставим с большинством облачных решений и вполне покрывает потребности 90% компаний в малом бизнесе. А использование собственной платформы для email-маркетинга в связке в SES позволяет значительно сэкономить на отправке писем.
Когда не понимаешь что делаешь
А что не так?
Напишите, пожалуста, что значит звездочка и за что отвечает первый аргумент планировщика крон
Ответил, но промахнулся веткой.
Первое значение – минута. Звездочка – любое значение. Значит * == */1. По сути же одно и то же.
Есть ещё довольно дешёвый сервис https://elasticemail.com/
0.09$ за 1000 писем. И нормально относятся к маркетинговым рассылкам. Проценты к качеству такие же.
Из плюсов наличие удобного интерфейса и все то, что предлагает sendy, только без необходимости разворачивать свой сервер
Ну эластик на мой взгляд можно рассматривать только как запасной вариант. У них вечные проблемы с доставкой. Но да, тоже дешево.
И у амазона есть свой собственный веб интерфейс, но стоит он 1000$ в месяц, если не ошибаюсь ;)
Фигасе... И куда бечь?
Андрей, добрый день. Компетенции не имеем, поэтому вопрос к Вам, как к профессионалу. Какое оптимальное решение Вы порекомендуете для следующей задачи: Рассылки по конкретному инфоповоду (анонс мероприятия, подробности программы мероприятия и прочая инфа ) только по email адресам, срок - месяц, количество адресов 30000- 40000. Предварительно планируем такую рассылку два раза в год. Этот вариант с Amazon нам подойдет? Или посоветуете другой?
Да, кстати. Тоже интересно.