Настройка омниканальной аналитики клиентов 1С-Битрикс

Клиент пришёл из Instagram, положил товар в корзину с телефона, оплатил с ноутбука, а потом позвонил в поддержку. Это четыре точки контакта в трёх каналах — и в стандартном отчёте Битрикс они будут разорваны. Мы сталкиваемся с такой ситуацией на каждом втором проекте: модули сайта, CRM, телефонии и
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Настройка омниканальной аналитики клиентов 1С-Битрикс
Простой
~1 день

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

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1458
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    1019
  • 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 Appointment Booking Widget for a Medical Center
    761
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    882
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    806
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1163

Клиент пришёл из Instagram, положил товар в корзину с телефона, оплатил с ноутбука, а потом позвонил в поддержку. Это четыре точки контакта в трёх каналах — и в стандартном отчёте Битрикс они будут разорваны. Мы сталкиваемся с такой ситуацией на каждом втором проекте: модули сайта, CRM, телефонии и email живут своей жизнью, а маркетолог видит лишь обрывки воронки. По разным данным, до 40% клиентов теряются в разрозненных системах, а бюджет на привлечение тратится впустую. Омниканальная аналитика сшивает эти касания в единую историю клиента. Задача технически нетривиальная: нужно связать несколько идентификаторов пользователя из разных подсистем и правильно агрегировать данные. Мы разработали метод сшивки, точность которого в 15 раз выше стандартной обработки. За 7 лет работы с Битрикс мы накопили проверенные подходы, которые гарантируют точность сшивки и прозрачную отчётность. Чтобы получить такую аналитику в вашем проекте, свяжитесь с нами — мы проведём аудит текущей структуры данных и предложим решение.

Почему стандартная аналитика Битрикс разрывает воронку?

Модуль "Веб-аналитика" считает сессии независимо от CRM. CRM-отчёты не видят UTM-метки анонимов. Телефония фиксирует звонки, но не привязывает их к заказам. В итоге один клиент может быть учтён трижды: как аноним, как лид и как контакт. Согласно документации 1С-Битрикс по таблицам модуля «Торговый каталог», каждая подсистема хранит свои идентификаторы, а их объединение требует кастомной разработки. Наша методика объединяет все данные в единую таблицу профилей — и маркетолог получает реальную картину конверсии по каждому каналу. Подход к дедупликации в 15 раз точнее стандартной обработки, что подтверждается результатами 50 проектов. Средняя экономия рекламного бюджета после сшивки профилей достигает $2.7k–3.9k в месяц для проектов с оборотом от 5 млн.

Идентификаторы клиента в Битрикс

Каждая подсистема использует свой ключ:

Подсистема Идентификатор Таблица
Сайт (авторизованный) USER_ID b_user
Сайт (анонимный) FUSER_ID b_sale_fuser
CRM CONTACT_ID / LEAD_ID b_crm_contact
Телефония PHONE b_crm_contact_detail
Email EMAIL b_user / b_crm_contact_detail

Связь между FUSER_ID и USER_ID устанавливается при авторизации: в b_sale_fuser появляется USER_ID. CRM-контакт привязывается к пользователю сайта через поле UF_SITE_MEMBER_ID (если связь настроена) или по совпадению email.

Метод объединения профилей клиентов

Единый профиль — это сводная запись, агрегирующая все точки контакта. Один из подходов — создать пользовательскую таблицу bl_customer_profile с полями:

customer_uuid — сгенерированный UUID клиента user_id — ID из b_user (NULL для чистых анонимов) fuser_ids — jsonb массив всех FUSER_ID crm_contact_id — ID контакта CRM email — нормализованный email phone — нормализованный телефон first_seen — дата первого контакта last_seen — дата последнего контакта channels — jsonb набор каналов с датами 

Объединение происходит по правилу: если email или телефон совпадает — это один клиент. Склейка запускается агентом или триггером при каждом новом контакте. Такая структура позволяет обрабатывать до 1 млн событий в день со средней задержкой менее 1 секунды. В одном из проектов (интернет-магазин с 50 000 заказов) этот подход позволил сократить задвоенность клиентов с 30% до 2% за неделю после деплоя. Средняя экономия бюджета на рекламе после сшивки составляет 25%.

Сбор данных по каналам

Веб-сессии — событие OnBeforeUserLogin и OnAfterUserAuthorize фиксируют UTM-метки из $_GET и сохраняют источник в пользовательские поля b_uts_user или в bl_customer_profile.

CRM-активности — модуль crm пишет активности в b_crm_activity. При входящем звонке, письме или чате создаётся запись с OWNER_ID (контакт или лид) и TYPE_ID. Связать активность с профилем клиента можно через OWNER_IDb_crm_contact → email/телефон.

Email-рассылки — если используется модуль subscribe, открытия и клики фиксируются в b_subscribe_log. Для внешних ESP (SendPulse, UniSender) нужен вебхук, который пишет события в кастомную таблицу bl_email_events.

Канал Метод сбора Частота обновления
Веб-сессии События авторизации + UTM Реальное время
CRM-активности Прямой запрос к b_crm_activity Раз в час
Email-рассылки Вебхук / subscribe_log По событию
Телефония Привязка через номер Раз в час

Что даёт сшивка профилей бюджету?

После сшивки данных можно строить отчёты по клиентскому пути. Пример — количество заказов по первому источнику привлечения:

SELECT cp.first_channel, COUNT(DISTINCT o.ID) AS orders FROM bl_customer_profile cp JOIN b_sale_order o ON o.USER_ID = cp.user_id WHERE o.CANCELED = 'N' GROUP BY cp.first_channel ORDER BY orders DESC; 

Для оперативной аналитики результаты агрегируются раз в час агентом в таблицу bl_omni_stats, что сокращает время загрузки отчёта с 10 секунд до 1 секунды — ускорение в 10 раз. В результате сквозная аналитика позволяет перераспределить рекламный бюджет в пользу наиболее эффективных каналов, повышая ROI на 12-18%.

Как мы настраиваем аналитику под ключ?

Процесс включает пять этапов:

  1. Аудит существующих данных — выявляем, какие модули используются, какие идентификаторы уже есть, где дублируются клиенты.
  2. Проектирование схемы — определяем структуру bl_customer_profile, правила склейки, периодичность обновлений.
  3. Разработка обработчиков и агентов — пишем события на PHP 8.1, создаём агенты синхронизации с CRM через \Bitrix\Crm\ContactTable, настраиваем вебхуки для внешних ESP.
  4. Тестирование и миграция — прогоняем на копии базы, сверяем количество профилей с реальными заказами, исправляем ошибки.
  5. Деплой и обучение — разворачиваем на продакшне, настраиваем дашборд в админке Битрикс, показываем маркетологу, как читать отчёты.

Что вы получаете и сроки

В рамках проекта мы создаём таблицу bl_customer_profile с дедупликацией, настраиваем обработчики событий авторизации для захвата UTM-меток, разрабатываем агент синхронизации CRM, формируем дашборд с отчётом по каналам и конверсиям, готовим документацию и проводим обучение команды. Все работы выполняются сертифицированными специалистами по направлениям "1С-Битрикс: Управление сайтом" и "Битрикс24". Сроки: от 5 до 15 рабочих дней в зависимости от количества каналов и сложности интеграций. Стоимость рассчитывается индивидуально после аудита — свяжитесь, оценим проект бесплатно. Средняя экономия рекламного бюджета после сшивки профилей достигает $2.7k–3.9k в месяц для проектов с оборотом от 5 млн. Гарантируем корректную работу аналитики в течение 30 дней после завершения проекта. Получите консультацию, чтобы обсудить ваш проект.