Tilda · 7 мин чтения

Настройка метрики в Тильде: события с кнопок и форм

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

Как подключить счётчик Яндекс Метрики к сайту на Тильде

Прежде чем говорить о целях, нужен рабочий счётчик. Делается это в панели проекта, без правки кода.

  1. Создайте счётчик в Яндекс Метрике и скопируйте его номер.
  2. В Тильде откройте настройки сайта, раздел с аналитикой, и вставьте номер счётчика в поле для Яндекс Метрики.
  3. Отдельно включать Вебвизор не нужно: он работает по умолчанию, если счётчик подключён в «Настройках сайта». В настройках счётчика на вкладке «Аналитика» можно, наоборот, отключить Webvisor 2.0, выбрать устаревший код счётчика, альтернативный CDN или запретить отправку в Метрику данных электронной коммерции.
  4. Опубликуйте сайт. Черновик Метрика не видит, и именно на этом шаге чаще всего теряют время: правки в редакторе до нажатия «Опубликовать» на живой версии не отражаются.
  5. Проверьте счётчик через встроенную в Метрику проверку установки или через консоль браузера командой typeof ym, которая должна вернуть function.

На этом этапе Метрика уже считает визиты, просмотры и источники трафика. Для лендинга с формой заявки или интернет-магазина этого мало: нужны цели, привязанные к конкретным действиям, а не к факту открытия страницы.

Как на Тильде устроены цели и когда нужен код

Цели в Метрике бывают разных типов, и для Тильды не все одинаково удобны.

Тип цели Когда засчитывается Когда использую на Тильде
Посещение страницы (URL) Открытие конкретного адреса, в том числе виртуальной страницы события Основной способ на Тильде: открытие попапа, клик по кнопке, отправка формы, шаг квиза
Событие JavaScript (reachGoal) Вызов ym с параметром reachGoal в коде страницы Действия, для которых Тильда не создаёт виртуальную страницу: клик по ссылке tel:, переход в мессенджер, сторонняя ссылка, свой виджет в T123
Количество страниц или время на сайте Пользователь открыл больше N страниц или провёл на сайте больше времени Оценка вовлечённости, не привязана к конкретному целевому действию

Тильда передаёт данные в аналитику через просмотры страниц. Когда посетитель открывает попап, нажимает на кнопку или заполняет форму, создаётся виртуальная страница, и данные о её просмотрах доступны в системах аналитики без дополнительных настроек. Поэтому цель на Тильде почти всегда делается типом «Посещение страниц»: в поле «url:содержит» указывается адрес виртуальной страницы события, который виден в настройках блока. JS-событие остаётся для того, что виртуальной страницей не покрыто, например для клика по ссылке tel: или на мессенджер.

События с кнопок: клики по заказу, телефону и мессенджерам

У кнопки в обычном блоке штатная отправка данных о клике есть: в настройках блока с кнопкой ставится галочка «Отправлять данные о клике в систему аналитики», ниже появляется адрес виртуальной страницы, и просмотр этой страницы означает клик по кнопке. Если в блоке две кнопки, отправку данных включают для каждой. Для кнопки в Zero Block то же самое делается в настройках элемента: Settings и поле Click tracking со значением Send data to analytics. Свой код нужен там, где виртуальной страницы нет: клик по ссылке tel:, переход в мессенджер, сторонняя ссылка. В этом случае кнопке присваивается ID блока в настройках (стандартное поле Тильды, его обычно используют для якорных ссылок в меню), а в код перед закрывающим тегом body в настройках сайта добавляется обработчик клика.

<script>
document.addEventListener('click', function (e) {
  var target = e.target.closest('#order-btn');
  if (target && typeof ym === 'function') {
    ym(12345678, 'reachGoal', 'click_order');
  }
});
</script>

Здесь 12345678 нужно заменить на номер вашего счётчика, а order-btn на ID блока, который вы задали кнопке. Похожим способом устроен и мой конвертер валют для Тильды: он находит цены по CSS-классам блоков, а не переписывает верстку самого блока.

Для звонков и переходов в мессенджеры логика та же, только селектор ищет ссылки по началу адреса:

<script>
document.addEventListener('click', function (e) {
  var link = e.target.closest('a[href^="tel:"], a[href*="wa.me"], a[href*="t.me"]');
  if (link && typeof ym === 'function') {
    ym(12345678, 'reachGoal', 'contact_click');
  }
});
</script>

Этот код фиксирует клик по номеру или ссылке на мессенджер, то есть намерение связаться, а не сам факт звонка или переписки. Для точного подсчёта звонков нужен отдельный сервис коллтрекинга, Метрика сама трубку не поднимает.

Важный момент про кнопки, которые открывают попап с формой: клик по такой кнопке и реальная отправка формы это разные события. Если считать целью только клик «Оставить заявку», в отчётах окажутся все, кто просто открыл попап и передумал.

Бесплатный материал

🎁 Полезный скрипт в подарок

Подпишитесь на Telegram - пришлю готовый скрипт по этой теме.

Без спама. Отписка в 1 клик.

События с форм: как отличить открытие попапа от реальной заявки

У формы данные об отправке уходят в системы аналитики автоматически, а отдельной интеграции с номером счётчика и идентификатором цели в панели формы нет. Чтобы увидеть эти данные, нужно открыть настройки блока с формой и найти адрес виртуальной страницы: её просмотр и означает отправку формы. Дальше этот адрес подставляется в цель типа «Посещение страниц» в поле «url:содержит». Такая цель надёжнее самодельного скрипта на клик по кнопке отправки, потому что виртуальная страница создаётся на факт отправки формы, а не на нажатие кнопки внутри неё.

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

Отдельно стоит проверить, не задан ли у формы редирект на страницу благодарности. Если редирект настроен, а цель дополнительно повешена на JS-событие, заявка в Метрике может засчитаться дважды: один раз по переходу на /thanks, второй раз по reachGoal. Выбирайте один способ на одну форму.

Типичные ошибки при настройке метрики и целей в Тильде

  • Правки внесли в редакторе, но не опубликовали сайт, поэтому Метрика продолжает видеть старую версию страницы без нужного кода.
  • Тестируют цель собственными кликами и не исключают свои визиты, из-за чего в отчётах смешиваются реальные заявки и проверки разработчика.
  • Считают целью клик по кнопке, которая только открывает попап с формой, а не факт отправки формы.
  • У формы одновременно настроен редирект на страницу благодарности и JS-цель на отправку, заявка задваивается в отчётах.
  • ID цели в интерфейсе Метрики и строка, которая передаётся в reachGoal в коде, отличаются регистром или пробелом, из-за чего цель существует, но никогда не срабатывает.

На одном из проектов клиент считал заявки по клику на кнопку «Отправить» внутри формы. Часть посетителей нажимала кнопку, видела ошибку валидации из-за незаполненного обязательного поля и закрывала попап. Цифра в Метрике не совпадала с количеством реальных писем на почте, пока цель не переключили на виртуальную страницу отправки формы.

Что входит в настройку метрики, если её делаю я

В разовую настройку я включаю аудит текущей установки счётчика (часто он уже стоит, но криво или задваивает данные), подключение или исправление счётчика в настройках сайта, настройку целей под конкретные кнопки и формы по списку, который согласован с заказчиком, и проверку срабатывания целей в отчётах Метрики после публикации.

Не входит: создание аккаунта в Яндекс Метрике и предоставление доступа к нему, регулярный разбор отчётов и выводы по рекламным кампаниям, настройка коллтрекинга или CRM, если заявки считаются не в Метрике, а в отдельной системе.

От заказчика нужен доступ к панели Тильды с правами редактора, доступ к счётчику в Яндекс Метрике или готовность его создать, и список действий, которые для бизнеса считаются целевыми: не «все клики», а конкретно заявка, звонок или регистрация. Такую настройку я делаю в рамках кастомных доработок для Тильды, от 3 000 ₽, конкретная стоимость зависит от количества кнопок и форм, которые нужно завести под цели, и от того, работает ли уже установленный счётчик корректно.

Условия и возможности Тильды и Яндекс Метрики меняются, поэтому перед запуском я уточняю их у самих сервисов.

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

Нужно ли устанавливать счётчик Метрики отдельно на каждой странице сайта на Тильде?

Нет, номер счётчика вписывается один раз в общие настройки сайта и сразу применяется ко всем страницам проекта. Отдельно вставлять его нужно только если у вас несколько независимых проектов Тильды на разных доменах, тогда у каждого проекта свои настройки сайта и свой счётчик.

Можно ли посчитать звонок по клику на номер телефона как отдельную цель?

Да, тем же способом, что и клик по кнопке: обработчик вешается на ссылки вида tel:, и по клику вызывается reachGoal. Это фиксирует намерение позвонить, то есть клик по номеру, а не сам факт разговора, для подсчёта звонков нужен отдельный сервис коллтрекинга.

Почему цель не засчитывается, хотя код вставлен правильно?

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

Настройка целей зависит от тарифа Тильды, Free или Personal?

Поле для номера счётчика находится в общих настройках сайта и не спрятано за отдельным платным тарифом, это базовая настройка. А вот доступ к разделу с кастомным HTML-кодом стоит на всякий случай проверить заранее, если у вас нестандартная конфигурация проекта, прежде чем начинать настройку целей на кнопках.

Есть задача?

Обсудим в мессенджере

Расскажите, что нужно сделать — отвечу в течение 4 часов в рабочее время. Первая консультация бесплатно.

Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов куки) с использованием Yandex.Metrika.
Понятно