Ми стикалися з проєктами, де воронка реєстрації показувала 0% через неправильний identity merge. Після виправлення конверсія злітала з 0% до 23%. У 60% випадків воронки в Firebase і GA4 побудовані з помилками: невірний conversion window, події з неспівпадаючими параметрами, дублювання подій на клієнті та сервері. Одного разу в e-commerce додатку клієнт втрачав 70% користувачів на кроці оформлення замовлення — подія purchase не логувалася на iOS. Після доналаштування конверсія зросла з 8% до 15% за тиждень. Правильно налаштована воронка збільшує конверсію в середньому на 20–30%, а при грамотній сегментації — до 50%. Ми допомагаємо компаніям налаштувати воронки в Firebase, Amplitude і Mixpanel, щоб виявити вузькі місця та підвищити ключові метрики. Зв'яжіться з нами для аудиту поточних воронок — отримайте конкретні рекомендації.
Де будувати воронки
Три основних інструменти залежно від стеку:
- Firebase / Google Analytics 4 — розділ Explore → Funnel Exploration. Воронки будуються на основі подій зі стріму.
- Amplitude — Funnel Analysis в розділі Analytics. Більш гнучкі налаштування: можна задати conversion window по-різному для кожного кроку, групувати за властивостями. Можливостей сегментації в 2 рази більше.
- Mixpanel — Funnels в розділі Reports. Відрізняється тим, що дозволяє дивитися воронку за унікальними користувачами, сесіями або подіями — різні метрики дають різні числа.
Як правильно структурувати події для воронки?
Воронка реєстрації має виглядати так:
app_open → sign_up_start → sign_up_email_entered → sign_up_password_entered → sign_up_success
Кожна подія — окремий крок. Часта помилка: розробники логують лише початок і кінець. Тоді незрозуміло, де саме користувачі йдуть — після введення email чи після пароля.
// Правильно — кожен крок окремо
Analytics.logEvent("sign_up_start", parameters: ["method": "email"])
// Після введення email
Analytics.logEvent("sign_up_email_entered", parameters: [:])
// Після введення пароля
Analytics.logEvent("sign_up_password_entered", parameters: [:])
// Після успішної реєстрації
Analytics.logEvent(AnalyticsEventSignUp, parameters: ["method": "email"])
Як налаштувати воронку в Firebase Explore?
- Explore → + New Exploration → Funnel Exploration
- Додаємо кроки в порядку послідовності
- Встановлюємо Conversion Window — типові значення: 1 день для реєстрації, 7 днів для онбордингу, 30 днів для першої покупки
- Вмикаємо Open funnel якщо порядок кроків не обов'язковий, Closed — якщо строго послідовний
Conversion Window — найбільш впливовий параметр. Та ж воронка з вікном 1 день і 7 днів може показати конверсію 15% і 40% відповідно. Вибір залежить від того, як швидко користувачі реально приймають рішення. Для точного налаштування conversion window зверніться до документації Firebase.
Чому conversion window так критична?
Таблиця типових вікон для різних воронок:
| Тип воронки |
Conversion Window |
Примітка |
| Реєстрація |
1-7 днів |
Залежить від складності форми |
| Онбординг |
7-30 днів |
Користувач може повертатися |
| Перша покупка |
30 днів |
Стандарт для e-commerce |
| Віральність (invite) |
1 день |
Швидкі дії |
Інше важливе налаштування — властивість кроку. Наприклад, для події purchase додайте параметр item_category, щоб побудувати воронку для кожної категорії окремо. Це дозволяє виявити слабкі місця в конкретному потоці.
Воронки з параметрами сегментації
Один із потужних прийомів — порівняння воронки за сегментами. В Amplitude це робиться через breakdown:
// Кроки воронки залишаються тими ж, але розбиваємо по:
// - джерелу встановлення (utm_source)
// - типу пристрою (iOS vs Android)
// - версії додатку
Приклад: конверсія з реєстрації в першу покупку у користувачів з платного трафіку — 8%, у органічних — 22%. Це сигнал, що якість UA-аудиторії потрібно переглядати. Скорочення витрат на неефективні канали може зекономити до 30% рекламного бюджету.
Порівняння інструментів для воронок
| Інструмент |
Гнучкість сегментації |
Підтримка identity merge |
Примітка |
| Firebase |
Середня |
Вбудована |
Безкоштовно для стартапів |
| Amplitude |
Висока |
Гнучка (alias+identify) |
Платно, але потужна сегментація |
| Mixpanel |
Середня |
Через ID merge |
Платно, подієва модель |
Firebase кращий для стартапів з обмеженим бюджетом, Amplitude — для зрілих продуктів, де потрібні складні сегменти. Mixpanel підійде командам з орієнтацією на events-based аналітику.
Помилки, які ламають воронку
- Різні user_id на різних кроках. Якщо користувач починає воронку як анонімний (device_id), а після реєстрації стає авторизованим (user_id), і аналітика не робить identity merge — воронка рветься на кроці реєстрації. В Firebase це
Analytics.setUserId() після успішної авторизації. В Amplitude — identify.setUserId() + identify.alias().
- Події логуються на сервері та на клієнті одночасно.
purchase з одним transaction_id летить і з iOS SDK, і з бекенду. У воронці користувач проходить крок двічі — конверсія спотворюється.
- Неправильна часова мітка. Якщо на Android події відправляються із затримкою (офлайн-черга) із серверним timestamp, а не клієнтським — порядок подій у воронці може порушитися.
- Офіційне керівництво Google рекомендує завжди перевіряти identity merge перед побудовою воронок.
Ми також допомагаємо аналізувати crash користувачів на кожному кроці воронки.
Розбір типової помилки з identity merge
В одному проєкті воронка показала 0% на кроці авторизації. Виявилося, після входу на сервері генерувався новий ідентифікатор, а на клієнті викликався setUserId без виклику setAnonymousUser. У підсумку анонімний користувач і авторизований вважалися різними сутностями. Виправили — конверсія повернулася до реальних 45%.
Що входить в роботу
- Аудит поточних подій на відповідність крокам воронок
- Додавання проміжних подій там, де їх не вистачає
- Налаштування воронок в Firebase Explore / Amplitude / Mixpanel
- Налаштування conversion window під реальну поведінку користувачів
- Налаштування сегментації за джерелом, платформою, версією
- Документація схеми воронок для команди
Замовте аудит воронок, щоб отримати конкретні рекомендації щодо покращення конверсії. Отримайте консультацію — ми розповімо, як оптимізувати вашу аналітику.
Строки
Одна воронка з аудитом подій: 1 день. Повний набір воронок (реєстрація, онбординг, монетизація): 3–4 дні. Вартість розраховується індивідуально. Звертайтеся — допоможемо виявити проблеми у ваших воронках і підвищити конверсію. Досвід 30+ проєктів гарантує коректність даних.
Аналітика мобільних застосунків: Firebase, Amplitude, AppsFlyer та атрибуція
Наша команда регулярно стикається з проектами, де аналітика вже «налаштована», але реальних інсайтів немає. Типовий приклад — стартап з 50k DAU: трекінг десятків подій без жодної відповіді на питання «чому користувачі не доходять до оплати». За два тижні ми побудували базову воронку і з'ясували, що 70% аудиторії відвалюється на екрані верифікації номера телефону. Після локалізації бага retention зріс на 12%. Висновок: аналітика повинна починатися з конкретних питань, а не з трекінгу всього підряд.
Чому таксономія подій — основа аналітики мобільних застосунків?
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 синхронізується з командою аналітиків до початку розробки, а не після. Такий підхід гарантує, що через місяць дані залишаться інтерпретованими, а не перетворяться на звалище. Досвід впровадження на 50+ проектах підтверджує: при відсутності tracking plan вартість підтримки аналітики зростає у 2-3 рази за рахунок переробок.
Що обрати для аналітики мобільних застосунків: Firebase, Amplitude чи Mixpanel?
Таблиця нижче показує ключові відмінності трьох популярних платформ. Вибір залежить від бюджету, трафіку та завдань.
| Критерій |
Firebase Analytics |
Amplitude |
Mixpanel |
| Безкоштовний ліміт |
Безліміт (в рамках Spark-плану) |
До 10 млн events/міс |
До 1 тис. MTU/міс (Special) |
| Затримка даних |
До 24 годин (стандарт) |
Хвилини (real-time) |
Хвилини (real-time) |
| Воронки та когорти |
Базові воронки, обмежена кількість |
Глибокі воронки, Journeys, когорти |
Funnels, Retention, Insights |
| BigQuery-експорт |
Так (безкоштовно, сирі дані) |
Так (підписка) |
Так (Enterprise) |
| Session Replay |
Ні |
Є (iOS/Android SDK) |
Ні |
| Інтеграція з рекламою |
Google Ads (нативна) |
Через Universal Links |
Через партнерів |
Firebase Analytics — безкоштовно, глибока інтеграція з Google Ads, BigQuery-експорт для сирих даних. Обмеження: затримка даних до 24 годин, обмежені воронки. Для стартапів з Google Ads трафіком — перший вибір.
Amplitude — продуктова аналітика з акцентом на когорти та шляхи користувача. Journeys (колишній Pathfinder) показує реальні шляхи між подіями — не передбачувані воронки, а фактичні маршрути. Session Replay — запис сесій для UX-аналізу. Безкоштовний тир до 10 млн events/місяць достатній для більшості продуктів на старті.
Mixpanel — ближче до Amplitude, сильніший у сегментації в реальному часі. Insights, Funnels, Retention — базові інструменти, які закривають 90% аналітичних завдань продакта.
Більш формальні визначення цих платформ можна знайти у Wikipedia (Firebase) та Wikipedia (Amplitude).
Як вирішити проблему мультиканальної атрибуції з 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.
Згідно з Apple, з iOS 14.5 застосунки повинні отримувати дозвіл користувача через ATT перед збором IDFA для відстеження. AppsFlyer використовує probabilistic matching (IP + user agent + timing) для цих користувачів — точність нижча, але краще ніж нічого. SKAdNetwork та Privacy Preserving Attribution надають агреговані дані від Apple із затримкою 24-72 години.
Як налаштувати crash-аналітику, щоб не пропускати баги?
Firebase Crashlytics — стандарт для crash reporting. Автоматично групує креші за стектрейсом, показує affected users %, velocity alerts при зростанні crash rate більш ніж на 10% за годину.
Важливо: символікація. На iOS .dSYM файли повинні автоматично завантажуватися при кожній збірці — через Fastlane upload_symbols_to_crashlytics або Xcode Cloud built-in. Без символів креш у Crashlytics виглядає як набір адрес пам'яті. Це трапляється частіше, ніж здається при переході на новий CI — в одному проекті з аудиторією 500k користувачів ми виявили, що 40% крешів залишалися несимволізованими через пропущений етап у CI/CD. Після автоматизації час реакції на баги скоротився з 3 годин до 15 хвилин.
Для React Native та Flutter — @sentry/react-native та sentry_flutter дають додатковий контекст: breadcrumbs, мережеві запити перед крешем, стан Redux/Provider.
Нижче — порівняння популярних інструментів crash-аналітики для вибору під свої завдання.
| Критерій |
Firebase Crashlytics |
Sentry |
Instabug |
| Безкоштовний ліміт |
Безліміт (в рамках Spark) |
5k events/міс |
250 MAU |
| Групування |
За стектрейсом + параметри |
За fingerprint |
За стектрейсом + метадані |
| Символікація |
Автоматична (через файл) |
Автоматична (через CLI) |
Автоматична |
| Velocity alerts |
Так (за % зміни) |
Так (за кількістю) |
Так (за порогом) |
| Дод. контекст |
Logs, Keys, Custom Keys |
Breadcrumbs, User, Tags |
User steps, мережеві запити |
| Ціна |
Безкоштовно (у Firebase) |
Від $26/міс (Team) |
Від $99/міс |
Налаштування оточення
Три оточення з окремими 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 тижні. Вартість розраховується індивідуально залежно від складності інтеграцій.
Що входить у нашу роботу
В рамках впровадження аналітики ми надаємо:
- Розробку та узгодження tracking plan з командами продукту та маркетингу.
- Інтеграцію SDK (Firebase, Amplitude, Mixpanel, AppsFlyer) з урахуванням вашого стеку (Swift/Kotlin/Flutter/React Native).
- Налаштування воронок, когорт, дашбордів та алертів.
- Автоматизацію символікації та завантаження .dSYM через Fastlane.
- Документацію щодо подій та параметрів.
- Навчання команди роботі з аналітичною платформою.
- Два тижні пост-релізної підтримки та коригування трекінгу.
Наш досвід — 7 років впровадження аналітики та понад 80 успішних проектів у сфері мобільної розробки. Ми гарантуємо коректність даних і прозорість кожного етапу.
Зв'яжіться з нами, щоб отримати консультацію з налаштування аналітики вашого застосунку. Замовте аудит поточної аналітики — і ми покажемо, які метрики ви втрачаєте.