Узел умеет сам вставлять пиксели и переписывать ссылки

engine-side engagement tracking
Отслеживание, встроенное в почтовый MTA

MTA берёт на себя то, что обычно делает рассылочная платформа: разбирает исходящий HTML, переписывает ссылки так, чтобы переход шёл через домен отслеживания, и вставляет пиксель открытия. Работает только вместе со службой аналитики вендора (sparkpost-signals) — события идут ей.

Три независимых переключателя. Пиксель сверху, пиксель снизу и переписывание ссылок включаются по отдельности; можно взять только то, что нужно.

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

Отдельные ссылки исключаются прямо в разметке — атрибутом, который MTA удаляет из доставленного письма. Так ссылка отписки остаётся неотслеживаемой, не превращаясь в переход через чужой домен.

Защищённые ссылки выключены по умолчанию и требуют правильно настроенного домена с сертификатом.

Что делать, когда HTML не разбирается, решается настройкой: либо письмо отбивается, либо уходит неизменным. В обоих случаях ошибка попадает в журнал.

Главная ловушка — письмо, переписанное не так, как задумано. MTA разбирает чужую разметку, и разбор не всегда удаётся: письмо от стороннего редактора, склеенное из кусков, или разметка с ошибками. По умолчанию такое письмо уходит неизменным — то есть без отслеживания, о чём узнаёшь только по провалу в отчётах; либо, при другой настройке, отбивается совсем — и тогда часть рассылки просто не уходит. Ни то ни другое не безобидно, и выбирать надо осознанно.
Что делает Хаб. Не задействует — служба вендора у нас не подключена, а значит и её отслеживание не работает.

Мы строим то же самое своими силами. Домены отслеживания Хаб выпускает и обслуживает сам: TrackingDomainManager заводит клиентский домен на узле, получает сертификат и держит его обновлённым.

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

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

Рекомендуемые значения

Решения, которые придётся принять — и у вендора, и у себя:

Решение Варианты На что смотреть
пиксель открытия сверху, снизу, оба снизу надёжнее: часть клиентов обрезает длинное письмо
переписывание ссылок включено или нет без него нет переходов, но письмо остаётся нетронутым
домен отслеживания вендорский или свой свой — это доверие получателя и свои данные
защищённые ссылки выключены по умолчанию требуют домена с сертификатом
неразбираемая разметка отбить или пропустить отбить — потерять письма, пропустить — потерять данные

Ссылку отписки исключать всегда. Переход по ней через чужой домен — лишняя точка отказа ровно там, где отказ дороже всего: получатель, не сумевший отписаться, жмёт «спам».

Европейским отправителям региональный вариант обязателен — это требование, а не рекомендация.

Таблица решений и совет про ссылку отписки наши. Из руководства здесь три независимых переключателя, замена домена записью в DNS, обязательность регионального варианта для Европы, атрибут исключения ссылки и выбор поведения при неразбираемой разметке.
Пример в конфигурации
# у вендора это настройки блока аналитики
<signals>
    engagement-tracking sparkpost
    tracking-domain track.example.com
    html-edit-error-mode bounce</signals>
Выделенная строка и есть то решение, которое стоит принять осознанно: отбивать письмо с неразбираемой разметкой или пропускать его без отслеживания. Умолчание — пропускать, и о потере данных узнаёшь только по отчётам.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

Типичные ошибки и проблемы

что делают не так и чем это кончается3 ошибки▶

Оставляют умолчание для неразбираемой разметки

§ 11.1.6.2.3

Чем чреватоПисьмо с разметкой, которую MTA не разобрал, уходит неизменным — без пикселя и без переписанных ссылок. Отправка проходит, отчёты показывают провал вовлечённости, и причину ищут в чём угодно, кроме разбора разметки.
Как заметитьОткрытия и переходы просели у одной рассылки, доставка при этом обычная.
Как правильноВыбрать поведение осознанно и смотреть журнал: ошибка разбора в него попадает при любом варианте.

Отслеживают ссылку отписки

§ 11.1.6.2.3

Чем чреватоПереход по ней идёт через домен отслеживания — лишняя точка отказа там, где отказ дороже всего. Получатель, у которого отписка не открылась, жмёт «спам».
Как заметитьДоля жалоб выше обычной у рассылок с работающим отслеживанием.
Как правильноИсключать ссылку отписки атрибутом в разметке: MTA удалит его из доставленного письма.

Ставят пиксель только сверху

§ 11.1.6.2.3

Чем чреватоЧасть почтовых клиентов обрезает длинное письмо, и нижняя часть подгружается по кнопке. Пиксель внизу срабатывает реже, но и верхний не всегда доживает до показа — надёжнее оба.
Как заметитьДоля открытий заметно ниже ожидаемой при нормальной доставке.
Как правильноВключить оба положения: переключатели независимы, и стоимость второго пикселя ничтожна.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Наследование
Наследования у механизма нет — настройки живут в блоке аналитики в корне файла. Наследуется лишь то, включена ли выгрузка вообще: включатель службы действует на трёх уровнях — узел, пул адресов, отдельный адрес. Выключенная выгрузка выключает и отслеживание.
Как проверить на узле
Проверять надо доставленное письмо, а не конфигурацию:
grep -n -A6 '^<signals' /etc/pmta/config
dig +short track.example.com
Первая покажет, включено ли отслеживание вообще. Вторая — куда на самом деле указывает домен отслеживания: переходы получателей пойдут именно туда. Сами переписанные ссылки видно только в доставленном письме.
В Хабе
Цена ошибки
опасно: последствия переживут откат
Сценарии
Инфраструктура трекинга