Art Quest · Horror Cinema · MORPHEUS
Одна картинавместо пяти кабинетов.
Сайты, боты, CRM, брони, реклама и платежи трех направлений жили в разных кабинетах, и каждый отвечал на свой вопрос. Мы собрали для компании одну систему: свой трекер событий, пульт владельца, сборщик, который по таймерам читает 20 источников, и зеркало amoCRM в общей базе. Главная цифра пульта: денежные действия, а не визиты.
Работает · трекер, пульт и сборщик на боевом сервере; недельный пакет собирается по таймеру с 12 октября 2026
Откуда данные
- Сайты трех брендов
- Боты Telegram и VK
- amoCRM и брони
- ЮKassa
- Яндекс Метрика
- Search Console
- Авито
- VK
Своя система
- ТрекерСобытия сайтов и ботов60 557событий за три недели
- СборщикЧитает источники по таймерам20источников в недельном пакете
- БазаСделки, брони, платежи вместе4 356сделок amoCRM в зеркале
Что получает владелец
- Пульт владельца19 разделов: денежные действия, воронка, Live
- Недельный пакетСервер собирает сам, по понедельникам
- Сквозной путьКлик, бот, бронь, оплата, сделка
- 20источников читает сборщикв недельном пакете; в каталоге 30
- 60 557событий записал трекер5 488 сессий с 8 по 29 октября; все записи таблицы событий, включая служебные
- 6 мин 45 сполная выгрузка amoCRM4 063 сделки, 36 263 задачи, 0 ошибок
- 3 из 3недельных пакета собрал таймерзапуски 12, 19 и 26 октября
Каждый кабинет знает свой кусок
Метрика считает визиты. amoCRM знает сделки. ЮKassa видит платежи, Авито ведет свои чаты, Search Console показывает поиск. Ни один кабинет не скажет, какой пост привел клиента, который через бота забронировал сеанс и оплатил его.
Владельцу нужен ответ на простой вопрос: откуда на этой неделе пришли деньги. Для ответа данные должны сойтись в одном месте и говорить на одном языке. Так появилась своя система из трех слоев.
Было
- Метрика считает визиты, а не брони
- amoCRM знает сделку, но не страницу, с которой пришел клиент
- Сайт, бот и платеж пишут в разные журналы
Стало
- Один трекер на сайтах и в ботах
- Сделки amoCRM лежат в той же базе, что и события
- Сквозной ключ связывает клик, бота, бронь и оплату; сделки получают сессию сайта
- Недельный пакет сервер собирает сам
- Слой 1
Трекер
Наш код на сайтах и в ботах пишет события в базу. В реестре описаны 110 событий: когда срабатывает, зачем нужно и показывается ли на пульте.
- Слой 2
Сборщик
Программа на Python по трем таймерам читает внешние источники и складывает записи в свое хранилище. В недельный пакет входят 20 источников.
- Слой 3
Пульт
Веб-панель владельца на 19 разделов. Главная цифра на ней: денежные действия, а не визиты.

Пульт считает денежные действия, а не визиты
Главная плитка пульта называется «Денежные действия». В нее входят три счетчика: загруженные чеки оплаты, брони на сайте Horror Cinema и заявки из ботов в CRM с настоящим телефоном.
Повтор события ничего не удваивает: чеки считаются по уникальному номеру брони, брони на сайте по уникальной сессии, заявки из ботов по уникальному токену. Это число действий, а не рублей.
В разделе теста живые и мертвые сессии считаются отдельно. Живая сессия: человек что-то сделал на странице. Мертвая: зашел и ушел. Трафик с пустыми заходами так не выглядит победой.


- 19разделов в пультеглавная, сайты, реклама, боты, CRM, зарплаты, Live
- 110событий в реестрекогда срабатывает, зачем и показывается ли на пульте
- 60 557событий записанос 8 по 29 октября, без фильтра служебного трафика
- 5 488уникальных сессийза те же три недели
Сборщик читает 20 источников по таймерам
Сборщик живет на сервере отдельной программой. Три таймера запускают ее: частый, суточный и недельный. Она читает Метрику, Search Console, Авито, VK, ЮKassa, amoCRM и хранилище броней, приводит записи к общему виду и кладет в свое хранилище.
К 9 октября там лежали 18 390 нормализованных записей, 103 запуска сборщика и 1 762 связки атрибуции. Связка отвечает на вопрос, из какого канала пришли сделка, бронь или платеж.
- 2 182записи Яндекс Метрикипо статусу на 29 сентября
- 1 801запись Search Consoleна 29 сентября
- 999чатов Авитона 29 сентября
- 181платеж ЮKassaи 18 возвратов, на 29 сентября
Главное правило сборщика: сбой не превращается в ноль. Если не ответил один из 17 дополнительных источников, пакет получает пометку PARTIAL и предупреждение. Если упал один из трех критичных (полный список сделок, хранилище броней, календарь), пакет не выходит.
Отдельный слой следит за правками сайтов. Он нормализовал 21 изменение и 63 контрольные проверки через 7, 14 и 28 дней после каждого.
Полная выгрузка amoCRM за 6 минут 45 секунд
8 октября в 14:26 по Ташкенту началась полная выгрузка amoCRM. В 14:33 она закончилась.
За 6 минут 45 секунд пришли 4 063 сделки, 8 844 контакта, 36 263 задачи и 5 748 примечаний к сделкам. На это ушло 253 вызова API. Ошибок 0. Запросов на запись ни одного: выгрузка только читала данные.
Зеркало сделок лежит рядом с событиями сайта. На 29 октября в нем 4 356 сделок. К сделке система добавляет сессию сайта, страницу входа, номер брони и платеж, если они известны.
- 4 063сделкив выгрузке 8 октября
- 8 844контакта
- 36 263задачи
- 253вызова API0 ошибок
Недельный пакет собирается без людей
По понедельникам в 03:30 по Ташкенту сервер сам собирает недельный пакет по 20 источникам. Пакет получает контрольную сумму SHA-256, а в Drive уходит безопасный ZIP только с агрегатами: без переписок, карточек CRM и данных клиентов.
Пакеты 12, 19 и 26 октября собрал таймер. Никто не нажимал кнопку.
- 7 минпервый плановый запуск12 октября, с 03:30 до 03:37
- 98,6 сполная сборка недели12 фаз, репетиция на копии хранилища
- 3 из 3запуска подряд без ручного старта12, 19 и 26 октября
Что владелец получает из пакета каждую неделю, показывает отдельный кейс про недельный отчет бизнеса.
Клик, бот, бронь, оплата и сделка на одном ключе
28 октября в ссылки на ботов добавили сквозной ключ: он связывает сайт, бота, бронь и оплату. За первые сутки система выдала 348 ключей.
Сделки в зеркале получили привязку к сессии сайта: было 0, стало 38 из 278 (14%). Теперь у 47 сделок есть страница входа, у 57 номер брони, у 39 платеж.

Один ключ на всем пути клиента
- 1Кликреклама, пост, QR
- 2Сайтсессия и страница входа
- 3Ботключ в ссылке на Telegram и VK
- 4Броньключ и сессия сохраняются
- 5Оплатаплатеж привязан к брони
- 6Сделкав зеркале amoCRM
348 ключей выдано за первые сутки
Сессии без источника: до и после пересчета правил
Весь путь клиента от клика до сделки разобран в отдельном кейсе про сквозную аналитику.
Что показали данные
- iPhone
Форма брони не отправлялась с iPhone пять дней
С 19 по 23 октября форма брони на сайте Horror Cinema не отправлялась с iPhone. Недельный отчет за 19–25 октября: 3 обращения через самостоятельную бронь против 12 за предыдущую неделю. Исправили 23 октября.
- Директ
Сделки «Директ + поиск» оказались звонками
41 сделка «Директ + поиск» оказалась звонками по рекламному номеру. Метка Директа дошла до сайтов только у 2 сессий, а 730 сессий пришли из органического поиска Яндекса. В заходах на сайт такие сделки не видны.
- Виджет
Бронь теряла сессию
11 из 11 броней через виджет сайта Horror Cinema до 19 октября приходили без сессии: фильтр принимал 13-значную метку времени за телефон. С 19 октября бронь получает сессию виджета, а с 28 октября виджет передает сессию сайта, и бронь склеивается с визитом.
Как это делалось
Пять месяцев от первого пульта до сквозного ключа
Первая рабочая версия пульта: 29 мая 2026 года. 13 июня на нем появились CRM и боты. К концу сентября рядом работал сборщик, 12 октября он сам собрал первый плановый недельный пакет на новом сервере, а 28 октября в систему встал сквозной ключ.
Компания задает вопросы: откуда пришли деньги, где теряются заявки, что изменилось за неделю. Мы превращаем каждый вопрос в событие, таблицу или экран.
- КомпанияВопросы к данным и выбор источников: что читать, что считать деньгами.
- SemCueТрекер, пульт, сборщик, зеркало amoCRM и сквозной ключ.
- СерверТаймеры сами запускают сбор и недельный пакет.
Для технических читателей
Устройство
- Трекер и пульт
- Node.js (Express) и PostgreSQL. События сайтов и ботов, зеркало сделок amoCRM, 19 разделов пульта.
- Сборщик
- Python, хранилище на SQLite, три таймера: частый, суточный и недельный.
- Правила пакета
- 3 критичных и 17 дополнительных источников. Сбой дополнительного помечает PARTIAL и не становится нулем. У пакета контрольная сумма SHA-256, в Drive уходит ZIP только с агрегатами.
- Сквозной ключ
- Ключ в ссылках на ботов, привязка брони, платежа и сделки к сессии сайта.
Откуда цифры
Откуда сведения
- Итоговый файл полной выгрузки amoCRM от 8 октября 2026: счетчики, время и число вызовов API.
- Статусный документ сборщика от 13 октября 2026: источники, правила пакета, время запусков.
- Журнал службы и каталог недельных пакетов на сервере, состояние на 29 октября 2026.
- Счетчики базы аналитики на 29 октября 2026: только количества, без содержимого.
- Аудит хранилища сборщика от 9 октября 2026.
- Исходный код пульта и реестр событий трекера.
- Контракт сквозного пути с замерами до и после выкладки 28 октября 2026 и недельный отчет за 19–25 октября.
Следующая система
Сквозной путь клиента: от клика до оплаты →