Аналітика мобільних додатків: Firebase, Amplitude, AppsFlyer та атрибуція
Аналітика налаштована напоспіху — це таблиця з тисячами событій без єдиної відповіді на запитання «чому користувачі не доходять до оплати». Правильна аналітика починається з запитань, не з трекінгу всього.
Таксономія событій: перед написанням коду
Firebase Analytics, Amplitude, Mixpanel — технічно подібні. Різниця в тому, що ви в них кладете. Типова помилка: события screen_view, button_tap_1, button_tap_2 без контексту. Через місяць ніхто не пам'ятає що таке button_tap_2.
Правильна таксономія: об'єкт + дія + контекст. product_viewed, checkout_started, payment_completed з параметрами product_id, category, price, source. Це дозволяє будувати воронки, когортний аналіз та retention без додаткового трекінгу.
Naming convention фіксується в tracking plan — документі (Google Sheet або Amplitude Data Catalog), де описано кожне событіє, його параметри та умови спрацювання. Tracking plan синхронізується з командою аналітиків до початку розробки, а не після.
Firebase Analytics vs Amplitude vs Mixpanel
Firebase Analytics — безплатно, глибока інтеграція з Google Ads, BigQuery-експорт для сирих даних. Обмеження: затримка даних до 24 годин у стандартному інтерфейсі, обмежені воронки. Для стартапів з Google Ads трафіком — перший вибір.
Amplitude — продуктова аналітика з акцентом на когорти та шляхи користувача. Journeys (колишній Pathfinder) показує реальні шляхи між событіями — не передбачені воронки, а фактичні маршрути. Session Replay з iOS/Android SDK — запис сесій для UX-аналізу. Безплатний тир до 10 млн events/місяць достатній для більшості продуктів на старті.
Mixpanel — ближче до Amplitude, сильніший у сегментації в реальному часі. Insights, Funnels, Retention — базові інструменти, які закривають 90% аналітичних задач продакту.
AppsFlyer та атрибуція установок
Знати звідки прийшов користувач — окрема задача. Firebase Attribution працює тільки в межах Google-екосистеми. Для мультиканальної атрибуції (Facebook Ads, TikTok, Apple Search Ads, programmatic) потрібен MMP — Mobile Measurement Partner.
AppsFlyer — лідер ринку. OneLink — universal deep link, який працює на iOS та Android та коректно атрибутує установку з будь-якого каналу. Protect360 — вбудований захист від fraud (фейкові установки, click injection на Android).
Adjust та Branch — конкуренти з подібним функціоналом. Branch сильний у deep linking; Adjust популярний у gaming.
iOS 14.5+ та ATT зламали детерміновану атрибуцію для ~40-60% iOS аудиторії, яка відмовляє у дозволі. AppsFlyer використовує probabilistic matching (IP + user agent + timing) для цих користувачів — точність нижча, але краще чим нічого. SKAdNetwork та Privacy Preserving Attribution дають агреговані дані від Apple із затримкою 24-72 години.
Crashlytics та crash-аналітика
Firebase Crashlytics — стандарт для crash reporting. Автоматично групує креші по стектрейсу, показує % affected users, velocity alerts при зростанні crash rate.
Важливо: символікація. На iOS .dSYM файли повинні автоматично завантажуватись при кожній збірці — через Fastlane upload_symbols_to_crashlytics або Xcode Cloud built-in. Без символів креш у Crashlytics виглядає як набір адрес пам'яті. Це происходит частіше чим здається при переході на новий CI.
Для React Native та Flutter — @sentry/react-native та sentry_flutter дають додатковий контекст: breadcrumbs, мережеві запити перед крешем, стан Redux/Provider.
Налаштування окружень
Три окруження з окремими Firebase проектами: dev, staging, production. Змішування аналітики з тестових сесій та production — поширена помилка, яка спотворює всі метрики. На iOS через GoogleService-Info.plist для кожної схеми, на Android через google-services.json у папці кожного flavor.
Строки: базова аналітика з Firebase + Crashlytics — 3-5 днів. Повнофункціональний tracking plan + Amplitude/Mixpanel з воронками та когортами — 2-3 тижні. Атрибуція через AppsFlyer з deep linking та fraud protection — 1-2 тижні.







