Розробка дашборду моніторингу автонаповнення 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Розробка дашборду моніторингу автонаповнення 1С-Бітрікс
Простий
~1-2 тижні
Часті запитання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1357
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    943
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    693
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    829
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    731
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1074

Розробка дашборду моніторингу автонаповнення 1С-Бітрікс

Ми часто стикаємося з ситуацією: парсер працює, товари наповнюються, але відповісти на прості запитання — «скільки товарів оновилося за добу?», «який відсоток помилок?», «яке джерело найпроблемніше?» — неможливо без дашборду. Штатний журнал подій Бітрікс для цього не підходить: він показує сирі записи, а не агрегати. Наш досвід (понад 40 проєктів автонаповнення) показує, що якісний моніторинг скорочує час діагностики з годин до секунд. Ми розробимо для вас окремий екран з метриками, графіками та індикаторами здоров'я.

Чому штатний журнал не підходить для моніторингу?

Журнал подій Бітрікс фіксує кожну дію парсера порядно. Якщо за добу обробляється 10 000 товарів, ви бачите 10 000 записів. Немає агрегації за часом, немає кольорової індикації помилок, немає можливості швидко побачити проблемне джерело. Дашборд вирішує цю проблему: він збирає дані з таблиці завдань парсера та показує зведену картину за 5 секунд.

Що виводимо на дашборд

Дашборд відповідає на запитання «чи все гаразд?» за 5 секунд. Ключові метрики:

Індикатори стану (верхня смуга):

  • Всього джерел / з них активних / з помилками.
  • Товарів оброблено за добу: створено / оновлено / пропущено / помилки.
  • Час останнього успішного запуску по кожному джерелу.

Графіки (центральна область):

  • Кількість оброблених елементів по днях (stacked bar — created/updated/skipped/error).
  • Час виконання парсингу по джерелах (line chart).
  • Відсоток помилок по джерелах (bar chart).

Таблиця джерел (нижня частина):

Джерело Статус Останній запуск Елементів Помилок Час Наступний запуск
Постачальник А OK 14:30 12 450 3 (0.02%) 8m 12s 20:30
Постачальник Б ERROR 12:00 0 (зупинений)

Кольорова схема: зелений — останній запуск успішний та був менше 2 інтервалів тому, жовтий — помилки >1%, червоний — останній запуск failed або прострочений.

Як прискорити завантаження дашборду на великих каталогах?

Для каталогів до 100 000 товарів та 10 джерел стандартні SQL-запити виконуються миттєво. Якщо каталог більший, ми використовуємо матеріалізоване представлення: таблиця parser_stats_daily, що оновлюється агентом раз на годину. Це скорочує час завантаження дашборду до часток секунди.

Джерело даних

Дашборд будується на даних з таблиці завдань парсера. Мінімальна схема:

CREATE TABLE parser_task (
    id SERIAL PRIMARY KEY,
    source_id INT NOT NULL,
    status VARCHAR(20),
    started_at TIMESTAMP,
    finished_at TIMESTAMP,
    total_items INT DEFAULT 0,
    created_items INT DEFAULT 0,
    updated_items INT DEFAULT 0,
    error_items INT DEFAULT 0
);

Агрегація виконується SQL-запитами при завантаженні дашборду. Для графіка по днях:

SELECT DATE(started_at) AS day,
       SUM(created_items) AS created,
       SUM(updated_items) AS updated,
       SUM(error_items) AS errors
FROM parser_task
WHERE started_at >= NOW() - INTERVAL '30 days'
GROUP BY DATE(started_at)
ORDER BY day;

На каталозі до 100 000 товарів та 10 джерелах ці запити виконуються миттєво. Для великих проєктів додайте матеріалізовану таблицю parser_stats_daily, що оновлюється агентом раз на годину.

Реалізація в адміністративній панелі

Дашборд реалізується як адміністративна сторінка (/local/admin/parser_dashboard.php), підключена через меню модуля. Для графіків використовуємо вбудовану в Бітрікс бібліотеку amCharts (доступна в CAdminPage) або підключаємо Chart.js через $APPLICATION->AddHeadScript(). У наших проєктах ми частіше використовуємо Chart.js — він гнучкіший у налаштуванні та дає більше можливостей для кастомізації.

Структура сторінки:

  1. Віджети-картки вгорі — <div> з числовими показниками, стилізовані через adm-detail-content. Бітрікс CSS надає класи adm-info-message, adm-warning-message, adm-error-message для кольорової індикації.
  2. Canvas-графіки в центрі — дані підвантажуються AJAX-запитом до обробника, який повертає JSON з агрегатами.
  3. CAdminList внизу — стандартний список джерел з кастомними колонками.

Автооновлення

Дашборд має оновлюватися без перезавантаження сторінки. Додайте setInterval з періодом 60 секунд, що запитує /local/admin/ajax/parser_stats.php. Обробник повертає JSON з поточним станом. На клієнті оновлюємо числа в картках та перемальовуємо графіки.

Для індикації «парсер зараз працює» використовуйте polling статусу з parser_task з status = 'running'. Показуйте анімований спінер поруч з назвою джерела.

Алерти прямо з дашборду

Додайте кнопку «Налаштувати алерти» поруч з кожним джерелом. По кліку — модальне вікно з порогами: максимальний відсоток помилок, максимальний час виконання, максимальна затримка між запусками. Пороги зберігаються в b_option модуля. Агент перевіряє пороги та надсилає сповіщення при перевищенні.

Що входить в роботу

  • Проєктування схеми даних та SQL-агрегацій.
  • Розробка віджетів, графіків та таблиці джерел.
  • Налаштування автооновлення та індикації активного парсера.
  • Реалізація алертів з налаштовуваними порогами.
  • Інтеграція з існуючою системою автонаповнення.
  • Тестування на навантаження до 100 000 товарів.
  • Навчання адміністраторів та документація.

Гарантуємо, що дашборд працюватиме під ключ протягом 1-2 тижнів. Оцінимо ваш проєкт за 2 дні — напишіть нам.

Строки реалізації

Компонент Час
SQL-агрегація + AJAX-обробник 1-2 дні
Картки + таблиця джерел 1-2 дні
Графіки (Chart.js) 2-3 дні
Автооновлення + індикація running 1 день
Налаштування порогів алертів 1-2 дні
Всього 1-2 тижні
Чому дашборд кращий за ручний моніторинг Ручний аналіз журналу подій займає години та загрожує пропущеними помилками. Дашборд дає повну картину за секунди, що скорочує час реакції на збої з годин до хвилин. В одному з проєктів ми скоротили середній час виявлення помилки з 4 годин до 5 хвилин.

Понад 10 років досвіду з 1С-Бітрікс та сертифіковані інженери гарантують якість. Зв'яжіться з нами для консультації.

Чому аналітика 1С-Бітрікс часто вводить в оману?

Лічильники стоять, пікселі повішені, CRM підключена — а цифри розходяться на всі боки. Конверсія e-commerce не передається в dataLayer. UTM-мітки втрачаються на редиректах ЧПУ. Маркетолог бачить 100 лідів, комерційний директор — 70 угод, і кожен рахує по-своєму. Рішення приймаються на відчуттях, а рекламний бюджет летить у нікуди — за нашими даними, втрати через некоректну аналітику сягають 30–40% бюджету. Для магазина з витратами на рекламу 100 000 грн на місяць це 30–40 тис. грн щомісячних втрат.

Ми налаштовуємо аналітику 1С-Бітрікс більше 10 років. Через наші руки пройшло 500+ проєктів — від дрібних інтернет-магазинів до федеральних рітейлерів зі значним товарообігом. Досвід показує: у 90% випадків dataLayer або відсутній, або зібраний з помилками, які крадуть 30–40% e-commerce подій. Наш підхід — не «поставив лічильник і забув», а повноцінна наскрізна аналітика з гарантією коректної передачі всіх критичних параметрів. Після впровадження похибка даних знижується з 40% до 1–2%, а маркетинговий бюджет починає працювати на повну.

Як аналітика 1С-Бітрікс вирішує проблему розбіжності даних?

Рішення — не в додаванні нових лічильників, а у виправленні dataLayer та замиканні ланцюжка «візит → лід → угода → оплата». Ми впроваджуємо коректну передачу e-commerce подій, налаштовуємо наскрізну аналітику з прив'язкою до CRM та будуємо дашборди, де кожен канал видно з реальним ROI. Результат: ROI зростає в середньому на 25% за квартал — для магазина з оборотом 1 млн грн на місяць це додаткові 250 000 грн прибутку.

Як виправити e-commerce трекінг у Яндекс.Метриці та GA4?

Базове налаштування — і чому його зазвичай роблять криво

  • Встановлення через GTM, а не вставкою в header.php — інакше при оновленні шаблону лічильник злетить.
  • Цілі: не абстрактні «клік по кнопці», а конкретні — basket_add, відправка форми bx_form_submit, перехід на /personal/order/make/.
  • Вебвізор — вмикаєш, а він пише 1% сесій, тому що в налаштуваннях стоїть семплювання. Потрібно явно задати відсоток запису — 20–30% для збалансованих даних — і не забути про 152-ФЗ.
  • Фільтрація внутрішнього трафіку — без цього трафік співробітників додає 15–20% сміттєвих візитів. Фільтруємо по IP, cookie _ym_debug, заголовкам.

Електронна комерція — найнедооціненіша фіча

Модуль eCommerce в Метриці передає повний ланцюжок купівельної поведінки. Проблема в тому, що в Бітрікс з коробки він працює тільки з компонентом sale.order.ajax, і то криво — втрачає remove_from_cart при AJAX-оновленні кошика.

Що ми передаємо в dataLayer:

  • Перегляд картки — id, name, brand, category, price. Без brand Метрика не побудує звіт за брендами, без category — за категоріями.
  • Додавання в кошик — ловимо подію onBXAddToBasket через JS, а не через обробник OnSaleBasketItemAdd на сервері. Серверний обробник не знає про JS-контекст.
  • Видалення з кошика — тут пастка: штатний компонент sale.basket.basket при AJAX-оновленні не генерує окрему подію видалення. Потрібен свій обсёрвер.
  • Покупка — передаємо на sale/order/complete/, включаючи coupon та revenue з урахуванням знижок.

Приклад налаштування dataLayer для події add_to_cart:

BX.addCustomEvent('onBXAddToBasket', function(product) {
    window.dataLayer.push({
        'event': 'add_to_cart',
        'ecommerce': {
            'items': [{
                'item_id': product.id,
                'item_name': product.name,
                'price': product.price,
                'quantity': 1
            }]
        }
    });
});
Параметр Звідки беремо Грабельки
ID товару PRODUCT_ID з інфоблоку Не плутати з ID торгової пропозиції — це різні сутності
Категорія Ланцюжок розділів інфоблоку Метрика чекає формат «Електроніка/Смартфони», роздільник — /
Бренд Властивість інфоблоку Якщо Highload-довідник — потрібен додатковий запит
Ціна CATALOG_PRICE_1 або тип ціни контрагента Передавати фінальну, після знижок
Купон CSaleBasket::GetList → DISCOUNT_COUPON Може бути порожнім — не ламайте dataLayer

Чому GA4 на Бітрікс вимагає ручного налаштування?

GA4 працює на подіях, а не на хітах. Немає «переглядів сторінок» у звичному сенсі — є page_view як одна з подій. Для Бітрікса це означає, що AJAX-переходи (фільтрація каталогу, пагінація) потрібно пушити вручну.

Ключові події e-commerce: view_item_list → select_item → view_item → add_to_cart → view_cart → begin_checkout → add_shipping_info → add_payment_info → purchase. Кожна подія вимагає свій набір параметрів. purchase без transaction_id — не зарахується. add_to_cart без масиву items — марний. GA4 мовчки проковтне невалідні дані і покаже порожні звіти. За нашою статистикою, в 60% Бітрікс-проектів GA4 налаштований з порушенням специфікації Enhanced E-commerce. Це призводить до втрати до 40% транзакцій у звітах.

Користувацькі параметри, які реально потрібні:

  • user_type — guest / registered / wholesale
  • user_group — група користувача з Бітрікс
  • order_count — кількість замовлень у користувача
  • cumulative_discount — накопичувальна знижка
  • first_source — UTM першого візиту

Що дає наскрізна аналітика на Бітрікс?

Метрика бачить візити. CRM бачить угоди. Рекламний кабінет бачить витрати. А зв'язок між ними — розрив. Менеджер закрив велику угоду, але Метрика показує джерело (direct), тому що клієнт прийшов за прямим посиланням із закладок, а перший контакт був через Директ три місяці тому.

Наскрізна аналітика замикає ланцюжок: рекламний клік → візит → лід в CRM → угода → оплата → ROI. Після впровадження клієнти перерозподіляють бюджет на користь каналів з високим LTV, і ROI зростає в середньому на 25% за квартал. Roistat показує на 40% точнішу атрибуцію порівняно з Calltouch за нашими тестами на великих проектах.

Як збираємо

  1. UTM-мітки фіксуємо в cookie з TTL 90 днів і дублюємо в наскрізну систему.
  2. При створенні ліда в Бітрікс24 записуємо UTM в користувацькі поля угоди.
  3. Коллтрекінг підміняє номер і прив'язує дзвінок до візиту.
  4. Менеджер веде угоду по воронці, закриває — сума прив'язана до джерела.
  5. Сервіс агрегує витрати через API рекламних кабінетів.
  6. ROI = (виручка — витрати) / витрати по кожній кампанії.
Платформа Сильна сторона Слабке місце
Roistat Багатоканальна атрибуція, коллтрекінг, інтеграція з Бітрікс24 Щомісячна вартість
Calltouch Найкращий коллтрекінг на ринку Наскрізна аналітика слабша, ніж у Roistat
CoMagic (UIS) Зв'язка дзвінки + чат + аналітика Інтерфейс застарів
Бітрікс24 CRM-аналітика Безкоштовно, всередині CRM Не рахує витрати на рекламу, немає коллтрекінгу

Дашборди та воронка: де шукати діри

Будуємо дашборди в DataLens або Looker Studio. Ключове — не перевантажувати.

  • Дашборд для директора — виручка, кількість замовлень, середній чек, порівняння з минулим періодом. П'ять віджетів, оновлення раз на годину.
  • Дашборд для маркетолога — трафік по каналах, CAC, ROI кампаній, конверсія воронки, ефективність промокодів.
  • Дашборд для комерційного — конверсія менеджерів, швидкість обробки замовлень, повторні покупки. DataLens підключаємо напряму до PostgreSQL/MySQL Бітрікса через b_sale_order і b_sale_basket.
Етап Що дивимося Де зазвичай проблема
Каталог → Картка CTR по товарах Погані фото, немає ціни в списку
Картка → Кошик Add-to-cart rate Немає кнопки «Купити» на першому екрані
Кошик → Чекаут Checkout initiation Неочікувана вартість доставки
Чекаут → Замовлення Completion rate Обов'язкова реєстрація, падіння sale.order.ajax

Провал на чекауті — найнайдорожчий. Користувач уже хотів купити, вже поклав у кошик, і тут sale.order.ajax кидає 500-ку через неналаштований обробник доставки. Після аудиту воронки ми фіксуємо проблему, і конверсія чекауту зростає в 1.5-2 рази за місяць.

Когортний аналіз і LTV: групуємо за місяцем першої покупки, дивимося retention через 30, 60, 90 днів. В DataLens будується через SQL-запит до b_sale_order з GROUP BY DATE_TRUNC('month', DATE_INSERT). Головний інсайт — який канал приваблює клієнтів з високим LTV. Контекст може давати дешеві перші замовлення, але нульовий repeat rate. А SEO-трафік конвертується гірше, зате повертається. Без цього аналізу ви ризикуєте переплачувати за канали, які дають одноразових покупців.

Терміни та вартість налаштування аналітики

Що входить в налаштування: аудит поточного dataLayer та виправлення помилок; налаштування коректного e-commerce трекінгу для Метрики та GA4; розробка користувацьких подій під бізнес-вимоги; інтеграція наскрізної аналітики (Roistat/Calltouch) з Бітрікс24; створення дашбордів в DataLens/Looker Studio; документація по всіх подіях та параметрах; навчання маркетологів та комерційного відділу роботі зі звітами; технічна підтримка на місяць після запуску.

Завдання Термін
Метрика + eCommerce (з коректним dataLayer) 3-5 днів
GA4 + Enhanced E-commerce 3-5 днів
Наскрізна аналітика (Roistat/Calltouch + CRM) 2-4 тижні
Дашборди в DataLens/Looker Studio 1-2 тижні
Комплексна система 4-8 тижнів

Вартість розраховується індивідуально залежно від обсягу робіт та складності інтеграцій. Отримайте консультацію — ми проаналізуємо ваш поточний dataLayer та запропонуємо оптимальне рішення. Замовте аудит або налаштування аналітики, щоб перестати втрачати гроші на некоректних даних. Звертайтеся — перевіримо, чи не втрачаєте ви гроші на аналітиці, за один день.