Как отслеживать посетителей на сайте, которые перешли из мессенджеров?
document.referer - на клиентской стороне.
На серверной стороне - HTTP-заголовок Referer.
А вообще - нет, способа нет, так как ссылки во внешних приложениях не дают Referer. 
Есть обходные пути.
1. Включать в ссылку какой-то referer ID, тогда можно будет отследить, кто перешел на сайте по этой конкретной ссылке.
2. Если мессенджер использует страницу с предупреждением о переходе по ссылке (как Steam, например), то тогда переход будет с этой страницы, и его можно будет отследить. Но это зависит от мессенджера.
С помощью реферальных ссылок. Ссылки, попадающие в мессенджеры, должны чем-то отличаться от обычных.

Добавьте на страницы сайта кнопки "Поделиться", и обяжите тех, кто занимается SMM, ими пользоваться.