Установка через Google Tag Manager
Десять минут в контейнере GTM плюс один раз залитая по FTP папка /cg/ на вашем домене. Файлы сайта не трогаем, PHP не правим. Ниже — точные названия кнопок и что делать, если не заработало.
Нужны: доступ к контейнеру GTM с правом публикации и FTP к домену сайта.
Шаг 0 — до GTM
Папка /cg/ заливается по FTP. GTM её не создаст
Tag Manager умеет вставлять в страницу HTML и JavaScript. Создать файл на вашем хостинге он не может — такой функции у него нет. Поэтому приёмник данных кладётся руками: в корне домена создаётся папка cg, в неё — два файла из кабинета.
cg-tracker.safe.js
Сам счётчик. Грузится с вашего домена, весит меньше 20 КБ, подключается асинхронно.
collect.php
Приёмник. Принимает данные от счётчика на вашем домене и пересылает их нам. Требует PHP на хостинге.
Права
На папку 755, на файлы 644. Владелец — тот же пользователь, под которым работает сайт.
Проверка перед тем, как идти в GTM: откройте в браузере https://vash-sajt.com/cg/cg-tracker.safe.js — должен отдаться код скрипта, а не 404 и не страница ошибки хостинга.
Если PHP на площадке нет (Tilda, Wix, чистая статика) — класть приёмник некуда. Напишите в @sadalclik_bot до установки, разберём ваш случай отдельно.
Шесть шагов в контейнере
Названия кнопок даны так, как они подписаны в русском интерфейсе GTM, в скобках — английский вариант.
Переменная-константа CG Account
Левое меню: Переменные (Variables) → блок Пользовательские переменные (User-Defined Variables) → Создать (New) → Конфигурация переменной → тип Константа (Constant). Имя переменной — CG Account, значение — код аккаунта из бота @sadalclik_bot. Сохранить. Дальше код аккаунта живёт в одном месте: сменился — правите переменную, а не теги.
Тег Custom HTML
Теги (Tags) → Создать (New) → Конфигурация тега (Tag Configuration) → Пользовательский HTML (Custom HTML). В поле вставьте код из блока ниже. Назовите тег SadalClik — All Pages, чтобы через полгода было понятно, что это.
Один раз на страницу
В теге разверните Расширенные настройки (Advanced Settings) → Параметры активации тега (Tag firing options) и выберите Один раз на странице (Once per page). Без этого на сайтах с виртуальными просмотрами тег выстрелит несколько раз и один визит посчитается двумя.
Триггер All Pages
Блок Триггеры (Triggering) → выберите встроенный All Pages (тип Просмотр страницы / Page View). Больше триггеров не добавляйте: переходы внутри страницы счётчик отслеживает сам.
Предварительный просмотр
Кнопка Предварительный просмотр (Preview) вверху справа. Введите адрес сайта, он откроется в окне Tag Assistant. В колонке Tags Fired должен быть ваш тег — и ровно один раз.
Отправить и опубликовать
Отправить (Submit) → назовите версию (например «SadalClik, установка») → Опубликовать (Publish). Пока контейнер не опубликован, тег работает только в вашем окне предпросмотра, и в панели не будет ни одного визита.
Код для поля Custom HTML
<script>
window.CG_ACC = '{{CG Account}}';
window.CG_CG_ENDPOINT = 'https://vash-sajt.com/cg/collect.php';
</script>
<script src="https://vash-sajt.com/cg/cg-tracker.safe.js" async></script>
{{CG Account}} — подстановка той самой переменной из шага 1: GTM заменит её на код аккаунта. Фигурные скобки оставьте как есть.
vash-sajt.com замените на свой домен — тот же, который указан в кабинете. Протокол только https, адрес без www или с www — ровно так, как открывается сайт.
Проверка: четыре точки, где видно правду
Пройдите их по порядку. Первая же, которая не сошлась, и есть место поломки — дальше можно не искать.
| Что проверяем | Где смотреть | Норма |
|---|---|---|
| Тег сработал | Tag Assistant, вкладка Tags | Норма SadalClik — All Pages в списке Tags Fired, один раз |
| Файлы на месте | Браузер: /cg/cg-tracker.safe.js | Норма Отдаётся код скрипта, ответ 200 |
| Запрос ушёл | Инструменты разработчика → Сеть (Network), фильтр collect | Норма POST на ваш домен, ответ 200, не 404 и не CORS-ошибка |
| Визит дошёл | Панель SadalClik, журнал визитов | Норма Строка с вашим IP и устройством; оценка проставится в ближайшие 10 минут |
Свой визит в журнале — это нормально и даже полезно: сразу видно, как выглядит запись живого человека. Свои IP и офисную сеть потом добавьте в белый список в настройках, чтобы они не попадали в статистику.
Про честные ограничения
Блокировщики режут сам gtm.js — и это не чинится тегом
Часть посетителей приходит с расширениями, которые блокируют домен googletagmanager.com по списку. У этих людей контейнер не загрузится вообще: не сработает ни наш тег, ни ваша аналитика, ни пиксели. Мы на это повлиять не можем и стопроцентного охвата не обещаем.
Зато то, что загрузилось, доходит до конца. Счётчик и приёмник лежат на вашем домене, а не на стороннем: следующий фильтр, который отрезает запросы к чужим адресам, здесь не срабатывает. Ради этого папка /cg/ и заливается — иначе половина собранного терялась бы на последнем шаге.
Если для вас критично собрать максимум визитов — ставьте код прямо в шаблон сайта, мимо контейнера. Тогда блокировка gtm.js на вас не влияет.
Consent Mode v2
Схема с тегом в GTM ложится на Consent Mode v2 без отдельной интеграции. В теге: Расширенные настройки → Настройки согласия (Consent Settings) → Требовать дополнительное согласие (Require additional consent) и укажите analytics_storage.
Дальше GTM решает сам: пока посетитель не дал согласие в вашем баннере, тег просто не срабатывает. Запрос на collect.php не уходит вообще — не «уходит обезличенным», а не уходит. После согласия сбор начинается со следующего просмотра страницы.
Частые ошибки установки
Три случая закрывают почти все обращения по установке.
Каждый визит в журнале дважды
Симптом: визитов ровно вдвое больше, чем в Google Analytics, время на странице по нулям у половины строк.
Причина одна из двух: в теге не выставлено Один раз на странице, либо контейнер GTM вставлен в шаблон сайта дважды. Откройте исходный код страницы и поищите gtm.js — вхождение должно быть одно. Отдельно проверьте, не остался ли код счётчика ещё и прямо в шаблоне: вместе с тегом GTM он даст двойной счёт.
В панели пусто, а в Preview всё зелёное
Симптом: Tag Assistant показывает Tags Fired, журнал визитов пустой сутки.
Контейнер не опубликован. Предварительный просмотр работает только в вашем браузере и только на время сессии отладки — остальные посетители получают последнюю опубликованную версию, а в ней тега нет. Лечится так: Отправить (Submit) → Опубликовать (Publish). Проверьте номер версии на вкладке Версии.
Запросы 404 или не уходят
Симптом: во вкладке Сеть запрос collect.php красный, либо ошибка о блокировке междоменного запроса.
В CG_CG_ENDPOINT неверный домен: остался пример vash-sajt.com, либо адрес с www, когда сайт открывается без www (и наоборот), либо http вместо https. Адрес в CG_CG_ENDPOINT должен совпадать с доменом открытой страницы символ в символ. Второй вариант — файла collect.php просто нет по этому пути.
Не помогло — напишите в бот, посмотрим вашу страницу вместе.
Посмотрите на свой трафик
Аккаунт создаётся бесплатно, без карты — платная подписка сама не включается. Мы ничего не блокируем, просто показываем, кто к вам приходит.