ax.SEO
🐱 🦊 🐼 🦝 🐰 🦉
Кто сегодня с нами? 🐾

Животные меняются при загрузке страницы

Главная / Блог / Как агентство строит сквозную аналитику SaaS‑продукта, интегрируя GA4, Mixpanel и CRM

Как агентство строит сквозную аналитику SaaS‑продукта, интегрируя GA4, Mixpanel и CRM

Как агентство объединяет GA4, Mixpanel и CRM для сквозной аналитики SaaS: шаги интеграции, проверка событий и устранение ошибок.
🐱
Читать проще с подсказками

Карточки, чек-листы, таблицы и примеры помогают быстро найти нужный ответ.

✅ чек-листы 📈 SEO-практика ⚡ быстро

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

Соберите список ключевых событий, настройте их в GA4 и Mixpanel, свяжите идентификаторы пользователей с CRM, проверьте корректность передачи и регулярно мониторьте показатели. Главное — согласовать схему событий и обеспечить единый пользовательский ID.

Что собрать перед началом

Подготовка к интеграции похожа на составление карты маршрута. Нужно знать, куда идёт каждый шаг, какие данные будут передаваться и кто имеет доступ к ним.

  • Составить список ключевых событий и атрибутов, которые будут отправляться в GA4, Mixpanel и CRM.
  • Определить, откуда берутся данные: GA4 (Measurement Protocol), Mixpanel (API), CRM (REST/CSV).
  • Проверить, что у всех участников есть нужные права: GA4 – Editor/Analyst, Mixpanel – Admin/Developer, CRM – API‑токен с правом чтения.
  • Согласовать схему именования атрибутов, чтобы одинаковые поля в разных системах совпадали.
СобытиеGA4MixpanelCRMАтрибуты
view_productevent_name: view_productevent: view_productlead: product_viewproduct_id, price, category, referrer
add_to_cartevent_name: add_to_cartevent: add_to_cartlead: cart_addproduct_id, quantity, price, session_id
submit_formevent_name: submit_formevent: submit_formlead: form_submissionform_id, user_email, campaign
purchaseevent_name: purchaseevent: purchaselead: orderorder_id, total, currency, items

Определяем ключевые метрики

Выбирая метрики для SaaS‑продукта, смотрите не только на цифры, но и на то, как они отражают бизнес‑цель. Основные показатели: CTR и позиции в поиске показывают видимость продукта; показы и клики показывают, сколько людей видит и реагирует на рекламу; конверсии (заполнение формы, регистрация, пробный период) измеряют, сколько из них становится клиентом. Если пользователь открывает страницу тарифов, но не заполняет форму, значит UX или CTA не работают, а не просто низкая CTR.

Связь метрик с бизнес‑целью: повышение LTV, увеличение удержания и среднего чека; рост продаж, рост конверсий от пробного периода и снижение стоимости привлечения. Если коэффициент конверсии от кликов на лендинг падает ниже 2 % в течение трёх дней, это сигнал, что контент изменился или появились технические сбои.

Оповещения ставятся по историческим данным: CTR ниже 1 % в течение недели — проверяем креативы; позиция 1‑3 в поиске падает более чем на 2 места — анализируем конкурентов и SEO‑техники; показатель отказов > 70 % — проверяем скорость загрузки и UX. При срабатывании аларма команда быстро реагирует, проверяя метрики в GA4, Mixpanel и CRM, сравнивая сегменты пользователей и устраняя проблему.

Настройка GA4 и схема событий

В GA4 события — полноценные объекты. Создавая Custom Event, вы задаёте смысл, который потом можно фильтровать и агрегировать. Например, если пользователь нажал «Подписаться», отправляете событие с параметром plan='Pro', чтобы видеть, какие тарифы привлекают заявки.

gtag('event', 'subscribe', {
 plan: 'Pro',
 user_id: USER_ID
});
  • Имя события начинается с латиницы и не содержит пробелов.
  • Параметры передаются как ключ‑значение и объявлены в настройках GA4.
  • user_id совпадает с идентификатором в CRM и передаётся при каждом событии.
  • Событие появляется в реальном времени в разделе «События».
  • Имя события содержит пробелы – событие не фиксируется.
  • Параметр не объявлен в GA4 – данные не попадают в отчёты.
  • user_id не синхронизирован с CRM – невозможно сопоставить пользователя.
  • Событие отправляется до авторизации – пользователь не привязывается к ID.
  1. В интерфейсе GA4 откройте конфигурацию и создайте новое событие.
  2. Добавьте в код страницы gtag‑команду с нужными параметрами.
  3. В CRM настройте поле user_id и отправляйте его при регистрации.
  4. Проверьте в реальном времени, что событие фиксируется и параметры видны.

Интеграция Mixpanel и синхронизация

  1. Подключите Mixpanel SDK в точке инициализации вашего SPA. Убедитесь, что токен проекта вставлен в переменную среды, а не в код.
  2. Определите схему событий: для каждой пользовательской интеракции создайте уникальное имя (например, «signup_start», «signup_complete»).
  3. Отправляйте события через API, передавая минимум два поля: имя события и объект с свойствами. В примере ниже показано, как послать событие при успешной регистрации.
  4. Проверяйте дублирование: в Mixpanel в разделе «События» включите фильтр по IP и cookie‑id, чтобы увидеть, сколько раз одно и то же событие пришло от одного пользователя за сутки. Если число превышает 1, скорее всего, событие генерируется в цикле.
import mixpanel from 'mixpanel-browser';

const MIXPANEL_TOKEN = process.env.MIXPANEL_TOKEN;

mixpanel.init(MIXPANEL_TOKEN, {debug: false});

export function trackSignupComplete(userId, plan) {
 mixpanel.track('signup_complete', {
 distinct_id: userId,
 plan: plan,
 timestamp: new Date().toISOString()
 });
}
  • Событие отправляется только после подтверждения email, а не при каждом рендере формы.
  • Проверяйте, что ID пользователя (distinct_id) уникален и не пересекается с ID сессии.
  • В тестовой среде отправляйте событие вручную и сравните его появление в реальном времени в Mixpanel Dashboard.
  • Если событие появляется дважды за минуту, проверьте, не вызывается ли функция trackSignupComplete в двух местах кода.

Связываем данные с CRM

  1. Соберите User‑ID в GA4 и Mixpanel.
  2. Отправьте ID в CRM через веб‑хук.
  3. Обновите профиль пользователя.
  4. Проверьте целостность данных.
const updateUserInCRM = async (userId, email) => {
 const payload = { user_id: userId, email };
 try {
 const res = await fetch('https://crm.example.com/api/update_user', {
 method: 'POST',
 headers: { 'Content-Type': 'application/json' },
 body: JSON.stringify(payload)
 });
 if (!res.ok) throw new Error('CRM update failed');
 console.log('CRM updated for', userId);
 } catch (e) {
 console.error(e);
 }
};

gtag('event', 'lead', {
 user_id: '12345',
 email: 'user@example.com'
});
updateUserInCRM('12345', 'user@example.com');
  • Проверить, что user_id присутствует в каждом событии GA4/Mixpanel.
  • Убедиться, что запросы POST к CRM завершаются статусом 200.
  • Сравнить количество уникальных user_id в CRM и в аналитике. Разница >5% — сигнал к проверке.
  • Проверить, что обновленный профиль в CRM содержит актуальный email и дату последнего взаимодействия.

Проверка и валидация данных

Контроль корректности похож на проверку, что продавец в кассе правильно ввёл цену: если цифра не совпадает, клиент уйдёт. В SaaS‑продукте событие «lead_submitted» должно появиться в GA4, Mixpanel и CRM одновременно. Если в одном из источников пропадает, бизнес‑аналитика видит «пустую» заявку, а менеджер – «не пришёл» клиент. Поэтому тест‑сценарии и алгоритм отклонения ошибок обязательны для любого сквозного трекинга.

  • Событие действительно всплывает: пользователь нажимает кнопку, в консоли виден «lead_submitted».
  • Параметры совпадают: email, plan, source.
  • Источник сохраняется: utm_source = «google».
  • Временная метка ближе к действию, а не к последующей сессии.
  • Дубли не появляются в течение 1 с.
  • Отсутствие события в GA4 более 5 минут после клика / флаг «missing».
  • Неверный email (не‑валидный формат) / флаг «bad‑param».
  • Дублирование события в течение 1 с / флаг «duplicate».
  • Разница во времени более 2 минут между GA4 и CRM / флаг «time‑gap».
ПараметрGA4MixpanelCRM
Имя событияlead_submittedLeadSubmittedLead
Параметрыemail, plan, sourceemail, plan, sourceemail, plan, source, status
Времяtimestamp (UTC)time (ISO)created_at (UTC)
Пользовательuser_iddistinct_idlead_id
Источникutm_sourceutm_sourceutm_source

Мониторинг и корректировка

Мониторинг — постоянный контроль, чтобы не упустить момент, когда данные перестают говорить правду. В GA4 и Mixpanel создаём дашборды, показывающие, как пользователи движутся от поисковых позиций к заявке, и проверяем, что события везде совпадают. Затем запускаем автоматические оповещения, чтобы сразу знать о сбоях в цепочке.

  • В GA4: «Клики по поисковым позициям» / «Конверсия в заявку».
  • В Mixpanel: «Просмотр лендинга» / «Отправка формы» / «Событие в CRM».
  • Периодически сверяем списки событий: названия, параметры, типы.
  • Настраиваем пороги: если CTR падает ниже 0,5 % или заявки падают более чем на 20 % за неделю, авто‑уведомление.
  • Проверяем, что события с UTM‑метками попадают в один и тот же funnel в GA4 и Mixpanel.
  • Событие «submit_form» не отправляется в Mixpanel – потеря данных о заявке.
  • Параметр «utm_source» обрезается в GA4 из‑за неправильной конфигурации фильтров.
  • Авто‑уведомления отключены из‑за превышения лимита писем – сбой не замечен.
  • Периодический аудит пропускает новые события, добавленные в код без обновления схемы.

Риски и как их избежать

При объединении GA4, Mixpanel и CRM часто встречаются дублирование User‑ID, сбои в передаче событий и неправильные атрибуты. Если клиент получает два разных идентификатора, его путь распадается: в GA4 он считается новым посетителем, а в CRM – уже существующим. Сбой в передаче приводит к пропущенным конверсиям, а неверные атрибуты мешают фильтровать и сегментировать данные.

  • Согласовать один User‑ID везде: cookie, localStorage и CRM‑поля.
  • Проверять, что событие отправляется в обе платформы сразу, а не в очереди.
  • Валидация атрибутов: тип, обязательность, допустимые значения.
  • Регулярный аудит логов: сравнивать количество событий в GA4 и Mixpanel.
  • Настроить fallback‑переадресацию: если событие не дошло, повторить через 30 сек.
  • Дублирование User‑ID / двойные отчёты, потеря связи с клиентом.
  • Сбой передачи / пропущенные заявки, искажённые показатели конверсии.
  • Неправильные атрибуты / фильтры дают ложные сегменты, отчёты не отражают реальность.
  1. При загрузке страницы генерируем один User‑ID и сохраняем в cookie.
  2. Отправляем событие «page_view» в GA4 и Mixpanel с тем же ID.
  3. Проверяем, что в логах обе платформы получили событие с одинаковым ID.
function sendEvent(eventName, data) {
 const userId = getCookie('user_id') || generateId();
 setCookie('user_id', userId, 365);
 const payload = { ...data, user_id: userId };
 gtag('event', eventName, payload);
 mixpanel.track(eventName, payload);
}
РискЧто видим
Дублирование User‑IDДвойные строки в отчётах, разная сумма конверсий
Сбой передачи событийОтсутствие события в GA4, но присутствие в Mixpanel
Неправильные атрибутыФильтры не работают, сегменты пустые

Вопросы и ответы

Как связать GA4 с CRM?

Экспортируйте события из GA4 в BigQuery и через API отправьте нужные поля в CRM. Согласуйте схемы полей и убедитесь, что идентификатор пользователя совпадает в обеих системах.

Какие ошибки чаще всего делают при интеграции Mixpanel?

Чаще всего забывают привязать уникальный ID пользователя, отправлять события без контекста или не синхронизировать сегменты с CRM, что приводит к разрыву цепочки атрибуции.

Как убедиться, что данные из Mixpanel корректно попадают в CRM?

Проверьте, что в CRM появляется тот же уникальный ID, что в Mixpanel, и что поля с датой события совпадают. Сравните небольшую выборку лидов в обеих системах.

Какие метрики в CRM лучше всего сопоставлять с GA4?

Смотрите количество новых подписок, средний чек, churn rate и время до первой покупки. Эти показатели легко сопоставить с событиями GA4, если они переданы через API.

Как избежать дублирования событий при интеграции GA4 и Mixpanel?

Используйте один источник правды, например GA4, и в Mixpanel только трансформируйте данные. Настройте фильтр, чтобы не отправлять одно и то же событие дважды.

Что делать, если в CRM не виден пользователь, который пришёл из GA4?

Убедитесь, что идентификатор пользователя совпадает и что событие было отправлено до создания аккаунта. Если нет, проведите ретроспективный mapping, чтобы связать его с существующим контактом.

Как быстро проверить, что интеграция GA4 + CRM работает?

Создайте тестовый пользователь, выполните событие в GA4, посмотрите, что оно отразилось в CRM через API. Если в CRM появился новый контакт с нужными полями, интеграция готова.

Важно

Материал носит информационный характер. Перед внедрением рекомендаций учитывайте нишу, регион, конкурентов, текущее состояние сайта и бизнес-цели проекта.

Редакционная проверка

Материал подготовлен и проверен редакцией AX.SEO

Проверено
AX
Автор Редакция AX.SEO
Digital-редактор 7 лет опыта

Редакция AX.SEO готовит материалы о SEO, разработке, AI, аналитике, маркетинге и росте digital-проектов.

Проверил Александр SEO
SEO-специалист 10 лет опыта

Проверяет практическую применимость рекомендаций, корректность терминов и соответствие материала digital-тематике.

AX.SEO объясняет digital простым языком: без магии, пустых обещаний и “секретных кнопок роста”.