engagement-tracking

<signals>

Кто собирает открытия и переходы
в конфигурации это строкаengagement-trackingвнутри блока <signals>
Развилка, от которой зависит всё остальное отслеживание

Строка решает, откуда служба возьмёт открытия и переходы — а от этого зависит половина её метрик, включая оценку здоровья. Умолчание — no.

Значение Что означает
no (умолчание) события не собираются вовсе
external события шлёте вы сами, своими средствами
sparkpost MTA сам вставляет ссылки и пиксели в письма

🔴 Значение sparkpost меняет ваши письма. MTA переписывает ссылки на свои и вставляет прозрачные картинки-пиксели — то есть переходы получателей идут через чужой домен, и открытия регистрируются на чужой стороне.

Пять соседних строк работают только при sparkpost: enable-click-tracking, enable-top-open-pixel, enable-bottom-open-pixel, tracking-domain, use-https. При других значениях они ничего не делают.

Разметку можно ограничить из самого письма: атрибут data-msys-clicktrack=”0″ исключает ссылку из отслеживания, а data-msys-linkname даёт ей имя в отчётах (до 63 знаков). Оба атрибута MTA из письма удаляет.

Значения yes и true означают external — оставлены ради совместимости.

Главная ловушка — включить sparkpost, не подумав о доменах в письме. Ссылки начнут вести на домен вендора, а не на ваш. Для получателя это чужой домен в письме от вас — то, на что смотрят и почтовики, и внимательные читатели.
Что делает Хаб. Не пишет — и не собирается: подстановка чужих ссылок в наши письма означала бы, что переходы получателей идут через домен вендора.
Рекомендуемые значения

Выбор здесь короткий:

Значение Когда
no (умолчание) отслеживание не нужно
external считаете открытия сами и шлёте службе
sparkpost готовы отдать ссылки и пиксели вендору
Все три значения, умолчание no, совместимость yes и true, оба атрибута разметки и их удаление из письма — из руководства (§ 11.1.6.2.3).
Пример в конфигурации
# MTA сам подставит ссылки и пиксели — домен в письме станет чужим
<signals>
    api-key 0123456789abcdef012345678901234567890123
    engagement-tracking sparkpost    tracking-domain track.mydomain.com
</signals>
Своя область отслеживания хотя бы возвращает домен в письме под ваш контроль.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Включают подстановку, не заведя своей области отслеживания

наш опыт

Чем чреватоСсылки в письмах будут вести на домен вендора. Получатель видит в письме от вас чужой домен, и почтовики тоже.
Как заметитьВ доставленном письме ссылки указывают на неизвестный домен.
Как правильноЗавести свою область отслеживания и указать её в tracking-domain.

Ждут действия строки при выключенной подстановке

§ 11.1.6.2.3

Чем чреватоСтроки подстановки работают только при engagement-tracking со значением sparkpost. При других значениях они не делают ничего.
Как заметитьСтрока задана, в письмах ничего не изменилось.
Как правильноПроверить значение engagement-tracking.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
engagement-tracking { external | sparkpost }
Значения
no | external | sparkpost (а также yes и true в значении external)
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<signals>
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Наследования нет: строка живёт внутри <signals>, а такой блок на узле один. Охват выгрузки по потокам задаётся строкой enable-signals с тремя уровнями.
Как проверить на узле
Результат виден в самом письме — проверять надо по доставленному:
grep -i "signals\|html" /var/log/pmta/log | tail -20
Надёжнее посмотреть письмо, дошедшее до контрольного ящика: ссылки и пиксели в нём либо есть, либо нет.
В Хабе
Цена ошибки
опасно: последствия переживут откат
Сценарии
Инфраструктура трекинга