Как отследить клики по Telegram и Viber через Google Tag Manager

Чтобы видеть в аналитике клики по Telegram и Viber, достаточно одного триггера «Клик — Только ссылки» в Google Tag Manager с условием на адрес ссылки (t.me для Telegram, viber:// для Viber) и тега GA4, который отправляет событие, например click_messenger. Настройка занимает 15-20 минут, программист обычно не нужен.

Я больше 9 лет настраиваю Google Ads и аналитику, и в нишах, где клиенты пишут в мессенджеры, эти клики часто и есть главная конверсия. Если их не считать, реклама выглядит убыточной, хотя заявки идут. Ниже разберу, как понять, какая у вас кнопка, настроить триггеры и теги, проверить их и передать клики в Google Ads.

Почему клики по мессенджерам нужно считать

Многие люди не хотят заполнять форму или звонить. Им проще нажать на значок Telegram или Viber и написать «Сколько стоит?». Если на сайте есть такие кнопки, а в GA4 и Google Ads они не считаются, вы теряете часть картины:

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

Клик по кнопке мессенджера не равен заявке: человек может открыть чат и ничего не написать. Но это сильный сигнал интереса, и его нужно видеть. Как отслеживать звонки, я разбирал отдельно в статье про клик по номеру телефона в Google Tag Manager, логика очень похожая.

Клик по кнопке мессенджера на сайте передается в аналитику

Шаг 1. Посмотрите, как устроена кнопка на сайте

Перед настройкой откройте сайт, нажмите правой кнопкой на значок мессенджера и выберите «Просмотреть код». Нас интересует, что это за элемент и куда он ведет. Обычно встречается один из вариантов:

  • Обычная ссылка на Telegram: https://t.me/username или https://telegram.me/username. Иногда tg://resolve?domain=username.
  • Обычная ссылка на Viber: viber://chat?number=%2B380XXXXXXXXX для личного чата или viber://pa?chatURI=... для бизнес-аккаунта.
  • Виджет чата от стороннего сервиса: кнопки рисуются скриптом, часто внутри iframe, и ссылки в коде страницы нет.

Если это обычная ссылка (тег a с адресом), все просто, работаем со встроенным триггером кликов. Если это виджет, смотрите раздел про частые проблемы ниже.

Если на сайте вообще нет таких кнопок, ссылку на чат можно собрать в моем генераторе ссылок на мессенджеры и поставить на сайт как обычную ссылку.

Шаг 2. Включите встроенные переменные кликов

В Google Tag Manager переменные кликов по умолчанию выключены. Без них триггер не сможет проверить адрес ссылки.

  1. Откройте контейнер и перейдите в раздел «Переменные».
  2. В блоке «Встроенные переменные» нажмите «Настроить».
  3. Отметьте переменные группы «Клики»: «URL клика», «Текст клика», «Элемент клика», «Классы клика», «Идентификатор клика».
  4. Закройте окно, изменения сохраняются сразу.

Если вы путаетесь, чем тег отличается от триггера и зачем нужны переменные, сначала прочитайте статью про теги, триггеры и переменные в Google Tag Manager.

Шаг 3. Создайте триггеры для Telegram и Viber

Я делаю отдельный триггер на каждый мессенджер: так проще проверять и понятнее в отчетах.

  1. Откройте «Триггеры» и нажмите «Создать».
  2. Назовите триггер, например «Клик по Telegram».
  3. В «Настройке триггера» выберите тип «Клик — Только ссылки».
  4. Опцию «Ожидать теги» можно включить, если ссылка открывается в той же вкладке: тогда GTM успеет отправить событие до перехода. Время ожидания оставьте 2000 мс. «Проверку ошибок» не включайте, со ссылками вида viber:// она может мешать.
  5. В «Условиях активации триггера» выберите «Некоторые клики по ссылкам».
  6. Задайте условие: «URL клика» «содержит» «t.me».
  7. Сохраните.
Триггер "Клик - Только ссылки" в Google Tag Manager с условием URL клика содержит t.me

Для Viber создайте второй триггер «Клик по Viber» с условием «URL клика» «начинается с» «viber://».

Если Telegram на сайте встречается в разных форматах (t.me, telegram.me, tg://), вместо «содержит» используйте оператор «соответствует регулярному выражению» и значение t\.me|telegram\.me|tg:. Точку в регулярном выражении экранируем обратной косой чертой, иначе она означает «любой символ».

Шаг 4. Создайте теги события GA4

Теперь нужен тег, который отправит событие в Google Analytics 4. Я использую одно название события для всех мессенджеров, а сам мессенджер передаю параметром. Так в отчетах одно событие, а разбивку видно по параметру.

  1. Откройте «Теги» и нажмите «Создать».
  2. Назовите тег, например «GA4 — Клик по Telegram».
  3. Тип тега: «Google Аналитика: Событие GA4».
  4. В поле «Идентификатор тега» укажите идентификатор потока данных GA4 (начинается с G-).
  5. «Название события»: click_messenger.
  6. В «Параметрах события» добавьте строку messenger со значением telegram. Полезно добавить и link_url со значением переменной URL клика: так видно, на какой именно чат кликали, если их несколько.
  7. В блоке «Триггеры» выберите «Клик по Telegram».
  8. Сохраните.
Тег "Google Аналитика: Событие GA4" для клика по мессенджеру в Google Tag Manager

Для Viber скопируйте тег, поменяйте значение параметра messenger на viber и триггер на «Клик по Viber».

Название события пишите латиницей, строчными буквами, через подчеркивание. Не используйте названия, которые Google резервирует для автоматических событий, и не меняйте название потом: история в отчетах начнется заново.

Вариант для тех, у кого много мессенджеров

Если кнопок много (Telegram, Viber, WhatsApp, Messenger), можно обойтись одним триггером и одним тегом. Триггер «Клик — Только ссылки» с условием «URL клика» «соответствует регулярному выражению» t\.me|viber:|wa\.me|m\.me. А значение параметра messenger берите из переменной типа «Таблица регулярных выражений», где каждому шаблону адреса соответствует название мессенджера. Это удобнее поддерживать, но сложнее проверять, поэтому новичкам советую начать с отдельных тегов.

Шаг 5. Проверьте настройку в режиме предварительного просмотра

Публиковать контейнер без проверки я не советую никогда.

  1. Нажмите «Предварительный просмотр» в правом верхнем углу GTM и введите адрес сайта.
  2. На открывшемся сайте нажмите кнопку Telegram.
  3. Вернитесь во вкладку Tag Assistant и найдите в левой колонке событие «Link Click».
  4. Убедитесь, что в списке сработавших тегов есть «GA4 — Клик по Telegram».
  5. Повторите для Viber.

Если на компьютере не установлен Viber, браузер может показать окно «Открыть приложение?». Это нормально, событие все равно должно появиться в Tag Assistant.

Дальше проверьте, что событие дошло до GA4: в «Администраторе» откройте DebugView и посмотрите, появилось ли click_messenger с параметром messenger. Если все в порядке, вернитесь в GTM, нажмите «Отправить» и опубликуйте версию с понятным описанием, например «Клики по Telegram и Viber».

Шаг 6. Сделайте параметр видимым в отчетах и отметьте ключевое событие

Сам параметр messenger в стандартных отчетах GA4 не покажется, пока вы его не зарегистрируете.

  1. В GA4 откройте «Администратор», затем «Специальные определения».
  2. Создайте специальный параметр на уровне события: название «Мессенджер», параметр события messenger.
  3. Данные по нему начнут собираться с момента создания, задним числом они не появятся.

Чтобы считать клики по мессенджерам как конверсию, отметьте click_messenger как ключевое событие. Как это сделать и о чем подумать заранее, я подробно разобрал в статье про ключевые события в GA4.

Шаг 7. Передайте клики в Google Ads

Есть два пути:

  • Импорт из GA4. Если аккаунты GA4 и Google Ads связаны, в Google Ads создайте действие-конверсию с импортом ключевого события click_messenger. Это проще всего.
  • Отдельный тег конверсии Google Ads в GTM с теми же триггерами. Данные приходят быстрее и точнее совпадают с кликами по рекламе, но нужно поддерживать еще один тег.

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

Частые ошибки

  • Не включены переменные кликов. В условии триггера нет «URL клика», и настройка не работает.
  • Кнопка сделана виджетом. Встроенные триггеры не видят клики внутри iframe чужого сервиса. Тут нужно смотреть документацию виджета: многие умеют передавать события в dataLayer или в GA4 напрямую.
  • Условие слишком широкое. Например, «содержит» «telegram» срабатывает и на ссылку на ваш Telegram-канал в подвале. Если канал не нужно считать как обращение, сделайте условие точнее, по имени пользователя.
  • Одна кнопка считается дважды. Бывает, когда на сайте и обычная ссылка, и скрипт, который тоже отправляет событие. Проверяйте в предварительном просмотре, сколько раз срабатывает тег.
  • Контейнер не опубликован. В режиме просмотра все работает, а в отчетах пусто, потому что версию забыли опубликовать.
  • Клик считается заявкой. В отчете для руководителя клики по мессенджерам лучше показывать отдельно от реальных заявок, иначе цена обращения будет выглядеть ниже, чем есть.

Похожие ошибки встречаются и при настройке форм, о них я писал в статье про отслеживание отправки форм через Google Tag Manager.

Частые вопросы

Можно ли узнать, написал ли человек сообщение после клика?

Через Google Tag Manager нет: он видит только клик на сайте, а что происходит в приложении мессенджера, сайту неизвестно. Чтобы связать переписку с рекламой, используют уникальные ссылки или промокоды для разных источников, или CRM, которая подтягивает чаты.

Почему в GA4 кликов меньше, чем показывает Tag Assistant?

Часть посетителей отказывается от cookie, у части стоят блокировщики рекламы, а некоторые события отсеиваются как от ботов. Небольшая разница нормальна. Если разница большая, проверьте баннер согласия и то, не уходит ли человек со страницы раньше, чем тег успевает сработать.

Нужно ли считать клики по Telegram-каналу или только по чату?

Зависит от цели. Подписка на канал полезна, но это не обращение. Я разделяю их: чат с менеджером считаю отдельным событием, а переход на канал либо отдельным событием, либо не считаю вовсе.

Работает ли это для WhatsApp?

Да, логика та же. Ссылки WhatsApp обычно выглядят как https://wa.me/номер или https://api.whatsapp.com/send?phone=..., условие триггера пишете по этим адресам.

Вывод

Отслеживание кликов по Telegram и Viber настраивается за один подход: включаете переменные кликов, создаете триггер «Клик — Только ссылки» с условием на адрес ссылки, отправляете в GA4 событие click_messenger с параметром мессенджера, проверяете в предварительном просмотре и публикуете. После этого клики можно отметить как ключевое событие и передать в Google Ads.

Если не хотите разбираться в этом сами, могу настроить аналитику за вас. А если реклама уже работает и вы не уверены, что конверсии считаются правильно, закажите бесплатный экспресс-аудит Google Ads: посмотрю аккаунт и скажу, что исправить в первую очередь. Больше разборов по Google Ads, аналитике и Tag Manager на моем YouTube-канале.

Хотите нормальные заявки, а не просто клики?

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

Сергей Онищенко
Автор статьи Сергей Онищенко

Частный специалист по Google Ads. Настраиваю и веду рекламу с 2017 года, Google Partner, сертифицированный специалист Google Analytics. Пишу и снимаю инструкции по Google Ads, GA4 и GTM.

Бесплатный
экспресс‑аудит

Проверю ваш аккаунт Google Ads за 2 рабочих дня и пришлю список ошибок с приоритетами.

Получить аудит