Event Tracking — a felhasználói műveletek eseményeinek gyűjtése és elemzése a mobilalkalmazáson belül, a gombnyomásoktól a vásárlásokig. A minőségi event tracking a termékanalitika, A/B tesztelés és személyre szabás alapja. Az Amplitude, 2024 adatai szerint a rendszerszintű Event Trackinget alkalmazó csapatok a data-driven megközelítésnek köszönhetően 3-szor gyorsabban hoznak termékdöntéseket. Események nélkül az alkalmazás analitikája vak.
Főbb pontok
Event Tracking — a felhasználó diszkrét műveleteinek gyűjtési, tárolási és elemzési folyamata az alkalmazásban. Minden esemény egy névből (event_name) és paraméterek halmazából (event_params) áll. Például a purchase esemény paraméterei: price, currency, product_id, quantity.
A Screen View-val ellentétben, amely a képernyő megnyitását rögzíti, az Event Tracking leírja, hogy a felhasználó pontosan mit csinál azon a képernyőn: megnyomta a „Vásárlás” gombot, megnyitotta a kosarat, felhasznált egy promóciós kódot. Események nélkül lehetetlen megérteni a felhasználó motivációját és cselekvéseinek kontextusát.
Minden Analytics Event kötelező és opcionális mezőket tartalmaz. Kötelező: event_name, event_timestamp, user_id (vagy device_id). Opcionális: paraméterek, kontextus leírása.
| Mező | Kötelező | Példa |
|---|---|---|
| event_name | Igen | „purchase_completed” |
| event_timestamp | Igen | 1719876543000 |
| user_id | Igen | „user_abc123” |
| session_id | Nem | „session_456def” |
| revenue | Nem | 9.99 |
| currency | Nem | „USD” |
A revenue paraméter különösen fontos — az MMP platformoknak továbbítódik az ROAS és LTV automatikus kiszámításához.
Az események eredet és rendeltetés szerint osztályozhatók. A felosztás segít az adatstruktúra megszervezésében és a hozzáférési jogok kiosztásában a különböző csapatok számára.
Az analitikai platformok SDKi automatikusan gyűjtik az alapeseményeket: app_install, app_remove, session_start, screen_view. A Firebase Analytics körülbelül 20 automatikus eseményt generál egyetlen kódsor nélkül. Ezek az események lefedik az alapvető metrikákat, de nem adnak betekintést az üzleti logikába.
Az egyedi események teszik értékessé az Event Trackinget. Üzleti műveleteket írnak le: add_to_cart, start_subscription, level_complete, share_content, search_performed. Az egyedi események explicit elküldést igényelnek az alkalmazás kódjából.
// Egyedi esemény küldése a Firebase-be
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)
A példában a subscribe_premium esemény négy kontextusparamétert tartalmaz. A source paraméter segít megérteni, hogy a felhasználó melyik képernyőről fizetett elő — onboarding, beállítások vagy paywall.
Az eseményeken kívül az Event Tracking User Propertieseket is tartalmaz — a felhasználóhoz kapcsolt attribútumokat: előfizetési szint, ország, alkalmazásverzió. A User Property egyszer kerül elküldésre és a munkamenet összes későbbi eseményére alkalmazásra kerül. Ez lehetővé teszi az analitika szegmentálását anélkül, hogy paramétereket kellene hozzáadni minden eseményhez.
A Super Properties (Amplitude) vagy Global Properties (Mixpanel) — a munkamenethez, nem a felhasználóhoz kapcsolt attribútumok. A/B tesztekhez használják: a variant_id Super Propertyként hozzáadódik a munkamenet összes eseményéhez, és az elemző látja, hogy a felhasználó melyik csoportba tartozik.
A revenue-események — egy külön osztály a tranzakciók rögzítésére. Tartalmazzák az összeget, a pénznemet és a vásárlás típusát (előfizetés, egyszeri vásárlás, visszaállítás). Az MMP platformok (AppsFlyer, Adjust) revenue-eseményeket igényelnek az ROAS kiszámításához.
A Branch (2024) adatai szerint azok az alkalmazások, amelyek helyesen továbbítják a revenue-eseményeket az MMP-nek, 25%-kal pontosabb attribúciós adatokat kapnak, és kampányaikat az LTV, nem a CPI alapján optimalizálhatják.
Az Event Tracking beállítása három szakaszból áll: az eseményséma megtervezése, SDK-integráció, adatérvényesítés.
Hozzon létre egy Event Taxonomyt — egy dokumentumot, amelyben minden esemény le van írva: név, paraméterek, küldési trigger, tulajdonos. Példa e-kereskedelemhez: order_completed → paraméterek: order_id, total_price, items_count, payment_method, shipping_city.
Csatlakoztassa az Analytics SDKt a projekthez. Firebase Analytics, Amplitude, Mixpanel — minden SDK inicializálást igényel az Application.onCreate()-ban. Példa Flutterhez:
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,
},
);
}
}
Az AnalyticsService osztály központosítja az összes esemény elküldését. Minden metódus egy üzleti műveletnek felel meg. Ez leegyszerűsíti a küldés megtalálását — ha egy esemény nem érkezik meg, a metódus neve után keres a kódban. A projekt skálázásakor a metódusok száma 50–100-ra nőhet, de a struktúra olvasható marad a funkciók szerinti csoportosításnak köszönhetően.
A Firebase DebugView lehetővé teszi az események valós idejű megtekintését a fejlesztő eszközén. Kapcsolja be a módot: adb shell setprop debug.firebase.analytics.app your.package. Minden esemény megjelenik a Firebase konzolban 5 másodpercnél kisebb késéssel.
A DebugView bekapcsolása után nyissa meg az alkalmazást és hajtson végre egy teszt forgatókönyvet — regisztráció, vásárlás, katalógus böngészés. A konzolban ellenőrizze: az összes esemény elküldésre került-e, a paraméterek helyesek-e, nincs-e duplikáció. Az Amplitude hasonló eszközt kínál — Amplitude Debugger iOS és Android rendszerekhez.
Automatikus érvényesítés CI/CD-n keresztül — a minőség következő szintje. Adjon hozzá egy szkriptet a pipeline-hoz, amely ellenőrzi, hogy a séma minden eseménye legalább egyszer elküldésre került-e a tesztfuttatás során. Ez megakadályozza a hiányzó eseményekkel rendelkező verziók kiadását és időt takarít meg a QA mérnökök számára.
Az események elnevezése — az Event Tracking leginkább alábecsült aspektusa. A helytelen név használhatatlanná teszi az analitikát, ha a projektben több mint 50 esemény van.
Használja az object_action mintát (kisbetűk, snake_case): product_added, cart_opened, payment_failed, subscription_cancelled. Az objektum — entitás, a művelet — ige múlt időben. Ez úgy olvasandó, mint egy mondat: „termék hozzáadva”, „kosár megnyitva”.
NE használjon szóközt („Add to Cart”), CamelCase-t („AddToCart”), pontot („add.to.cart”), kötőjelet („add-to-cart”). A legtöbb SDK a snake_case-t ajánlja. NE használjon UI elemek neveket („btn_submit_clicked”) — az eseménynek üzletinek kell lennie, nem technikainak.
Prefixként adja hozzá a funkció vagy képernyő nevét: onboarding_step_completed, checkout_payment_selected. Ez lehetővé teszi az események funkció szerinti szűrését a jelentésekben.
A paraméterek három típusra oszthatók: string (érték), number (szám aggregációhoz), boolean (jelző). A string paraméterek kategorikus adatokat tartalmaznak: ország, forgalmi forrás, terméknév. A number paraméterek metrikákhoz szolgálnak: ár, mennyiség, időtartam. A boolean paraméterek állapotot jelölnek: is_trial, is_promo_applied.
Kerülje objektumok vagy tömbök átadását egy paraméterben — az analitikai platformok nem tudják feldolgozni azokat. Egy mezőben lévő JSON string helyett adjon át több lapos paramétert. Például az items_count_total helyett külön adja át az items_count és total_price értékeket.
Az Event Tracking platformválasztása a projekt méretétől és a csapattól függ. Vizsgáljunk meg három különböző szintű változatot.
Firebase — a szabványos választás startupok számára. Ingyenes korlát — 500 különböző event_name, korlátlan számú paraméter. Integráció a BigQuery-vel egyedi analitikához. Hátrányok: korlátozott szegmentáció, nincs automatikus eseményösszekapcsolás a munkamenetekben.
Amplitude — termékanalitikai platform. Támogatja a Behavioural Cohorts, Funnel Analysis, Pathfinder funkciókat. Lehetővé teszi virtuális események létrehozását valós események kombinációjából. 50+ eszközzel integrálható a Segmenten keresztül.
Segment — middleware az események kezeléséhez. Elküldi az eseményeket a Segmentnek, amely elosztja azokat 300+ eszköz között. Hasznos enterprise környezetben, ahol egyidejűleg használják a Firebase-t, Amplitude-ot, Mixpanel-t, Braze-t és Salesforce-t.
PostHog — open-source termékanalitikai platform saját Event Trackingkel. Támogatja az automatikus eseményrögzítést, munkamenet-rögzítést és feature flageket. Saját szerveren telepíthető, ami kritikus a GDPR vagy bizalmas adatokat kezelő projektek számára. Python-kompatibilis API-t kínál ETL pipeline-okhoz.
Flutter projektekhez a flutterfire_analytics + Amplitude ajánlott az amplitude_flutter plugin segítségével. React Native-hez — react-native-firebase + mixpanel-react-native.
Gyakran ismételt kérdések
Az optimális tartomány 50–150 esemény alkalmazásonként. Kevesebb mint 50 — nincs elég adat az elemzéshez, több mint 150 — csökken a minőség (az elemzők nem tudnak mindet követni). Egy MVP-hez 20–30 kulcsfontosságú esemény elegendő.
Az átlagos mobil SDK pufferezi az eseményeket és 5–30 másodpercenként kötegekben küldi el. Biztonságos határ — 100 esemény percenként eszközönként. Több — adatvesztés kockázata gyenge kapcsolatnál. Kiugrások (pl. szint betöltése) nem kritikusak.
Igen, a modern SDKk helyi tárolóba mentik az eseményeket hálózat hiányában. A kapcsolat helyreállításakor a megfelelő időbélyeggel küldik el őket. A Firebase legfeljebb 7 nap offline eseményt tárol, az Amplitude — legfeljebb 30 napot.
Az új esemény új event_namenel jön létre, a régi a történeti adatok számára marad. Hozzon létre egy leképezést a BI rétegben (SQL CASE vagy dashboard) az adatok összekapcsolásához. Soha ne változtassa meg a meglévő esemény nevét — tönkreteszi a történetet.
Igen, az Event Tracking a személyre szabás alapja. Az események valós időben szűrhetők: ha egy felhasználó 3-szor küldött product_viewed eseményt vásárlás nélkül, jelenítsen meg egy kedvezményes felugró ablakot. Az Amplitude és a Braze támogatja az eseményalapú triggereket.
Összefoglaló
Kulcsrakész mobilalkalmazást fejlesztünk
Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.
Olvassa el is