Ви запустили інтернет-магазин на Laravel + React — 10 000 відвідувачів на день, але конверсія 1%. Google Analytics показує лише сторінки та сесії, а вам потрібні відповіді: який елемент форми відвалює, коли користувач кидає кошик. Mixpanel — інструмент подієвої аналітики, який перетворює кожну дію користувача на структуровану подію з контекстом. Ми — команда з 5-річним досвідом у веб-аналітиці, впровадили Mixpanel на 30+ проєктах. Беремося за інтеграцію під ключ: від SDK до дашбордів з когортами та воронками. Замовте консультацію — оцінимо проєкт за 24 години.
Mixpanel (en.wikipedia.org/wiki/Mixpanel) — платформа, орієнтована на події, а не на сторінки.
Чому Mixpanel кращий за Google Analytics для подієвої аналітики?
Google Analytics зав'язаний на сесії та перегляди сторінок. Mixpanel — на події: «натиснув кнопку», «заповнив форму», «почав оформлення». Воронки будуються миттєво, retention показує, скільки користувачів повернулося. Для SaaS та e-commerce це дає глибину, недоступну GA. Крім того, Mixpanel сегментує користувачів за властивостями без SQL.
| Характеристика | Google Analytics | Mixpanel |
|---|---|---|
| Модель даних | Сесії та перегляди сторінок | Події та властивості |
| Воронки | Обмежені, на основі цілей | Довільні, на будь-яких подіях |
| Retention | Сегменти, але негнучко | Когорти, авто-оновлювані |
| Ідентифікація | User-ID (складне налаштування) | Identify/Alias (1 метод) |
| Вартість | Безкоштовно (з обмеженнями) | Від $25/міс, але точніше |
Як ми налаштовуємо Mixpanel: встановлення SDK
Використовуємо два підходи: NPM-пакет для SPA або CDN-скрипт для класичних сайтів. В обох випадках ініціалізація з токеном із змінних оточення.
// NPM: встановлення та ініціалізація import mixpanel from 'mixpanel-browser'; mixpanel.init(import.meta.env.VITE_MIXPANEL_TOKEN, { debug: import.meta.env.DEV, track_pageview: false, persistence: 'localStorage', ignore_dnt: false, batch_requests: true, batch_flush_interval_ms: 5000, }); Для класичних сайтів підключаємо CDN-скрипт з mixpanel.init('YOUR_TOKEN'). Режим batch_requests збільшує продуктивність — події надсилаються пачками раз на 5 секунд. У проєктах з високим навантаженням (понад 1000 подій/с) збільшуємо інтервал до 15 секунд, економлячи до 40% запитів.
Деталі налаштування batch-відправки
Щоб зменшити навантаження на браузер, ми вмикаємо batch_requests: true. Це надсилає події пачками кожні 5 секунд. Для високонавантажених проєктів збільшуємо інтервал до 10–15 секунд. Економить до 40% запитів.Що входить в нашу роботу
- SDK та трекінг: встановлення, налаштування базових подій (Page Viewed, Button Clicked, Form Submitted)
- Ідентифікація: зв'язування анонімних сеансів з реальними користувачами (identify, alias)
- Суперпроперті: автоматична передача контексту (версія застосунку, A/B-варіант, UTM-мітки)
- Server-side: трекінг подій з бекенду (оплати, поштові сповіщення) через HTTP API
- Дашборди та воронки: побудова звітів, налаштування сповіщень
- Документація: опис усіх подій, властивостей та схеми даних
- Навчання: передаємо знання вашій команді, консультуємо з аналітики
- Підтримка: 2 тижні після впровадження — допомагаємо з доопрацюваннями та питаннями
Трекінг подій: від простого до складного
Базовий трекінг — метод track. Для інтернет-магазину відстежуємо Product Viewed, Add to Cart, Purchase Completed. Кожна подія містить контекст: URL, реферер, користувацькі властивості.
// Приклади подій mixpanel.track('Page Viewed', { page_title: document.title, page_url: window.location.pathname, referrer: document.referrer || 'direct', }); mixpanel.track('Button Clicked', { button_text: 'Залишити заявку', button_location: 'hero_section', }); Як ідентифікувати користувача без реєстрації?
Якщо користувач заповнив форму, але не зареєструвався, використовуємо mixpanel.alias(email). Це зв'язує анонімний ID з email. Після реєстрації викликаємо identify(user.id) і встановлюємо властивості профілю через people.set. Суперпроперті (register) додаються один раз і передаються в усі наступні події.
Server-side трекінг: події з бекенду
Для операцій, недоступних на клієнті (підтвердження оплати, активація по email), використовуємо HTTP API Mixpanel. Надсилаємо POST-запит з base64-закодованим JSON. Наш досвід показує, що це підвищує точність даних на 15–20%.
// Приклад на Laravel $data = [ 'event' => 'Payment Completed', 'properties' => [ 'token' => $token, 'distinct_id' => $userId, 'time' => time(), '$insert_id' => uniqid('srv_', true), 'amount' => 14500, ], ]; Http::asForm()->post($endpoint, [ 'data' => base64_encode(json_encode([$data])), ]); Відлагодження та перевірка
Вмикаємо debug-режим: mixpanel.set_config({ debug: true }). У консолі бачимо логи кожного track-виклику. Розширення Mixpanel для Chrome DevTools показує події в реальному часі. Гарантуємо, що дані відправляються коректно — перевіряємо на тестовому проєкті до запуску. Вартість інтеграції залежить від складності, але в середньому економія на внутрішніх ресурсах становить до 40% порівняно з самостійною розробкою.
Строки та вартість
Базова інтеграція (SDK + базові події) — 4–6 годин. Повний цикл з ідентифікацією, server-side та дашбордами — 1–2 дні. Вартість розраховується індивідуально, залежить від складності вашого проєкту. Замовте аудит вашого стеку аналітики — ми підберемо оптимальну схему та дамо оцінку за 24 години.
| Етап | Час |
|---|---|
| Встановлення SDK | 2–4 години |
| Трекінг подій | 2–4 години |
| Ідентифікація | 4–6 годин |
| Server-side трекінг | 4–8 годин |
| Дашборди та воронки | 4–8 годин |







