Неправильная настройка идентификации пользователей разрушает воронку конверсии. Данные о retention и конверсиях становятся недостоверными. В 80% проектов мы видим одну ошибку: разработчики интегрируют SDK, но забывают корректно связать анонимный и авторизованный трекинг. События до регистрации привязываются к временному ID и теряются после авторизации. Это стоит бизнесу до 30% точности отчётов. Мы интегрируем Mixpanel так, чтобы каждое событие навсегда привязывалось к реальному пользователю — независимо от платформы и сценария входа. Корректная настройка identity и Super Properties повышает точность отчётов на 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 дней. Стоимость рассчитывается индивидуально. Закажите интеграцию аналитики, которая даст реальные инсайты — свяжитесь с нами для обсуждения вашего сценария.







