MailChimp — это один из самых популярных сервисов для сбора подписчиков и отправки рассылок по электронной почте. В этой статье мы рассмотрим несколько методов интеграции MailChimp с сайтами на WordPress.
Преимущества MailChimp
Самые частые проблемы с рассылками по электронной почте возникают при отправки писем с собственного сервера и неправильной конфигурации TXT и SPF записей в DNS. Это приводит к частому попаданию рассылок в спам, или их зависанию в очереди на отправку на сервере, особенно когда речь идет о крупном количестве подписчиков.
Сервис MailChimp берет все эти проблемы на себя, и в добавок к этому предоставляет удобный интерфейс для создания рассылок, возможность сегментации списков, позволяет просматривать статистику по кампаниям и спискам, дает возможность настроить авто-ответчики и многое другое.
Базовая версия MailChimp ничего не стоит и позволяет содержать базу данных до 2,000 подписчиков, а при работе с большим количеством придется перейти на платную версию, от $30/месяц или от 0.5 центов за письмо.
Несколько хороших альтернатив сервису MailChimp: Campaign Monitor и SendGrid.
1. Ссылка на форму
Самый простой метод работы с MailChimp в WordPress — это размещение прямой ссылки на форму подписки. После создания нового списка подписчиков в сервисе MailChimp, перейдите в раздел Signup Forms → General Forms:
Здесь вы сможете самостоятельно создать форму с требуемыми полями, а также получить на не ссылку вида http://eepurl.com
:
Данную ссылку вы можете разместить в меню WordPress, в текстовом виджете или в содержимом любой статьи или страницы с помощью следующего HTML кода:
Подпишитесь на <a href="ссылка здесь">нашу рассылку</a>
Кстати, формы подписки в MailChimp могут быть мультиязычными. Во вкладке «Translate it» в настройках формы вы можете указать язык по умолчанию, использовать перевод по умолчанию или самостоятельно перевести строки.
2. Интеграция формы и плагин MailChimp
Второй метод для работы с MailChimp в WordPress — это интеграция самой формы подписки, например на отдельную страницу на сайте или в боковую колонку. Для этого потребуются права администратора и возможность публиковать нефильтрованный HTML-код на сайте.
Чтобы получить код формы в MailChimp перейдите в раздел Signup Forms → Embedded Forms:
Здесь вы сможете настроить некоторые опции встраиваемой формы и получить ее HTML код, который необходимо вставить на сайт. Преимущество данного подхода в том, что форму подписки посетители смогут заполнить не покидая ваш сайт.
Альтернативой является официальный плагин MailChimp, который позволяет прямо из Консоли WordPress выбрать требуемый список, настроить форму для подписки и вывести ее с помощью специального виджета. Есть также ряд неофициальных плагинов которые можно рассмотреть.
3. Работа с MailChimp API
Третий и самый продвинутый метод — это работа с MailChimp через API. Здесь вам потребуются навыки программирования и написания собственных плагинов для WordPress. Методов в MailChimp API достаточно много и в этой статье мы коротко рассмотрим лишь один.
Перед началом работы вам потребуется API ключ, который можно получить на сайте MailChimp в разделе Account Settings → Extras → API Keys. Данный ключ необходимо всегда указывать при обращении к API.
Добавить адрес в список рассылки
С помощью API метода lists/subscribe мы можем добавить новый адрес электронной почты к существующему списку. Сделать это можно функцией WordPress wp_remote_post()
, которая отправляет POST запрос на внешний адрес.
$api_key = 'ваш API ключ'; $dc = 'us6'; // дата-центр MailChimp $list_id = 'идентификатор списка'; $email = 'john@gmail.com'; $url = "https://$dc.api.mailchimp.com/2.0/lists/subscribe.json"; $request = wp_remote_post( $url, array( 'body' => json_encode( array( 'apikey' => $api_key, 'id' => $list_id, 'email' => array( 'email' => $email ), ) ), ) ); $result = json_decode( wp_remote_retrieve_body( $request ) );
В переменной $dc
хранится идентификатор дата-центра MailChimp. Его можно взять из выданного вам API ключа. Например, если ключ заканчивается на -us5
, то в переменной $dc
необходимо указать строку us5
.
Переменная $list_id
содержит индивидуальный идентификатор списка, к которому необходимо добавить подписчика. Данный идентификатор необходимо скопировать из настройки списка в разделе Settings → List Name & Defaults:
В переменной $email
содержится адрес электронной почты, который необходимо добавить к списку. Обратите внимание на то, что при обращении к MailChimp API адрес передается не строкой, а массивом с ключом email
.
После определения всех требуемых переменных, мы составляем $url
, куда будет отправляться запрос, и отправляем его с помощью функции wp_remote_post()
, которая возвращает результат данного запроса.
Содержимое результата можно получить с помощью функции wp_remote_retrieve_body()
. Здесь как правило будет ответ об успешности операции MailChimp, или код какой-либо ошибки, например если мы пытаемся подписать адрес, который уже существует в данном списке.
В случае возникновения ошибки при HTTP запросе (например сервер недоступен), ее можно обработать с помощью WP_Error. Подробнее о функциях wp_remote_*
можно почитать в кодексе WordPress.
Для удобства написанный нами код можно обернуть в функцию:
function mailchimp_subscribe( $email ) { // наш код }
Таким образом мы можем использовать эту функцию в реализации собственной формы подписки, во всплывающем окне, или подписать посетителя при написании нового комментария на нашем сайте.
Как мы уже упомянули, в MailChimp API очень много различных методов. С их помощью можно:
- Добавлять или удалять адреса из списков, как по одному так и в больших количествах
- Создавать сегменты или группы интересов, например рубрики или метки в WordPress
- Указывать дополнительные поля, например страница на которой пользователь подписался или автор статьи
- Указывать источник перехода на ваш сайт
Также с помощью API можно создавать новые кампании, наполнять их содержимым и выполнять рассылки не заходя в интерфейс MailChimp. Это возможно реализовать с помощью campaigns/create, пожалуй один из самых комплексных методов API.
Заключение
MailChimp — один из самых мощных инструментов для работы с подписчиками и рассылками, при этом он подходит как для простых пользователей WordPress, так и для опытных веб-разработчиков.
Если вы ранее не работали с сервисом MailChimp, то мы рекомендуем попробовать его в рамках бесплатной версии, и интегрировать на сайт первым описанным нами методом.
Если вы не против повозиться с настройками, HTML кодом и CSS стилями, то второй метод вполне подойдет, а если вам хочется более тесной интеграции MailChimp и WordPress, то советуем смотреть в сторону API.