Event Tracking — η συλλογή και ανάλυση γεγονότων σχετικά με τις ενέργειες του χρήστη εντός της εφαρμογής, από το πάτημα κουμπιών μέχρι την πραγματοποίηση αγορών. Το ποιοτικό event tracking αποτελεί τη βάση της αναλυτικής προϊόντος, των δοκιμών A/B και της εξατομίκευσης. Σύμφωνα με τα δεδομένα του Amplitude, 2024, οι ομάδες με συστηματικό Event Tracking λαμβάνουν αποφάσεις προϊόντος 3 φορές πιο γρήγορα χάρη στην προσέγγιση data-driven. Χωρίς γεγονότα, η αναλυτική εφαρμογής είναι τυφλή.
Βασικά σημεία
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 των αναλυτικών πλατφορμών συλλέγει αυτόματα βασικά γεγονότα: app_install, app_remove, session_start, screen_view. Το Firebase Analytics παράγει περίπου 20 αυτόματα γεγονότα χωρίς ούτε μία γραμμή κώδικα. Αυτά τα γεγονότα καλύπτουν βασικές μετρήσεις αλλά δεν παρέχουν κατανόηση της επιχειρηματικής λογικής.
Τα προσαρμοσμένα γεγονότα — είναι αυτό που κάνει το Event Tracking πολύτιμο. Περιγράφουν επιχειρηματικές ενέργειες: add_to_cart, start_subscription, level_complete, share_content, search_performed. Τα προσαρμοσμένα γεγονότα απαιτούν ρητή αποστολή από τον κώδικα της εφαρμογής.
// Αποστολή προσαρμοσμένου γεγονότος στο 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.
Εκτός από γεγονότα, το Event Tracking περιλαμβάνει User Properties — χαρακτηριστικά που συνδέονται με τον χρήστη: επίπεδο συνδρομής, χώρα, έκδοση εφαρμογής. Το User Property αποστέλλεται μία φορά και εφαρμόζεται σε όλα τα επόμενα γεγονότα της συνεδρίας. Αυτό επιτρέπει την τμηματοποίηση της αναλυτικής χωρίς προσθήκη παραμέτρων σε κάθε γεγονός.
Οι Super Properties (Amplitude) ή Global Properties (Mixpanel) — χαρακτηριστικά που συνδέονται με τη συνεδρία, όχι με τον χρήστη. Χρησιμοποιούνται για δοκιμές A/B: το variant_id ως Super Property προστίθεται σε όλα τα γεγονότα της συνεδρίας και ο αναλυτής βλέπει σε ποια ομάδα ανήκει ο χρήστης.
Τα γεγονότα εσόδων — μια ξεχωριστή κατηγορία για την καταγραφή συναλλαγών. Περιέχουν το ποσό, το νόμισμα και τον τύπο αγοράς (συνδρομή, εφάπαξ αγορά, επαναφορά). Οι πλατφόρμες MMP (AppsFlyer, Adjust) απαιτούν γεγονότα εσόδων για τον υπολογισμό ROAS.
Σύμφωνα με τα δεδομένα Branch (2024), οι εφαρμογές που μεταφέρουν σωστά γεγονότα εσόδων στο MMP λαμβάνουν 25% πιο ακριβή δεδομένα απόδοσης και μπορούν να βελτιστοποιήσουν καμπάνιες βάσει LTV, όχι CPI.
Η ρύθμιση του Event Tracking γίνεται σε τρία στάδια: σχεδιασμός σχήματος γεγονότων, ενσωμάτωση SDK, επικύρωση δεδομένων.
Δημιουργήστε ένα Event Taxonomy — ένα έγγραφο όπου περιγράφεται κάθε γεγονός: όνομα, παράμετροι, ενεργοποιητής αποστολής, ιδιοκτήτης. Παράδειγμα για e-commerce: order_completed → παράμετροι: order_id, total_price, items_count, payment_method, shipping_city.
Συνδέστε το Analytics SDK στο έργο. Firebase Analytics, Amplitude, Mixpanel — κάθε SDK απαιτεί αρχικοποίηση στο Application.onCreate(). Παράδειγμα για Flutter:
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, αλλά η δομή παραμένει αναγνώσιμη χάρη στην ομαδοποίηση ανά λειτουργία.
Το 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 (πεζά γράμματα, snake_case): product_added, cart_opened, payment_failed, subscription_cancelled. Αντικείμενο — οντότητα, ενέργεια — ρήμα σε παρελθόντα χρόνο. Διαβάζεται σαν πρόταση: “προϊόν προστέθηκε”, “καλάθι άνοιξε”.
ΜΗ χρησιμοποιείτε κενά (“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 string σε ένα πεδίο, μεταφέρετε πολλές επίπεδες παραμέτρους. Για παράδειγμα, αντί για items_count_total, μεταφέρετε ξεχωριστά items_count και total_price.
Η επιλογή πλατφόρμας Event Tracking εξαρτάται από την κλίμακα του έργου και την ομάδα. Ας εξετάσουμε τρεις παραλλαγές διαφορετικών επιπέδων.
Firebase — η τυπική επιλογή για startups. Δωρεάν όριο — 500 διαφορετικά event_name, απεριόριστος αριθμός παραμέτρων. Ενσωμάτωση με BigQuery για προσαρμοσμένη αναλυτική. Μειονεκτήματα: περιορισμένη τμηματοποίηση, έλλειψη αυτόματης σύνδεσης γεγονότων σε συνεδρίες.
Amplitude — πλατφόρμα αναλυτικής προϊόντος. Υποστηρίζει Behavioural Cohorts, Funnel Analysis, Pathfinder. Επιτρέπει τη δημιουργία εικονικών γεγονότων από συνδυασμό πραγματικών. Ενσωματώνεται με 50+ εργαλεία μέσω Segment.
Segment — ενδιάμεσο λογισμικό για διαχείριση γεγονότων. Στέλνετε γεγονότα στο Segment και αυτό τα διανέμει σε 300+ εργαλεία. Χρήσιμο σε enterprise όπου χρησιμοποιούνται ταυτόχρονα Firebase, Amplitude, Mixpanel, Braze και Salesforce.
PostHog — πλατφόρμα αναλυτικής προϊόντος ανοιχτού κώδικα με δικό της 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 γεγονότα ανά λεπτό ανά συσκευή. Περισσότερα — κίνδυνος απώλειας δεδομένων σε κακή σύνδεση. Οι υπερτάσεις (π.χ. φόρτωση επιπέδου) δεν είναι κρίσιμες.
Ναι, τα σύγχρονα SDK αποθηκεύουν γεγονότα σε τοπική αποθήκευση όταν δεν υπάρχει δίκτυο. Κατά την αποκατάσταση της σύνδεσης, αποστέλλονται με τη σωστή χρονική σήμανση. Το Firebase αποθηκεύει έως 7 ημέρες offline γεγονότων, το Amplitude — έως 30 ημέρες.
Ένα νέο γεγονός δημιουργείται με νέο event_name, το παλιό παραμένει για ιστορικά δεδομένα. Δημιουργήστε αντιστοίχιση στο επίπεδο BI (SQL CASE ή dashboard) για συγχώνευση δεδομένων. Μην αλλάζετε ποτέ το όνομα ενός υπάρχοντος γεγονότος — θα καταστρέψετε το ιστορικό.
Ναι, το Event Tracking είναι η βάση της εξατομίκευσης. Τα γεγονότα φιλτράρονται σε πραγματικό χρόνο: αν ένας χρήστης έστειλε product_viewed 3 φορές χωρίς αγορά, εμφανίστε ένα αναδυόμενο παράθυρο έκπτωσης. Το Amplitude και το Braze υποστηρίζουν ενεργοποιητές βάσει γεγονότων.
Σύνοψη
Θα αναπτύξουμε μια εφαρμογή για κινητά έτοιμη για χρήση
Η IT Sectr δημιουργεί εφαρμογές iOS και Android για νεοφυείς επιχειρήσεις και επιχειρήσεις από το 2017. Θα σας συμβουλεύσουμε και θα προτείνουμε την καλύτερη λύση.
Διαβάστε επίσης