С момента действия 152-ФЗ и связанных с ним подзаконных моментов в части работы с персональными данными, многие компании уже давно перешли на отечественные онлайн-сервисы. В моей маркетинговой деятельности очень долгое время в качестве mailing-сервиса в компании пользовались популярной облачной платформой Sendsay. Не рекламы ради, а для опыта поделюсь решением задачи про отслеживание клика по ссылкам, что чрезвычайно важно для реализации сложных сценарных рассылок, когда требуется включать триггеры в зависимости от действий пользователя, получившего письмо от сервиса рассылок. 

Итак, если вы просто в письме вставите ссылку и будете думать, что клик по ней будет корректно отслеживаться, а также активирует сценарий "клика по ссылке", то это не совсем так. Технически для отслеживания клика ваш веб-сервис должен точно знать и регистрировать факт клика именно с того письма, которое отправлено mailing-сервисом. Общая ссылка типа: 

<a href="mailto:Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript.">Хочу получить книгу!</a>

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

В верстаемом письме просто пропишите блок HTML с примерно таким кодом:

[% attr='mailto:Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript.' %]

А на ссылку в письме, допустим это будет кнопка, прописать вызов исполнения данного кода:

[% $attr %]

При реализации рассылки, каждое письмо проходит через "комбайн" веб-сервиса и скрипт-код преобразуется в HTML со своим набором динамических значений. Когда пользователь получит письмо от сервиса рассылки, то при просмотре кода ссылка на письмо будет выглядеть достаточно длинной со значением переменной attr в виде некого набора параметров и значений, включая кодирование в base64. Пример такой ссылки:

https://<account>link.sendsay.ru/<account>/<mailid>,=0vxlD_Fx9KvEtqI3MZaO9mg/1764,220296,2,?<код_ссылки_в_формате_base64>

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