Event Tracking मोबाइल एप्लिकेशन के अंदर यूजर की गतिविधियों के इवेंटों का संग्रह और विश्लेषण है, बटन क्लिक से लेकर खरीदारी करने तक। गुणवत्तापूर्ण event tracking उत्पाद एनालिटिक्स, A/B परीक्षण और व्यक्तिकरण का आधार है। Amplitude, 2024 के अनुसार, व्यवस्थित Event Tracking वाली टीमें data-driven दृष्टिकोण के कारण उत्पाद निर्णय 3 गुना तेज़ी से लेती हैं। इवेंट के बिना, एप्लिकेशन एनालिटिक्स अंधी है।
मुख्य बातें
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 पैरामीटर विशेष रूप से महत्वपूर्ण है — इसे ROAS और LTV की स्वचालित गणना के लिए MMP प्लेटफ़ॉर्मों पर भेजा जाता है।
इवेंट को उत्पत्ति और उद्देश्य के आधार पर वर्गीकृत किया जाता है। यह विभाजन डेटा संरचना को व्यवस्थित करने और विभिन्न टीमों के लिए पहुंच अधिकार निर्धारित करने में मदद करता है।
एनालिटिक्स प्लेटफ़ॉर्मों के 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। कस्टम इवेंट को एप्लिकेशन कोड से स्पष्ट रूप से भेजने की आवश्यकता होती है।
// फ़ाइरबेस में कस्टम इवेंट भेजना
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 पैरामीटर यह समझने में मदद करता है कि यूजर ने किस स्क्रीन से सदस्यता ली — ऑनबोर्डिंग, सेटिंग्स या paywall।
इवेंट के अलावा, Event Tracking में User Properties शामिल हैं — यूजर से जुड़ी विशेषताएँ: सदस्यता स्तर, देश, एप्लिकेशन संस्करण। User Property एक बार भेजी जाती है और सेशन के सभी बाद के इवेंट पर लागू होती है। यह प्रत्येक इवेंट में पैरामीटर्स जोड़े बिना एनालिटिक्स सेग्मेंटेशन की अनुमति देता है।
Super Properties (Amplitude) या Global Properties (Mixpanel) — यूजर के बजाय सेशन से जुड़ी विशेषताएँ। इनका उपयोग A/B परीक्षण के लिए किया जाता है: variant_id को Super Property के रूप में सेशन के सभी इवेंट में जोड़ा जाता है, और एनालिस्ट देख सकता है कि यूजर किस ग्रूप से संबंधित है।
Revenue इवेंट लेन-देन रिकॉर्ड करने के लिए एक अलग वर्ग है। इनमें राशि, मुद्रा और खरीदारी का प्रकार (सदस्यता, एक बार खरीदारी, बहाली) शामिल होता है। MMP प्लेटफ़ॉर्म (AppsFlyer, Adjust) को ROAS गणना के लिए revenue इवेंट की आवश्यकता होती है।
Branch (2024) के अनुसार, जो एप्स MMP को revenue इवेंट सही ढंग से भेजते हैं, उन्हें 25% अधिक सटीक एट्रिब्यूशन डेटा मिलता है और वे CPI के बजाय LTV के आधार पर कैम्पेन को ऑप्टिमाइज़ कर सकते हैं।
Event Tracking की सेटअप तीन चरणों में होती है: इवेंट स्कीमा नियोजन, SDK एकीकरण, और डेटा मान्यता प्रमाणीकरण।
एक Event Taxonomy बनाएँ — एक दस्तावेज़ जो प्रत्येक इवेंट का वर्णन करता है: नाम, पैरामीटर्स, ट्रिगर, स्वामी। ई-कॉमर्स के लिए उदाहरण: 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। सभी इवेंट 5 सेकंड से कम देरी के साथ Firebase कंसोल में दिखाई देंगे।
DebugView को सक्रिय करने के बाद, एप्लिकेशन खोलें और एक परीक्षण परिदृश्य चलाएँ — रजिस्ट्रेशन, खरीदारी, कैटलॉग ब्राउज़िंग। कंसोल में जाँचें: क्या सभी इवेंट भेजे गए, क्या सही पैरामीटर्स भेजे गए, क्या कोई डब्लिकेशन नहीं है। Amplitude iOS और Android के लिए एक समान टूल प्रदान करता है — Amplitude Debugger।
CI/CD के माध्यम से स्वचालित मान्यता गुणवत्ता का अगला स्तर है। पाइपलाइन में एक स्क्रिप्ट जोड़ें जो जाँचे कि स्कीमा का प्रत्येक इवेंट परीक्षण रन के दौरान कम से कम एक बार तो भेजा गया। यह लापता इवेंट के साथ संस्करण जारी करने से रोकता है और 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 स्ट्रिंग के बजाय, कई फ्लैट पैरामीटर्स भेजें। उदाहरण के लिए, items_count_total के बजाय, items_count और total_price अलग-अलग भेजें।
Event Tracking प्लेटफ़ॉर्म का चयन परियोजना के पैमाने और टीम पर निर्भर करता है। आइए विभिन्न स्तरों के तीन विकल्पों पर नज़र डालें।
Firebase स्टार्टअप के लिए मानक विकल्प है। मुफ्त सीमा — 500 अलग event_name, असीमित पैरामीटर्स। कस्टम एनालिटिक्स के लिए BigQuery के साथ एकीकरण। नुकसान: सीमित सेग्मेंटेशन, सेशन में इवेंट का कोई स्वचालित लिंकेज नहीं।
Amplitude उत्पाद एनालिटिक्स के लिए एक प्लेटफ़ॉर्म है। Behavioural Cohorts, Funnel Analysis, Pathfinder का समर्थन करता है। वास्तविक इवेंट के संयोजन से वर्चुअल इवेंट बनाने की अनुमति देता है। Segment के माध्यम से 50+ टूल्स के साथ एकीकरण करता है।
Segment इवेंट प्रबंधन के लिए मिडलवेयर है। आप Segment में इवेंट भेजते हैं, और यह उन्हें 300+ टूल्स में वितरित करता है। एंटरप्राइज परिवेशों में उपयोगी जहाँ Firebase, Amplitude, Mixpanel, Braze और Salesforce का एक साथ उपयोग किया जाता है।
PostHog एक ओपन-सोर्स उत्पाद एनालिटिक्स प्लेटफ़ॉर्म है जिसका अपना Event Tracking है। इवेंट की स्वचालित कैप्चर, सेशन रिकॉर्डिंग और फ़ीचर फ़्लैग्स का समर्थन करता है। अपने सर्वर पर तैनात किया जाता है, जो GDPR या गोपनीय डेटा वाली परियोजनाओं के लिए महत्वपूर्ण है। ETL पाइपलाइन के लिए Python-संगत API प्रदान करता है।
Flutter परियोजनाओं के लिए, amplitude_flutter प्लगिन के माध्यम से flutterfire_analytics + Amplitude की अनुशंसा है। React Native के लिए — react-native-firebase + mixpanel-react-native।
अक्सर पूछे जाने वाले प्रश्न
इष्टतम सीमा 50–150 इवेंट प्रति एप्लिकेशन है। 50 से कम — विश्लेषण के लिए पर्याप्त डेटा नहीं, 150 से अधिक — गुणवत्ता गिरती है (एनालिस्ट सभी के साथ नहीं रह पाते)। MVP के लिए 20–30 प्रमुख इवेंट पर्याप्त हैं।
औसत मोबाइल SDK इवेंट को बफ़र करता है और हर 5–30 सेकंड में बैच में भेजता है। सुरक्षित सीमा 100 इवेंट प्रति मिनट प्रति डिवाइस है। उससे अधिक — खराब कनेक्शन पर डेटा हानि का खतरा। स्पाइक (जैसे लेवल लोडिंग) गंभीर नहीं हैं।
हाँ, आधुनिक SDK नेटवर्क न होने पर इवेंट को स्थानीय संग्रह में सहेजता हैं। कनेक्शन बहाल होने पर, वे सही टाइमस्टैम्प के साथ भेजे जाते हैं। Firebase 7 दिन तक के ऑफलाइन इवेंट संग्रहीत करता है, Amplitude — 30 दिन तक।
एक नया इवेंट नए event_name के साथ बनाया जाता है, पुराना ऐतिहासिक डेटा के लिए रहता है। डेटा को मर्ज करने के लिए BI लेयर (SQL CASE या डैशबोर्ड) में मैपिंग बनाएँ। कभी भी मौजूदा इवेंट का नाम न बदलें — इतिहास टूट जाएगा।
हाँ, Event Tracking व्यक्तिकरण का आधार है। इवेंट रियल-टाइम में फ़िल्टर किए जाते हैं: यदि किसी यूजर ने बिना खरीदारी किए 3 बार product_viewed भेजा, तो एक डिस्कॉंट पॉपअप दिखाएँ। Amplitude और Braze इवेंट-आधारित ट्रिगर्स का समर्थन करते हैं।
सारांश
हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे
IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।
यह भी पढ़ें