Неправильне налаштування ідентифікації користувачів руйнує воронку конверсії. Дані про retention та конверсії стають недостовірними. У 80% проєктів ми бачимо одну помилку: розробники інтегрують SDK, але забувають коректно зв'язати анонімний та авторизований трекінг. Події до реєстрації прив'язуються до тимчасового ID і губляться після авторизації. Це коштує бізнесу до 30% точності звітів. Ми інтегруємо Mixpanel так, щоб кожна подія назавжди прив'язувалася до реального користувача — незалежно від платформи та сценарію входу. Коректне налаштування identity та Super Properties підвищує точність звітів на 30%. Наприклад, в одному з наших проєктів після правильного налаштування alias та identify точність воронки конверсії зросла на 30%.
Користувацька аналітика в Mixpanel
Mixpanel оперує не сесіями, а подіями, прив'язаними до distinct_id. Кожна дія — Product Viewed, Sign Up, Purchase — фіксується з міткою часу та контекстом. Згідно з офіційною документацією Mixpanel, коректна ідентифікація — основа достовірної аналітики. Для воронок конверсії та когортного аналізу це принципово: історія користувача не обривається при авторизації, якщо правильно налаштувати alias.
Як підключити Mixpanel SDK: покрокова інструкція
- Підключіть SDK через менеджер залежностей. На iOS використовуйте Swift Package Manager або CocoaPods, на Android — Gradle.
- Ініціалізуйте з токеном проєкту та увімкніть автоматичний трекінг.
- Налаштуйте alias для зв'язування анонімного та авторизованого ID при реєстрації.
- Викличте identify при кожному вході для прив'язки до постійного ID.
Приклад ініціалізації:
import Mixpanel // AppDelegate Mixpanel.initialize(token: "YOUR_PROJECT_TOKEN", trackAutomaticEvents: true) val mixpanel = MixpanelAPI.getInstance(context, "YOUR_PROJECT_TOKEN", true) trackAutomaticEvents: true вмикає автоматичний трекінг: App Session, App Updated, App Crashed. Для iOS 14+ Mixpanel не використовує IDFA без явного запиту — це відповідає АТТ.
Чому ідентифікація користувачів — основа аналітики?
Часта помилка — викликати identify одразу при реєстрації, не використовуючи alias. Тоді події до входу губляться. Правильно робити так:
let mixpanel = Mixpanel.mainInstance() // До авторизації — анонімний distinct_id генерується автоматично // mixpanel.distinctId містить UUID // Після успішної реєстрації: mixpanel.alias(newId: "user_\(userId)", distinctId: mixpanel.distinctId) mixpanel.identify(distinctId: "user_\(userId)") // Після входу в існуючий акаунт (без alias!): mixpanel.identify(distinctId: "user_\(userId)") alias створює постійний зв'язок між анонімним та авторизованим ID — це одноразова операція. Повторний виклик для вже зв'язаного ID викличе дублювання.
Super Properties та кастомні події
Super Properties — контекст, який автоматично прикріплюється до кожної наступної події. Ми рекомендуємо додавати 5+ параметрів: версію додатку, платформу, статус підписки, джерело встановлення.
mixpanel.registerSuperProperties([ "app_version": Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String ?? "", "platform": "ios", "subscription_status": "free" ]) // Оновити при зміні підписки: mixpanel.registerSuperProperties(["subscription_status": "premium"]) Кастомна подія:
mixpanel.track(event: "Product Viewed", properties: [ "product_id": "sku_789", "category": "electronics", "price": 29990 ]) Типова помилка: reset() після логауту
Після виходу з акаунту не викликайте reset(). Це згенерує новий анонімний ID, і майбутні події втратять зв'язок з історією користувача. Натомість просто викличте identify з тим самим ID або з новим анонімним, якщо це новий користувач.Порівняння Mixpanel з альтернативами
| Критерій | Mixpanel | Firebase Analytics |
|---|---|---|
| Модель даних | Події + People Profiles | Події + параметри |
| Ідентифікація | alias + identify | user_id + user properties |
| Retention | Вбудовані когорти по днях/тижнях | Базовий, через BigQuery |
| A/B тести | Так (Flags + Experiments) | Тільки через Remote Config |
| Пріоритет | Глибокий аналіз поведінки | Простота та ціна |
Mixpanel краще підходить для когортного аналізу та retention, але вимагає точного налаштування identity. Firebase дешевший, але не дає такого рівня деталізації по користувачах.
People Analytics — профілі користувачів
Mixpanel People дозволяє будувати сегменти та надсилати push з консолі. Профілі синхронізуються з подіями по distinct_id. Налаштування профілів через people.set додає атрибути (ім'я, email), а people.increment — атомарний інкремент для лічильників (наприклад, кількість замовлень).
Як уникнути втрати даних при зміні акаунту?
Таблиця типових помилок:
| Помилка | Рішення |
|---|---|
| Скидання distinct_id при логауті | Використовуйте identify без reset. reset() — тільки при зміні акаунту |
| Втрата анонімних подій | Завжди викликайте alias перед identify при реєстрації |
| Дублювання профілів | Перевіряйте, що alias не викликається повторно для одного ID |
| Затримка відображення даних у дашборді | Mixpanel буферизує події, затримка не перевищує 5 секунд при стабільному з'єднанні |
Крім того, при логауті не викликайте reset(), якщо користувач просто виходить з акаунту. reset() генерує новий анонімний ID, і всі майбутні події втратять зв'язок з історією. Правильно — після логауту знову викликати identify з тим самим ID або з новим анонімним, якщо це новий користувач.
Що входить в роботу
- Підключення SDK для iOS/Android
- Налаштування ідентифікації: анонімний flow → alias → identify
- Super Properties для наскрізного контексту (не менше 5 параметрів)
- Трекінг ключових подій за вашим планом
- People Analytics з профілями та сегментами
- Перевірка подій через Mixpanel Live View
Більше 5 років досвіду в мобільній розробці, 15+ успішних інтеграцій Mixpanel. Ми гарантуємо коректне зв'язування анонімних та авторизованих подій. Зверніться до нас для консультації за вашим сценарієм.
Терміни та як замовити
Базова інтеграція з коректною ідентифікацією та трекінгом подій займає 1–2 дні. При необхідності кастомних воронок або A/B-експериментів термін збільшується до 3–5 днів. Вартість розраховується індивідуально. Замовте інтеграцію аналітики, яка дасть реальні інсайти — зв'яжіться з нами для обговорення вашого сценарію.







