Event Tracking у мобилним апликацијама: шта је то, типови догађаја и како подесити

Аутор: IT Sectr Објављено: 2026-04-21 Време читања: 11 мин

Event Tracking — прикупљање и анализа догађаја о радњама корисника унутар мобилне апликације, од притискања дугмади до обављања куповина. Квалитетан event tracking је основа продукт аналитике, A/B тестирања и персонализације. Према подацима Amplitude, 2024, тимови са систематским Event Tracking доносе продукт одлуке 3 пута брже захваљујући data-driven приступу. Без догађаја аналитика апликације је слепа.

Главне тачке

  • Event Tracking — прикупљање података о радњама корисника, свака радња описана је именом догађаја и параметрима.
  • Типови догађаја деле се на аутоматске (SDK), прилагођене (програмер) и revenue-догађаје.
  • Именовање догађаја треба да следи јединствени стандард — Object + Action (нпр. product_added_to_cart).
  • Параметри догађаја садрже контекст: цену, категорију производа, извор преласка.
  • Платформе за Event Tracking: Firebase Analytics, Amplitude, Mixpanel, Segment.

Шта је Event Tracking?

Event Tracking — је процес прикупљања, складиштења и анализе дискретних радњи корисника у апликацији. Сваки догађај се састоји од имена (event_name) и скупа параметара (event_params). На пример, догађај purchase има параметре price, currency, product_id, quantity.

За разлику од Screen View, који бележи чињеницу отварања екрана, Event Tracking описује шта тачно корисник ради на том екрану: притиснуо дугме „Купи", отворио корпу, применио промо код. Без догађаја немогуће је разумети мотивацију и контекст радњи корисника.

Структура догађаја

Сваки Analytics Event садржи обавезна и опциона поља. Обавезна: event_name, event_timestamp, user_id (или device_id). Опциона: параметри, опис контекста.

ПољеОбавезноПример
event_nameДа„purchase_completed”
event_timestampДа1719876543000
user_idДа„user_abc123”
session_idНе„session_456def”
revenueНе9.99
currencyНе„USD”

Параметар revenue је посебно важан — прослеђује се MMP платформама за аутоматско израчунавање ROAS и LTV.

Типови догађаја у мобилној аналитици

Догађаји се класификују по пореклу и намени. Подела помаже у организовању структуре података и додељивању права приступа различитим тимовима.

Аутоматски догађаји (SDK)

SDK аналитичких платформи аутоматски прикупљају основне догађаје: app_install, app_remove, session_start, screen_view. Firebase Analytics генерише око 20 аутоматских догађаја без иједне линије кода. Ови догађаји покривају основне метрике, али не дају увид у пословну логику.

Прилагођени догађаји (Custom Events)

Прилагођени догађаји — оно што чини Event Tracking вредним. Они описују пословне радње: add_to_cart, start_subscription, level_complete, share_content, search_performed. Прилагођени догађаји захтевају експлицитно слање из кода апликације.

kotlin
// Слање прилагођеног догађаја у Firebase
val bundle = Bundle().apply {
    putString(AnalyticsParam.ITEM_ID, "prod_789")
    putString(AnalyticsParam.ITEM_NAME, "Premium Subscription")
    putString(AnalyticsParam.CURRENCY, "USD")
    putDouble(AnalyticsParam.PRICE, 29.99)
    putString(AnalyticsParam.SOURCE, "onboarding_screen")
}
FirebaseAnalytics.getInstance(this)
    .logEvent("subscribe_premium", bundle)

У примеру догађај subscribe_premium садржи четири контекстна параметра. Параметар source омогућава разумевање са ког екрана је корисник извршио претплату — onboarding, подешавања или paywall.

User Properties и Super Properties

Поред догађаја, Event Tracking укључује User Properties — атрибуте везане за корисника: ниво претплате, земља, верзија апликације. User Property се шаље једном и примењује се на све наредне догађаје сесије. Ово омогућава сегментацију аналитике без додавања параметара сваком догађају.

Super Properties (Amplitude) или Global Properties (Mixpanel) — атрибути везани за сесију, а не за корисника. Користе се за A/B тестове: variant_id као Super Property додаје се свим догађајима сесије, а аналитичар види којој групи припада корисник.

Revenue-догађаји

Revenue-догађаји — посебна класа за бележење трансакција. Садрже износ, валуту и врсту куповине (претплата, једнократна куповина, обнављање). MMP платформе (AppsFlyer, Adjust) захтевају revenue-догађаје за израчунавање ROAS.

Према подацима Branch (2024), апликације које коректно прослеђују revenue-догађаје MMP-у добијају 25% прецизније податке о атрибуцији и могу оптимизовати кампање на основу LTV, а не CPI.

Како подесити Event Tracking?

Подешавање Event Tracking одвија се у три фазе: планирање шеме догађаја, интеграција SDK, валидација података.

Фаза 1: Дизајн шеме догађаја

Направите Event Taxonomy — документ у коме је описан сваки догађај: име, параметри, окидач слања, власник. Пример за e-commerce: order_completed → параметри: order_id, total_price, items_count, payment_method, shipping_city.

  • Сваки догађај одговара на питање: шта је корисник урадио?
  • Сваки параметар одговара на питање: у ком контексту?
  • Избегавајте догађаје без параметара — бескорисни су за анализу

Фаза 2: Интеграција SDK

Повежите Analytics SDK са пројектом. Firebase Analytics, Amplitude, Mixpanel — сваки SDK захтева иницијализацију у Application.onCreate(). Пример за Flutter:

dart
import 'package:firebase_analytics/firebase_analytics.dart';

class AnalyticsService {
  final _analytics = FirebaseAnalytics.instance();

  Future<void> logPurchase({
    required String productId,
    required double price,
    required String currency,
  }) async {
    await _analytics.logEvent(
      name: 'purchase_completed',
      parameters: {
        'product_id': productId,
        'price': price,
        'currency': currency,
        'timestamp': DateTime.now().millisecondsSinceEpoch,
      },
    );
  }
}

Класа AnalyticsService централизује слање свих догађаја. Свака метода одговара пословној радњи. Ово поједностављује проналажење слања — ако догађај не стиже, тражите по имену методе у коду. При скалирању пројекта број метода може порасти на 50–100, али структура остаје читљива захваљујући груписању по функцијама.

Фаза 3: Валидација кроз DebugView

Firebase DebugView омогућава преглед догађаја у реалном времену на уређају програмера. Укључите режим: adb shell setprop debug.firebase.analytics.app your.package. Сви догађаји ће се појавити у Firebase конзоли са кашњењем мањим од 5 секунди.

Након укључивања DebugView, отворите апликацију и извршите тест сценарио — регистрацију, куповину, преглед каталога. У конзоли проверите: да ли су сви догађаји послати, да ли су параметри исправни, да ли постоји дуплирање. Amplitude нуди сличан алат — Amplitude Debugger за iOS и Android.

Аутоматска валидација кроз CI/CD — следећи ниво квалитета. Додајте у pipeline скрипт који проверава да ли је сваки догађај из шеме послат барем једном током тестног прогона. Ово спречава издавање верзија са пропуштеним догађајима и штеди време QA инжењерима.

Најбоље праксе именовања догађаја

Именовање догађаја — најпотцењенији аспект Event Tracking. Погрешно име чини аналитику бескорисном када у пројекту постоји више од 50 догађаја.

Стандард Object + Action

Користите образац object_action (мала слова, snake_case): product_added, cart_opened, payment_failed, subscription_cancelled. Објекат — ентитет, радња — глагол у прошлом времену. Чита се као реченица: „производ додат", „корпа отворена".

  • product_viewed, не „tap_on_product_card" (догађај — резултат, не радња)
  • order_completed, не „successful_payment_transaction" (кратко и јасно)
  • level_started, не „begin_level_with_parameters" (без сувишних речи)

Забрањени обрасци

НЕ користите размаке („Add to Cart"), CamelCase („AddToCart"), тачку („add.to.cart"), цртицу („add-to-cart"). Већина SDK препоручује snake_case. НЕ користите називе UI елемената („btn_submit_clicked") — догађај треба да буде пословни, не технички.

За префикс додајте назив функционалности или екрана: onboarding_step_completed, checkout_payment_selected. Ово омогућава филтрирање догађаја по функционалности у извештајима.

Типови параметара догађаја

Параметри се деле на три типа: string (вредност), number (број за агрегацију), boolean (застава). String параметри садрже категоријалне податке: земља, извор саобраћаја, назив производа. Number параметри служе за метрике: цена, количина, трајање. Boolean параметри обележавају стање: is_trial, is_promo_applied.

Избегавајте прослеђивање објеката или низова у једном параметру — аналитичке платформе не знају да их обраде. Уместо JSON стринга у једном пољу, проследите неколико равних параметара. На пример, уместо items_count_total проследите одвојено items_count и total_price.

Платформе за Event Tracking

Избор платформе Event Tracking зависи од обима пројекта и тима. Размотримо три варијанте различитих нивоа.

Firebase Analytics (бесплатно, до 500 догађаја)

Firebase — стандардни избор за стартапове. Бесплатни лимит — 500 различитих event_name, неограничен број параметара. Интеграција са BigQuery за прилагођену аналитику. Недостаци: ограничена сегментација, нема аутоматског повезивања догађаја у сесије.

Amplitude (Pro од 1.000 USD/мес.)

Amplitude — платформа за продукт аналитику. Подржава Behavioural Cohorts, Funnel Analysis, Pathfinder. Омогућава креирање виртуелних догађаја од комбинације реалних. Интегрише се са 50+ алата путем Segment-а.

Segment (од 120 USD/мес.)

Segment — middleware за управљање догађајима. Шаљете догађаје Segment-у, а он их распоређује на 300+ алата. Користан у enterprise-у где се истовремено користе Firebase, Amplitude, Mixpanel, Braze и Salesforce.

PostHog (open-source алтернатива)

PostHog — open-source платформа за продукт аналитику са сопственим Event Tracking. Подржава аутоматско хватање догађаја, снимање сесија и feature flags. Поставља се на сопствени сервер, што је кључно за пројекте са GDPR или поверљивим подацима. Нуди Python-компатибилни API за ETL цевоводе.

За Flutter пројекте препоручује се flutterfire_analytics + Amplitude кроз plugin amplitude_flutter. За React Native — react-native-firebase + mixpanel-react-native.

Често постављана питања

Колико догађаја треба пратити у једној апликацији?

Оптимални опсег је 50–150 догађаја по апликацији. Мање од 50 — недостаје података за анализу, више од 150 — опада квалитет (аналитичари не стижу за свима). За MVP је довољно 20–30 кључних догађаја.

Колико често се догађаји могу слати без штете по перформансе?

Просечан мобилни SDK баферише догађаје и шаље их у групама сваких 5–30 секунди. Безбедна граница је 100 догађаја у минути по уређају. Више — ризик од губитка података при лошој вези. Скокови (нпр. учитавање нивоа) нису критични.

Да ли треба слати догађаје у offline режиму?

Да, савремени SDK чувају догађаје у локалном складишту када нема мреже. По успостављању везе шаљу се са тачном временском ознаком. Firebase чува до 7 дана offline догађаја, Amplitude — до 30 дана.

Како преименовати догађај у већ покренутој апликацији?

Нови догађај се креира са новим event_name, стари остаје за историјске податке. Направите мапирање у BI слоју (SQL CASE или dashboard) за спајање података. Никада не мењајте име постојећег догађаја — покварићете историју.

Може ли се Event Tracking користити за персонализацију?

Да, Event Tracking је основа персонализације. Догађаји се филтрирају у реалном времену: ако је корисник послао product_viewed 3 пута без куповине, прикажите попуп са попустом. Amplitude и Braze подржавају окидаче засноване на догађајима.

Закључак

  • Event Tracking — прикупљање дискретних радњи корисника са контекстом (параметри, временска ознака, user_id).
  • Типови догађаја: аутоматски (SDK), прилагођени (пословна логика), revenue (трансакције).
  • Именовање — snake_case по стандарду Object + Action.
  • Подешавање укључује три фазе: шема догађаја, SDK, DebugView валидација.
  • Платформе: Firebase (бесплатно), Amplitude (Pro), Segment (enterprise).
  • Оптимум — 50–150 догађаја по апликацији.
  • Offline догађаји се баферишу од стране SDK и шаљу по успостављању везе.

Развићемо мобилну апликацију под кључ

IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.

Разговарајте о пројекту

Прочитајте такође