Настройка отслеживания кликов по элементам сайта
Введение
Здравствуйте! Меня зовут Артём, и мы продолжаем заниматься настройкой аналитики в GTM и YTM. В предыдущей статье мы с вами уже провели необходимые подготовительные работы рекомендую ознакомиться, прежде, чем продолжать.
А в этой статье мы продолжим настройку с самой простой и распространённой задачи — отслеживания кликов по номерам телефонов. В моей «карте аналитики» такие события выделены синим цветом.
Отслеживание кликов по номерам телефонов
Чтобы отслеживание клика сработало, номер телефона на сайте должен быть «кликабельным».
То есть номер должен быть обёрнут в тег <a> с атрибутом href, начинающимся с tel:
Если номер оформлен иначе, например, заключён в тег <div>, <strong> или <span>, то настройка сработает некорректно, потому что браузер не считает такой элемент ссылкой.
Это важно учесть не только для телефонов, но и при настройке отслеживания других элементов на сайте.
Как проверить элемент на сайте?
Чтобы убедиться, что элемент «кликабелен» и правильно оформлен:
- Откройте инструменты разработчика: Windows/Linux: Ctrl + Shift + I или F12 | macOS: Cmd + Opt + I;
- Используйте инструмент выбора элемента: Windows/Linux: Ctrl + Shift + C | macOS: Cmd + Opt + C;
- Наведите указатель на нужный элемент — в правой панели вы увидите его HTML-разметку.
На сайте моего клиента номер телефона оформлен корректно — это тег <a href=”tel:+…”>, поэтому я могу настроить цель в Яндекс Метрике через YTM корректно.
Теперь переходим к созданию новой цели в Яндекс Метрике или редактируем уже существующую, настроенную через GTM. Чтобы не путаться, я буду просто менять названия целей в Метрике, добавляя к ним пометку YTM.
Такой подход поможет сохранить структуру, особенно если вы продолжаете использовать GTM параллельно с YTM в процессе переноса.
ШАГ 1. Создание триггера в GTM
Переходим в Google Тег Менеджер во вкладку «Триггеры» и находим триггер, отвечающий за клики по номерам телефонов. В моём случае — это триггер «Клики – Только ссылки», а условие его активации выглядит так: Click URL – содержит – tel.
Это универсальное условие: оно будет срабатывать при любом клике по ссылке, начинающейся с tel:, независимо от того, сколько номеров указано на сайте. Этого достаточно в большинстве случаев.
Но если вы хотите отслеживать клики по каждому номеру телефона отдельно — тогда используйте более точное условие:
Click URL – равно – tel: номер телефона на сайте.
Перед тем как переносить это условие в YTM, можете воспользоваться режимом отладки в GTM:
- Откройте отладку;
- Перейдите на сайт, где установлен GTM;
- Кликните по номеру телефона;
- Посмотрите в отладчике, какое значение принимает переменная Click URL. Это поможет вам избежать ошибок при переносе и убедиться, что триггер срабатывает именно так, как ожидается.
Шаг 2. Создание триггера в YTM
В YTM создаём точно такой же триггер.
Шаг 3. Создание тега Яндекс Метрика
Теперь, когда мы подготовили триггер для кликов по номерам телефонов, давайте создадим тег Яндекс Метрики, чтобы отправлять информацию о достижении цели.
1.Переходим во вкладку «Теги» и нажимаем «Добавить тег».
2.В списке шаблонов выбираем «Шаблоны из каталога»:
И затем Яндекс Метрика:
Заполняем параметры.
- Название тега — укажите понятное имя.
- ID счётчика можно вписать вручную или выбрать из переменной, созданной ранее (тип “Константа”). Просто введите {{, и из выпадающего списка выберите нужную переменную.
- Идентификатор цели — укажите ID цели в Яндекс Метрике, который уже используется в GTM (например Click-Tel).
- Триггер — выберите триггер, который отслеживает клики по телефону, созданный ранее.
- Нажмите Сохранить.
Шаг 4. Удаление дублирующего тега в GTM
Теперь пришло время проверить, как работает цель в YTM. Но для начала нужно остановить или удалить аналогичный тег в GTM, иначе в режиме отладки цели будут срабатывать дважды:
В консоли разработчика:
Не забудьте после остановки или удаления опубликовать все изменения в GTM!
Шаг 5. Создание проверочного тега
Остановив триггер в GTM, идём в предварительный просмотр YTM.
Но перед этим давайте добавим в наш Тег «Мини дебагер триггеров и переменных» триггер «Клики по номерам телефонов» и запустим его.
Эта настройка дополнительная. Мы всё сможем проверить и без этого инструмента. Но на этом шаге я хочу показать, как можно проверять работоспособность триггеров ещё ДО создания отслеживания в Теге Яндекс Метрика.
При корректном срабатывании триггера вы должны увидеть в консоли разработчика сообщение из переменной (например, «Триггер сработал»).
Нажмите «Предварительный просмотр» в интерфейсе YTM.
Чтобы не ждать, жмём на клавиатуре F5, и обновляем страницу. Открываем предварительный просмотр.
Можем добавить в адресной строке параметр: &_ym_debug=2
Обычно мы это делаем через символ <?>, но так как в параметрах знак вопроса уже присутствует, мы должны заменить его на символ &.
Теперь мы сможем отследить срабатывание события не только через консоль разработчика в самом браузере, но и через панель отладки Яндекс Метрики. В правом нижнем углу страницы появится вот такой символ ![]()
Шаг 6. Проверка в режиме отладки
Оказавшись на странице режима отладки, жмём Ctrl+Shift+J или Cmd+Opt+J, чтобы сразу попасть в консоль разработчика. Затем кликаем по номеру телефона. Если всё настроено верно – мы должны увидеть следующее:
Бонусом сработал наш Тег «Мини дебагер триггеров и переменных». Это видно по строке «Триггер сработал».
В панели отладки Яндекс Метрики мы теперь видим следующее:
Если всё отображается корректно и цели не дублируются, значит вы всё сделали правильно!
В дальнейшем при настройке каждой последующей цели я буду часть шагов опускать, так как они будут идентичны тем, которые мы прошли ранее.
Отслеживание кликов по Email
Следующая цель — отслеживание кликов по email. Лично я её не настраивал ранее в GTM, но, возможно, у вас она уже реализована. В любом случае логика настройки абсолютно такая же, как и в случае с номером телефона.
Всё также важно, чтобы Email на сайте был «кликабельным»!
Убедитесь, что email на сайте заключён в ссылку с атрибутом href=”mailto:…”. Если email-адрес просто написан в тексте (например, внутри тега <div> или <span>), то триггер не сработает.
Это универсальное условие, которое сработает при клике по любому почтовому адресу на сайте. Если же вы хотите отслеживать клик по конкретному адресу, укажите полное значение в условии:
Click URL – равно – mailto:example@site.ru
Кстати, и отслеживание номера телефона, и клика по email можно настроить и прямо в интерфейсе Яндекс Метрики, без использования YTM.
Просто при создании цели выберите её тип:
- клик по номеру телефона;
- клик по email.
Затем укажите: вы хотите отслеживать все клики, или только клики по конкретным адресам/номерам?
По сути, встроенные цели Метрики используют ту же логику, которую мы сейчас применяем при настройке целей в YTM: они отслеживают значение атрибута href при клике по ссылке.
И:
Отслеживание клика по кнопке всплывающего окна
Иногда возникает задача отследить клик по кнопке во всплывающем окне. На сайте моего клиента как раз есть такая кнопка — «Написать в WhatsApp».
Для её отслеживания я использую селектор CSS. Это очень удобный способ, особенно если вы не можете привязаться к Click URL или Click Text (к тексту на кнопке). Но вы можете отслеживать это и иначе. Есть множество способов найти селектор CSS. Но я вам приведу самый простой способ на примере моего проекта.
- Открываем сайт, где размещена кнопка.
- Нажимаем Ctrl+Shift+C (Windows/Linux) или Cmd+Opt+C (Mac), чтобы «проинспектировать» нужный элемент.
- Кликаем по нужной кнопке на сайте.
- В консоли разработчика мы будем автоматически перемещены к коду этой кнопки.
- Кликаем правой кнопкой мыши по строке с кодом и выбираем Copy → Copy selector.
- Готово! Селектор скопирован и мы сможем использовать его в настройке триггера в YTM.
Далее идём по уже привычным шагам.
Шаг 1. Настройка цели в Яндекс Метрике
Корректируем название цели в Яндекс Метрике.
Шаг 2. Смотрим триггер в GTM
Если эта цель была уже реализована в GTM, «идём» в соответствующий триггер. Он нам пригодится для переноса всей логики.
Шаг 3. Создание триггера в YTM
В YTM создаём такой же триггер. Выбираем тип триггера: Клики — Все элементы. Условие активации: Click Element → соответствует CSS-селектору → [вставляем скопированный селектор].
Шаг 4. Создание тега Яндекс Метрики
Теперь нам не нужно добавлять тег из шаблона. Он у нас уже есть. Мы можем открыть предыдущий тег и просто нажать на кнопку «Сохранить как» и сделать копию тега.
Даём тегу новое название.
Шаг 5. Редактирование нового тега
Открываем только что созданный тег.
И меняем в нём идентификатор цели и триггер. Жмём «Обновить».
Шаг 6. Отключение дублирующего тега в GTM
Чтобы события не срабатывали дважды:
- остановите или удалите аналогичный тег в GTM;
- не забудьте опубликовать все изменения в контейнере GTM!
Шаг 7. Проверка с помощью «Мини дебагера»
Можете отключить «Мини дебагер триггеров и переменных», если он не нужен. Или можете изменить в нём триггер, если хотите проверить срабатывание нового события в режиме отладки.
Шаг 8. Режим отладки и финальная проверка
Идём в режим отладки и проверяем работу цели. Видим, всё срабатывает корректно.
И консоль разработчика:
ВАЖНО: при работе с консолью разработчика или с панелью отладки Яндекс Метрики, не забудьте поставить галочки в Preserve log. Это нужно для того, чтобы при перезагрузке страницы данные из консоли не затирались.
- В панели отладки Яндекс Метрики поставьте галочку Preserve log;
- В консоли разработчика поставьте галочку на вкладке Console → Preserve log;
Preserve log:
- На вкладке Network (Сеть) также включите Preserve log.
Следующие действия я выполнил по уже знакомому сценарию.
С помощью триггера «Клики – Все элементы» и условия Click Element → соответствует CSS-селектору, были настроены следующие цели:
- Клик по кнопке открытия Квиза;
- Клик по кнопке начала прохождения Квиза;
- Клик по кнопке «Смотреть все отзывы»;
- Клик по кнопке «Напишите нам».
Каждую цель я перенёс следующим образом:
- дал новое понятное название цели в Яндекс Метрике;
- создал аналогичный триггер в YTM, скопировав селектор из GTM;
- остановил или удалил соответствующие теги в GTM;
- создал теги Яндекс Метрики в YTM, привязав их к нужным триггерам;
- протестировал срабатывание целей через режим отладки и консоль разработчика.
В результате получил 4 новых тега в YTM с такими идентификаторами целей:
- QuizOpen
- QuizStart
- NapishiteClick
- OtzivClick
Проблема: ограничение длины CSS-селектора в YTM
Во время переноса одного из триггеров, столкнулся с неожиданным ограничением длины CSS-селектора.
Я копировал полный путь до элемента с помощью инструмента разработчика (Copy selector), и попытался вставить его в поле условия. Однако YTM обрезал строку — вставилось только 202 символа, а всё остальное было проигнорировано.
Важно: этого ограничения я не нашёл в справке Яндекс Тег Менеджера. Учитывайте его, особенно при копировании длинных селекторов из DOM-дерева.
Решение: вместо полного пути я использовал селектор класса:
.t-btn.t-quiz__btn_next.t-quiz__btn_md
Обратите внимание:
- между классами вместо пробелов обязательно ставьте точки (.)
- перед селектором тоже обязательно ставьте точку (.)
Правило не сработает без этих условий!
Используя этот селектор, я получил корректное срабатывание всех нужных кнопок (в моём случае — четыре варианта).
А при проверке через поиск этого селектора удалось найти те самые 4 кнопки, клики по которым и нужно отслеживать:
Теперь при проверке целей видно, что все события отслеживаются корректно.
В следующих материалах я чуть подробнее расскажу:
- как использовать методы JavaScript (querySelector, querySelectorAll) для поиска нужных элементов;
- как строить более надёжные и лаконичные CSS-селекторы вручную.
А пока идём дальше. Осталось настроить ещё 2 цели, которые требуют отслеживания кликов по элементам.
Отслеживание добавления и удаления товаров из корзины
Если у вас настроена электронная коммерция (E-commerce), то эти цели отслеживаются автоматически и не требуют дополнительной настройки через JS-события. Однако в моём случае интернет-магазин на платформе Tilda, поэтому есть свои нюансы:
Да, добавление товара в корзину через кнопку отслеживается корректно.
Но при увеличении количества товаров внутри самой корзины событие не срабатывает!
А удаление товара (через кнопку «−» или крестик) не отслеживается и вовсе.
Именно поэтому с помощью GTM мне пришлось настроить цели вручную, и теперь мы вместе перенесём их в Яндекс Тег Менеджер.
Шаг 1. Настройка отслеживания добавления товара в корзину
Итак, на моём сайте пользователь может:
- добавить товар в корзину через кнопку «Добавить»;
- для увеличения количества товара нажать «+» внутри самой корзины.
Для отслеживания и первого и второго я использовал два отдельных триггера в GTM, и то же самое сделаю в YTM.
Первый способ — кнопка «Добавить в корзину»
Самый простой способ — найти селектор этой кнопки через панель разработчика. Именно так я и настроил триггер в GTM:
Чтобы найти нужный CSS-селектор, мы можем проинспектировать в панели разработчика кнопку «Добавить в корзину» и найти у элемента вот такой атрибут class:
А можем, наконец-то, воспользоваться файликом с заготовленными переменными. Сейчас я вам покажу на что он способен.
Открываем YTM и создаём триггер «Клики – все элементы» с любыми условиями активации.
Открываем Тег «Мини дебагер триггеров и переменных». Добавляем в него только что созданный триггер «Клики – все элементы».
А в переменные добавляем «встроенные переменные» КЛИКИ из файлика:
Клики
Click Element: {{Click Element}} Click Classes: {{Click Classes}} Click ID: {{Click ID}} Click Target: {{Click Target}} Click URL: {{Click URL}} Click Text {{Click Text}}
Теперь зайдём в режим отладки YTM и кликнем по кнопке «Добавить в корзину». В консоли разработчика мы увидим, какие переменные сработали.
Например:
- Click Classes: js-store-prod-btn2 t-btn t-btn_sm …
- Click Text: Добавить в корзину
Помните режим отладки в GTM? Так вот – это его мини-аналог, которым тоже можно пользоваться.
На скрине ниже вы также увидите, что сработало и событие электронной коммерции add. Обратите внимание на переменную Click Classes. Это та самая переменная, которые мы с вами уже находили, когда инспектировали кнопку через консоль разработчика. Помимо Click Classes у нас есть значение в переменной Click Text – Добавить в корзину.
Click Classes у кнопки довольно длинный: js-store-prod-btn2,t-store__card__btn,t-store__card__btn_second,t-btn,t-btn_sm, но мы можем взять только его часть. Таким образом для отслеживания клика по кнопке «Добавить в корзину», мы можем привязаться или к CSS-селектору .js-store-prod-btn2 (не забываем о точке вначале!) или к переменной Click Text – равно – Добавить в корзину.
Добавление товара в корзину через элемент <+>
Через тег «Мини дебагер триггеров и переменных» найти нужную переменную не удалось. Дальнейшие шаги уже вам хорошо известны: создаём аналогичный триггер в YTM с условием: Click Element – соответствует селектору CSS.
Шаг 2. Объединение триггеров и создание тега Яндекс Метрика
На этом шаге я снова меняю название целей в Яндекс Метрике. Затем переношу всё из триггера в GTM в триггер YTM. Ставлю на паузу все Теги в GTM. Создаю Теги отслеживания событий Яндекс Метрики и через режим отладки проверяю работоспособность и корректность всех целей. Единственное, что мне ещё нужно будет сделать, так это объединить 2 триггера:
И объединить их нужно в рамках одного Тега Яндекс Метрики.
Примечание: внутри тега можно добавить несколько триггеров — они будут функционировать по условию ИЛИ.
Шаг 3. Проверяем работоспособность целей
Проверяем всё в режиме отладки. Все отслеживается корректно:
Шаг 4. Удаление товара из корзины
Теперь повторим те же шаги для события удаления товара из корзины.
На сайте это можно сделать:
- нажатием на «−»;
- нажатием на крестик (×).
Используем панель разработчика, чтобы найти селекторы.
Элемент <x> имеет селектор класса:
А элемент <->:
Создаём два триггера в YTM с условиями:
- click Element соответствует селектору .t706__product-minus
- click Element соответствует селектору .t706__product-del
Последующие шаги:
- объединяем триггеры под одним тегом Яндекс Метрики с идентификатором цели;
- проверяем в режиме отладки — нажимая и «−», и «×»;
- Убеждаемся, что цели срабатывают корректно.
4. Публикуем изменения в YTM.
Поздравляю! Первый этап переноса завершён! Мы успешно перенесли все цели из категории «Клики по элементам». В YTM были созданы следующие теги:
- Click-Tel
- Click-Mailto
- QuizOpen
- QuizStart
- NapishiteClick
- OtzivClick
- AddToCart
- RemoveFromCart
Теперь можем смело нажимать кнопку «Опубликовать» и приступать к следующему этапу.
Клики по элементам обычно относятся к микроконверсиям. Их часто настраивают для обучения автоматических стратегий в рекламных системах, таких как Яндекс Директ.
Но главная цель аналитики — отслеживание макроконверсий:
- заявок;
- отправок форм;
- оформленных заказов.
Настройка макроконверсий требует большей точности и содержит множество нюансов. Их мы детально разберём уже в следующей статье.




















































