Схема целиком

Путь одного визита: от клика до вердикта

Внутри нет ничего магического. Скрипт на вашем домене собирает сигналы визита, ваш сервер пересылает их нам, детектор каждые 10 минут взвешивает их по 12 признакам и пишет причину словами. Ниже — вся цепочка, без чёрного ящика.

Данные сначала попадают на ваш домен · запись поведения — только для рекламных визитов

FIRST-PARTY browser cg-tracker.safe.js your-site.com/cg/collect.php sadalclik.com 10 min score · reasons · IP list

Шесть шагов, которые проходит каждый визит

Первые четыре занимают доли секунды. Пятый и шестой — фоновая работа на нашей стороне.

  1. Страница открываетсяGoogle Tag Manager срабатывает на All Pages и подгружает cg-tracker.safe.js с вашего же домена. Файл меньше 20 КБ, загрузка асинхронная — страница его не ждёт и не тормозит.
  2. Скрипт собирает профиль визитаАдрес страницы, реферер, gclid и utm-метки, язык, часовой пояс, размер экрана, тип устройства, время на странице и глубину прокрутки. Для визитов с рекламы — ещё и движение указателя.
  3. Пакет уходит на ваш доменPOST на /cg/collect.php — это файл на вашем хостинге, а не сторонний адрес. Для браузера это обычный запрос сайта к самому себе.
  4. Ваш сервер пересылает пакет намcollect.php добавляет IP посетителя — браузер свой внешний адрес не знает, его видит только сервер по соединению, — подписывает пакет ключом аккаунта и отправляет на sadalclik.com. Если наш сервер недоступен, пакет ждёт очереди на вашем.
  5. Визит ложится в базу как естьСырая запись: факты без оценки. Вердикта на этом шаге ещё нет, и панель показывает визит как необработанный.
  6. Детектор проходит по новым визитамКаждые 10 минут. Ставит оценку по 12 признакам, дописывает причины обычными словами и обновляет список плохих IP. С этого момента визит виден в журнале с объяснением.

Из чего складывается оценка

Почему через ваш домен, а не напрямую

Три причины держать приёмник у вас

🔗

Блокировщики не режут свой домен

Запрос на /cg/collect.php вашего сайта для браузера неотличим от любого другого запроса сайта к себе. Скрипты и приёмники на чужих доменах списки блокировки и режимы приватности снимают в первую очередь — и часть визитов до аналитики просто не доезжает.

🗄

Данные сначала ваши

Пакет ложится на ваш хостинг раньше, чем попадает к нам: он виден в логах вашего сервера. Пересылка выключается правкой одной строки в collect.php, и сбор при этом продолжает работать локально.

🎯

IP подставляет сервер, а не браузер

Свой внешний адрес браузер не знает. Его видит только ваш сервер по установленному соединению — поэтому адрес нельзя подделать со стороны клиента, а это главный признак в оценке.

GTM сам PHP-файл не создаст

Тег в Google Tag Manager добавляет на страницу только JavaScript. Папку /cg/ с cg-tracker.safe.js и collect.php нужно один раз залить по FTP в корень домена. Это единственное действие, для которого нужен доступ к хостингу — дальше правок в сайте не будет.

Инструкция по GTM

Что снимается с визита и что не снимается

Список закрытый: скрипт собирает ровно то, что нужно для оценки клика, и ничего сверх.

Снимаем

  • Адрес страницы, реферер, gclid и utm-метки
  • IP-адрес и сеть: провайдер, дата-центр, VPN, узел Tor
  • Устройство, ОС, браузер, размер экрана, язык, часовой пояс
  • Время на странице, глубина прокрутки, клики по ссылкам
  • Движение указателя — только для визитов с рекламы
  • Идентификатор визита, живущий столько же, сколько журнал тарифа

Не снимаем

  • Содержимое полей форм: имена, телефоны, почту, адреса
  • Пароли и платёжные данные — маскируются в самом скрипте, до отправки
  • Cookie других сервисов и ваши собственные
  • Данные с других вкладок, сайтов и из истории браузера
  • Визиты на страницы, где тега нет: админку можно оставить чистой

Роль сторон юридически: владелец данных — вы, SadalClik их обрабатывает по вашему поручению. Что и сколько хранится, и как удалить всё разом — в политике конфиденциальности. Политика конфиденциальности

Шаг шестой, подробно

Что именно взвешивает детектор

Двенадцать признаков, собранных в пять групп. Ни один из них не выносит приговор в одиночку — они складываются в оценку, а порог вы задаёте сами.

ГруппаЧто смотримКак это выглядит в журнале
СетьКому принадлежит IP и не числится ли адрес в чёрных списках: домашний провайдер, мобильный оператор, дата-центр, VPN, выходной узел Tor. Шесть источников: Tor, FireHOL, IPsum, Spamhaus, blocklist.de, AbuseIPDB«IP дата-центра Hetzner, адрес в двух чёрных списках»
ОтпечатокБраузер, ОС, экран, язык, часовой пояс и согласованы ли они между собой«один отпечаток — семь разных адресов»
ПоведениеВремя на странице, прокрутка, движение указателя, клики«мгновенный уход, 0 с, прокрутки нет»
ЧастотаСколько раз этот адрес и этот отпечаток приходили с рекламы за сутки и не повторяется ли один gclid«11 кликов с одного адреса за час»
Строка браузераЧто заявляет о себе User-Agent: краулеры, curl и библиотеки, признаки headless, версии, которых не существует«в строке браузера python-requests»

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

Пороги и режимы

Результат

Так выглядит одна строка журнала

Это не сводка за месяц и не процент фрода. Это один конкретный клик, за который вы заплатили, и причины, по которым он помечен.

14:32:07   185.xxx.xxx.14   Hetzner Online
/posluhy/?gclid=Cj0KCQjw...   Chrome 127 · Windows
время на странице: 0 с · прокрутка: нет
оценка: 91 / 100
причины: IP дата-центра · в 2 чёрных списках · мгновенный уход · 7-й клик за сутки
  • Панель: журнал с фильтрами по дате, кампании, сети и оценке, плюс запись движения мыши для рекламных визитов
  • Отчёты: сводка за период в Telegram и на почту, без захода в панель
  • Выгрузка: список плохих IP файлом — его вы загружаете в исключения кампании

Отчёты и панель

Где цепочка обрывается — честно

Последний шаг, загрузку списка в Google Ads, сегодня делает человек. Пока это так, обещать «блокируем автоматически» мы не будем.

Автоотправка исключений в Ads — в разработке

Список плохих адресов детектор формирует, показывает с причинами и отдаёт файлом. В рекламный кабинет его загружаете вы или ваш специалист. Выгрузка конверсий в Ads не работает вообще — этого в системе сейчас нет.

Потолок Google Ads: 500 исключений на кампанию

Выше этого числа новые блокировки просто перестают действовать — без ошибки и без предупреждения, адреса продолжают кликать. Поэтому при выгрузке детектор ставит в начало худшие адреса, а не выкидывает всё подряд. Это же и ответ на «я и руками заблокирую»: руками вы упрётесь в потолок и не заметите.

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

Первую неделю аккаунт стоит держать в режиме наблюдения — система показывает, кого бы заблокировала, но ничего не блокирует. Так видно цену ошибки до того, как она случится.

Регистрация и подтверждение — только через Telegram-бот @sadalclik_bot. Паролей на сайте мы не заводим.

Посмотрите на свой трафик

Аккаунт создаётся бесплатно, без карты — платная подписка сама не включается. Мы ничего не блокируем, просто показываем, кто к вам приходит.