Счётчик на Тильде, будь то Яндекс Метрика или Google Analytics, я подключаю за пять минут через готовое поле в настройках сайта. Сложности начинаются дальше: когда нужно отследить не визит, а конкретное действие - клик по кнопке, отправку формы, оплату заказа. Тильда счетчик из коробки такие вещи не считает, зато даёт достаточно точек для JavaScript, чтобы завести свои события и передать их в Метрику или Analytics.
По теме статьи
Готовое решение
Ограничение доставки по зонам на карте в корзине Tilda
Виджет доставки в шапке сайта + ограничение оформления в корзине по зонам на Яндекс.Карте.
от9 000 ₽
Кастомный скрипт
Когда стандартных блоков не хватает
Доработка сайтов на Тильде: скрипты для корзины, промокоды, зоны доставки, интеграции с CRM и Telegram. Простой скрипт от 3 000
от3 000 ₽
Какие счётчики можно поставить на Тильде без кода
В настройках сайта, во вкладке «Ещё», в разделе «Аналитика», у Тильды отдельные поля под каждый счётчик: номер Яндекс Метрики, идентификатор Google Analytics (у GA4 он начинается с G-), ID контейнера Google Tag Manager, а рядом ещё поля под рекламные пиксели: Facebook, ВКонтакте, Top.Mail.Ru. В каждое поле вписывается только номер или идентификатор, сам код счётчика Тильда собирает и вставляет сама.
Тут есть нюанс, на котором почти все спотыкаются: после изменения этих полей нужно заново опубликовать весь сайт кнопкой «Опубликовать», а не только ту страницу, которую редактировали в этот момент. Настройки аналитики - отдельный слой, они не подтягиваются автоматически при публикации одной страницы.
Подключение Яндекс Метрики и Google Analytics на Тильде
Номер счётчика беру в личном кабинете Яндекс Метрики, в настройках счётчика, и вставляю в соответствующее поле Тильды - стандартный сниппет со включёнными Вебвизором и картой кликов уже работает, отдельно их включать не нужно.
С Google Analytics так же: захожу в административную панель GA4, беру Measurement ID вида G‑XXXXXXXXXX и вставляю в поле Тильды. Если аккаунт настроен правильно, первые визиты появляются в отчёте в реальном времени через несколько минут после публикации.
Отдельный случай - оплата через встроенную в Тильду интеграцию с Робокассой. Факт оплаты можно засчитывать как конверсию по странице «Спасибо за заказ», куда платёжная система возвращает покупателя после успешного платежа, без единой строчки кода в head.
Google Tag Manager на Тильде: когда он нужен
Если пикселей больше двух и их периодически меняет маркетолог, а не разработчик, есть смысл сразу поставить Google Tag Manager вместо того, чтобы плодить поля в настройках. Контейнер GTM подключается тем же способом, отдельным ID в разделе «Аналитика», а дальше все счётчики и пиксели живут внутри интерфейса тега: подключить или отключить рекламный пиксель можно без повторной публикации сайта, достаточно опубликовать контейнер.
Для интернет-магазина на Тильде это особенно удобно: события электронной коммерции вроде просмотра товара, добавления в корзину и покупки собираются через dataLayer, а какие каналы их получают, Метрика, GA4 или рекламные кабинеты, настраивается внутри GTM без правок на самом сайте.
Бесплатный материал
🎁 Полезный скрипт в подарок
Подпишитесь на Telegram - пришлю готовый скрипт по этой теме.
Без спама. Отписка в 1 клик.
Свои события в Метрике и Analytics: клики, формы, оплата
Чаще всего от меня хотят одно из 3 событий: клик по кнопке, отправку формы и подтверждение оплаты. Для кнопок и ссылок Тильда навешивает класс .t‑btn на все блоки с кнопками, поэтому клик ловится обычным JavaScript-обработчиком без привязки к ID конкретного блока:
document.querySelectorAll('.t-btn').forEach(function (btn) {
btn.addEventListener('click', function () {
if (typeof ym === 'function') {
ym(XXXXXXX, 'reachGoal', 'BUTTON_CLICK');
}
if (typeof gtag === 'function') {
gtag('event', 'button_click', { event_category: 'buttons' });
}
});
});
Такой код вставляю через «Ещё», блок «Вставка кода T123», поле «Код перед закрывающим тегом </body>» - тогда он подключается сайтом целиком, а не отдельной страницей.
С формами чуть тоньше. Событие submit у формы с классом .t‑form долетает в момент нажатия на кнопку отправки, ещё до того, как Тильда провалидирует поля и реально отправит данные на сервер:
document.addEventListener('submit', function (e) {
if (e.target.classList && e.target.classList.contains('t-form')) {
if (typeof ym === 'function') {
ym(XXXXXXX, 'reachGoal', 'FORM_SUBMIT');
}
if (typeof gtag === 'function') {
gtag('event', 'form_submit', { event_category: 'forms' });
}
}
});
Этот вариант годится для приблизительной оценки интереса к форме, но не отличает успешную отправку от отклонённой валидатором. Для точной цели «заявка реально ушла» указываю в настройках формы отдельный URL для перехода после успешной отправки, например /thanks, и в Метрике или GA4 завожу цель по посещению этого адреса - в конверсию попадают только те, кто действительно отправил форму, а не просто нажал кнопку.
Как проверить, что счётчики и цели действительно сработали
Перед тем как звать эту настройку готовой, прогоняю её по каждому инструменту отдельно, а не смотрю на отчёты через день.
| Инструмент | Где смотреть | Что покажет |
|---|---|---|
| Яндекс Метрика | отчёт «Вебвизор» или «Онлайн» | визиты и цели по конкретному посетителю в реальном времени |
| GA4 | отчёт Realtime | события по имени, пришедшие за последние 30 минут |
| Google Tag Manager | режим Preview | какие теги сработали и что лежало в dataLayer на момент клика |
| DevTools браузера | вкладка Network | сам факт запроса на mc.yandex.ru или google-analytics.com |
Расширения-блокировщики рекламы часто режут запросы к счётчикам вместе с рекламой. Если событие не приходит именно в тестовом браузере с установленным блокировщиком, а у клиента с чистым Chrome всё в порядке, дело обычно в этом, а не в коде.
Частые ошибки при настройке аналитики на Тильде
- Задвоенный счётчик Метрики: один раз номер вставили в поле настроек, второй раз тем же кодом вручную в head. Визиты в отчётах удваиваются, а разобраться, что не так, дольше, чем сделать правильно с одного раза.
- Забыли опубликовать весь сайт после смены ID счётчика, поэтому старый код ещё висит на боевых страницах.
- Обработчик события завязан на класс блока, который поменялся после переноса блока на другую страницу в редакторе, - клики перестают считаться незаметно для всех.
- Конверсии считаются по визиту на страницу с формой, а не по факту её отправки: в отчётах красиво, а по реальным заявкам не сходится.
Если считать события и следить, чтобы они не отвалились после очередного обновления блоков или смены дизайна, нужно на постоянной основе, техподдержку сайта веду отдельно от разовых доработок, с ежемесячной проверкой счётчиков и целей.
Разовую настройку, три-четыре счётчика, десяток целей и пару кастомных событий, обычно закрываю за один-два часа. Если нужно завести полноценный список пользовательских событий и протестировать их на живых заявках, такая доработка Тильды у меня от 3 000 ₽.
Условия и возможности Тильды и Яндекс Метрики меняются, поэтому перед запуском я уточняю их у самих сервисов.
Частые вопросы
Как поставить счётчик Яндекс Метрики на Тильде без программиста?
Беру номер счётчика в личном кабинете Метрики, вставляю его в поле «Яндекс Метрика» в разделе «Аналитика» настроек сайта Тильды и публикую весь сайт целиком. Отдельный код в head для этого не нужен.
Можно ли подключить Метрику, Google Analytics и Google Tag Manager одновременно?
Да, поля в настройках Тильды независимые: можно заполнить все три сразу, они не конфликтуют между собой. Смысл в этом есть, если часть отчётов смотрите в Метрике, часть в GA4, а рекламными пикселями управляете через GTM.
Почему в Метрике не видно событий по кнопкам после публикации сайта?
Чаще всего дело в трёх вещах: изменения не опубликованы кнопкой «Опубликовать весь сайт», в тестовом браузере стоит блокировщик рекламы, который режет запросы к счётчику, или скрипт с обработчиком клика ищет класс блока, который изменился после переноса блока в редакторе.
Как посчитать оплату заказа как отдельную цель, а не просто визит на «Спасибо»?
Простой вариант - цель по URL страницы, на которую платёжная система возвращает покупателя после успешной оплаты. Если нужна сумма заказа в отчётах, событие покупки с параметрами передают через dataLayer в Google Tag Manager, а дальше GTM отправляет его в GA4 как событие электронной коммерции.