Firebase Analytics, AppMetrica или Amplitude: аналитика приложения
Практика3 минРедакция Innovialabs
Коротко
Firebase Analytics — бесплатная база, особенно если вы уже в экосистеме Google; AppMetrica — удобный бесплатный вариант для СНГ со встроенной атрибуцией; Amplitude — сильнейший инструмент продуктового анализа, но платный при росте. Сначала составьте план событий, потом выбирайте инструмент.
Короткий ответ
- Firebase Analytics (Google Analytics for Firebase) — бесплатный, ставится за час, связан с Crashlytics, Remote Config, A/B Testing и рекламой Google. Хороший выбор по умолчанию.
- AppMetrica от Яндекса — бесплатный, с русским интерфейсом, встроенной атрибуцией установок, push-кампаниями и крэш-отчётами. Популярен в СНГ.
- Amplitude — специализированная продуктовая аналитика: гибкие воронки, поведенческие когорты, пути пользователей. Есть бесплатный тариф с ограничениями, дальше — платные планы по объёму данных.
Многие команды используют два инструмента сразу: например, Firebase для технической базы и AppMetrica или Amplitude для маркетинга и продукта.
Сравнение по главным критериям
| Критерий | Firebase Analytics | AppMetrica | Amplitude |
|---|---|---|---|
| Трекинг событий | Автособытия + свои события | Автособытия + свои события | Свои события, гибкие свойства |
| Воронки | Есть, через отчёты GA4 | Есть | Сильная сторона, гибкие условия |
| Когорты и удержание | Базовые | Есть | Поведенческие когорты, глубокий анализ |
| Стоимость | Бесплатно | Бесплатно (базовые функции) | Бесплатный тариф с лимитами, затем платно |
| Выгрузка сырых данных | Экспорт в BigQuery | Logs API и выгрузки | Экспорт в хранилища и Export API |
| Атрибуция установок | Через интеграции и Google Ads | Встроенная | Через партнёров |
Актуальные лимиты и тарифы меняются — проверяйте их на сайтах сервисов перед выбором.
Что учитывать при выборе
- Кто будет смотреть данные. Маркетологу важны источники установок и кампании, продакт-менеджеру — воронки и удержание, разработчику — краши и стабильность.
- Доступ к сырым данным. Если планируете свою BI-аналитику, проверьте, как выгружаются события: BigQuery у Firebase, Logs API у AppMetrica, интеграции с хранилищами у Amplitude.
- Регион и требования к данным. Уточните, где хранятся данные и подходит ли это под требования вашего бизнеса и законодательства страны, где работают пользователи. Для СНГ важен и язык интерфейса и поддержки.
- Экосистема. Если уже используете Firebase для push и Crashlytics, его аналитика встраивается без лишних SDK.
- Рост. Бесплатных лимитов Amplitude хватает для старта; заранее оцените, сколько событий будет генерировать ваша аудитория.
Сначала план событий, потом SDK
Самая частая проблема — не выбор инструмента, а хаотичные события: click1, ButtonTap, buy_btn. Через полгода никто не понимает, что они значат. Составьте tracking plan до интеграции.
1. Определите ключевые вопросы. Например: где пользователи бросают оформление заказа? Сколько возвращается через неделю?
2. Опишите воронку как последовательность событий.
| Событие | Когда отправляется | Параметры |
|---|---|---|
app_opened | Запуск приложения | source |
signup_completed | Успешная регистрация | method |
product_viewed | Открыта карточка товара | product_id, category |
cart_item_added | Товар добавлен в корзину | product_id, price |
checkout_completed | Заказ оплачен | order_value, currency |
3. Договоритесь о правилах именования. Например, объект_действие в snake_case, глагол в прошедшем времени, одинаковые названия на iOS и Android.
4. Разделите события и свойства пользователя. Тариф, язык, город — это user properties, а не отдельные события.
5. Назначьте владельца плана. Новые события добавляются только через документ, иначе он быстро устареет.
Частые ошибки
- Отправлять в аналитику персональные данные — телефоны, email, имена. Большинство сервисов это прямо запрещают.
- Логировать каждое нажатие: данных много, ответов нет.
- Разные названия событий на iOS и Android.
- Не проверять события перед релизом. У каждого инструмента есть режим отладки — используйте его.
- Подключать аналитику через несколько SDK напрямую по всему коду. Лучше сделать одну обёртку, которая отправляет событие во все подключённые сервисы.