यह SaaS इवेंट ट्रैकिंग योजना इवेंट और प्रॉपर्टीज़ को सुसंगत नाम देने में मदद करती है और activation व retention के लिए 10 शुरुआती डैशबोर्ड सेट करने का तरीका बताती है।

पहले SaaS ऐप में शुरुआती एनालिटिक्स अक्सर भ्रमित करने वाली लगती है क्योंकि आप एक साथ दो समस्याओं का सामना करते हैं: बहुत कम यूज़र्स और कम संदर्भ। कुछ पावर यूज़र्स आपके चार्ट को झुकाते हैं, जबकि कुछ “पर्यटक” (जो साइनअप करते हैं और चले जाते हैं) सब कुछ टूटा हुआ सा दिखा सकते हैं।
सबसे मुश्किल हिस्सा है उपयोग की शोर (noise) और असली संकेत (signals) को अलग करना। शोर ऐसी एक्टिविटी है जो व्यस्त दिखती है पर प्रगति नहीं बताती — जैसे सेटिंग्स में क्लिक करना, पेज रिफ्रेश करना, या कई टेस्ट अकाउंट बनाना। संकेत वे एक्शन्स हैं जो वैल्यू की भविष्यवाणी करते हैं — जैसे ऑनबोर्डिंग पूरा करना, एक teammate को आमंत्रित करना, या पहला सफल वर्कफ़्लो पूरा करना।
एक अच्छी event tracking योजना आपको पहले 30 दिनों में कुछ बुनियादी सवालों के जवाब देनी चाहिए, बिना किसी डेटा टीम के।
यदि आपका ट्रैकिंग इन सवालों के जवाब दे सकता है, तो आप अच्छी स्थिति में हैं:
सरल अंग्रेज़ी में: activation वह क्षण है जब यूज़र पहली बार वास्तविक जीत पाता है। retention यह है कि क्या वे उस जीत के लिए बार-बार वापस आते हैं। पहले दिन पर परफेक्ट परिभाषा की ज़रूरत नहीं, लेकिन एक स्पष्ट अनुमान और उसे मापने का तरीका चाहिए।
यदि आप तेज़ी से बना रहे हैं (उदाहरण के लिए, Koder.ai जैसे प्लेटफ़ॉर्म पर रोज़ नए फ्लोज़ शिप करना), तो जोखिम यह है कि सब कुछ instrument कर दें। ज़्यादा इवेंट्स से और उलझन बढ़ सकती है। "पहले जीत" और "दोहराई गई जीत" से जुड़े कुछ ही एक्शन्स से शुरुआत करें, और तब ही बढ़ाएँ जब किसी निर्णय के लिए ज़रूरत हो।
Activation वह क्षण है जब नया यूज़र पहली बार असली वैल्यू पाता है। Retention यह है कि क्या वे समय के साथ वापस आकर बार-बार वैल्यू पा रहे हैं। अगर आप दोनों को सरल शब्दों में नहीं कह सकते, तो आपका ट्रैकिंग इवेंट्स का ढेर बन कर रह जाएगा जो कुछ भी जवाब नहीं देगा।
पहले अपने प्रोडक्ट में दो “लोगों” को नाम दें:
कई SaaS ऐप में टीमें होती हैं, इसलिए एक अकाउंट में कई यूज़र्स हो सकते हैं। इसीलिए आपकी event tracking योजना हमेशा स्पष्ट हो कि आप यूज़र बिहेवियर नाप रहे हैं, अकाउंट स्वास्थ्य नाप रहे हैं, या दोनों।
Activation को एक सिंगल सेंटेंस में लिखें जिसमें एक स्पष्ट एक्शन और एक स्पष्ट परिणाम हो। अच्छे activation पलों का फॉर्मैट होता है: “मैंने X किया और मुझे Y मिला।”
उदाहरण: “एक यूज़र अपना पहला प्रोजेक्ट बनाता है और सफलतापूर्वक प्रकाशित करता है।” (यदि आप Koder.ai जैसे टूल से बना रहे हों, तो यह “पहला सफल deploy” या “पहला source code export” हो सकता है, आपके प्रोडक्ट के प्रॉमिस पर निर्भर करता है.)
उस वाक्य को मापने योग्य बनाने के लिए, उन कुछ स्टेप्स को सूचीबद्ध करें जो आमतौर पर पहले वैल्यू से ठीक पहले होते हैं। इसे छोटा रखें और उन चीज़ों पर फ़ोकस करें जिन्हें आप देख सकते हैं:
Retention का अर्थ है कि क्या वे आपकी प्रोडक्ट की प्रकृति के अनुरूप समय पर वापस आते हैं।
यदि आपका प्रोडक्ट दैनिक उपयोग होता है, तो दैनिक retention देखें। यदि यह वर्क टूल है जो कुछ बार प्रति सप्ताह वापसी मांगता है, तो साप्ताहिक retention देखें। यदि यह मासिक वर्कफ़्लो है (बिलिंग, रिपोर्टिंग), तो मासिक retention देखें। सबसे अच्छा विकल्प वह है जहाँ “वापस आना” वास्तविक रूप से लगातार वैल्यू को दर्शाए, न कि केवल दोषी महसूस करके लॉगिन करना।
एक SaaS के लिए event tracking योजना तब सबसे अच्छी काम करती है जब वह एक साधी कहानी का पालन करे: एक नया व्यक्ति कैसे साइनअप से अपनी पहली असली जीत तक पहुँचता है।
सबसे छोटा ऑनबोर्डिंग पाथ लिखें जो वैल्यू बनाता है। उदाहरण: Signup -> verify email -> create workspace -> invite teammate (वैकल्पिक) -> connect data (या प्रोजेक्ट सेटअप) -> complete first key action -> परिणाम देखें।
अब उन मौकों को चिन्हित करें जहाँ कोई रुक सकता है या फंस सकता है। वे मोमेंट्स वह पहली इवेंट्स बन जाते हैं जिन्हें आप ट्रैक करेंगे।
पहली वर्शन को छोटा रखें। आम तौर पर आपको 8–15 इवेंट्स चाहिए, न कि 80। उन इवेंट्स को चुनें जो यह जवाब दें: क्या उन्होंने शुरुआत की? क्या उन्होंने पहला वैल्यू पाया? क्या वे वापस आए?
एक व्यावहारिक बिल्ड ऑर्डर है:
इवेंट स्पेस में, एक छोटी तालिका काफी होती है। शामिल करें: event name, trigger (प्रोडक्ट में क्या होना चाहिए), कौन ट्रिगर कर सकता है, और प्रॉपर्टीज़ जो आप हमेशा भेजेंगे।
दो IDs अधिकांश शुरुआती उलझनों को रोकती हैं: एक यूनिक user_id (व्यक्ति) और एक account या workspace_id (जहाँ वे काम करते हैं)। इससे आप व्यक्तिगत उपयोग को टीम अपनाने और बाद में अपग्रेड से अलग कर पाएंगे।
शिप करने से पहले, एक “fresh user” टेस्ट करें: एक नया अकाउंट बनाएं, ऑनबोर्डिंग पूरा करें, फिर चेक करें कि हर इवेंट एक बार फ़ायर हुआ (ना ज़ीरो, ना पाँच बार), सही IDs और टाइमस्टैम्प के साथ। यदि आप Koder.ai जैसे प्लेटफ़ॉर्म पर बिल्ड कर रहे हैं, तो इस टेस्ट को अपने प्री-रिलीज़ चेक में शामिल करें ताकि ऐप बदलने पर ट्रैकिंग सही रहे।
नामकरण कन्वेंशन “सही” होने के बारे में नहीं है, बल्कि संगत होने के बारे में है ताकि जब प्रोडक्ट बदले तो आपके चार्ट टूटें नहीं।
एक सरल नियम जो ज्यादातर SaaS ऐप के लिए काम करता है: verb_noun फॉर्म में snake_case। वर्ब स्पष्ट रखें और नाउन विशिष्ट।
आप कॉपी करने के लिए कुछ उदाहरण:
created_project, invited_teammate, uploaded_file, scheduled_demosubmitted_form (past tense पूरा हुआ एक्शन जैसा पढ़ता है)connected_integration, enabled_feature, exported_reportऐसी इवेंट्स के लिए जो “यह हुआ” बताती हैं, past tense प्राथमिकताएँ रखें। इससे अस्पष्टता हटती है। उदाहरण के लिए, started_checkout उपयोगी हो सकता है, पर तय करने के लिए completed_checkout ही ज़रूरी है।
UI-विशिष्ट नामों से बचें जैसे clicked_blue_button या pressed_save_icon। बटन बदलते हैं, लेआउट बदलते हैं, और आपका ट्रैकिंग सिर्फ पुराने स्क्रीन का इतिहास बन जाता है। underlying intent का नाम रखें: saved_settings या updated_profile।
नामों को स्थिर रखें भले UI बदले। अगर आप बाद में created_workspace को created_team कहते हैं, तो आपका activation चार्ट दो लाइनों में बंट सकता है और आप continuity खो देंगे। अगर नाम बदलना ही ज़रूरी है, तो इसे एक माइग्रेशन की तरह ट्रीट करें: पुराने को नए के साथ मैप करें और निर्णय को डॉक्यूमेंट करें।
एक छोटा सेट प्रीफिक्स इवेंट सूची को साफ़ रखता है और स्कैन करने में आसान बनाता है। कुछ चुनें और उन पर टिके रहें।
उदाहरण के लिए:
auth_ (signup, login, logout)onboarding_ (पहले वैल्यू तक ले जाने वाले कदम)billing_ (trial, checkout, invoices)admin_ (roles, permissions, org settings)यदि आप Koder.ai जैसे चैट-ड्रिवन बिल्डर में अपना SaaS बना रहे हैं, यह कन्वेंशन फिर भी काम करता है। कोई फीचर आज बना और कल redesign हो सकता है, पर created_project हर UI iteration में मायने रखता है।
अच्छे इवेंट नाम यह बताते हैं कि क्या हुआ। प्रॉपर्टीज़ बताते हैं कि किसने किया, कहाँ हुआ, और परिणाम क्या रहा। अगर आप एक छोटा, भविष्यवाणी योग्य सेट रखें, तो आपकी event tracking योजना सुविधाएँ जोड़ने पर भी पठनीय रहेगी।
लगभग हर इवेंट पर दिखाई देने वाली कुछ प्रॉपर्टीज़ चुनें। ये आपको ग्राहक प्रकार के अनुसार चार्ट को स्लाइस करने देते हैं बिना बाद में डैशबोर्ड बनाना पड़े।
एक व्यावहारिक कोर सेट:
user_id और account_id (किसने किया, और किस workspace में है)plan_tier (free, pro, business, enterprise)timestamp (कब हुआ, यदि संभव हो तो सर्वर से)app_version (रीलीज़ के बाद बदलाव पकड़ने के लिए)signup_source (कहाँ से आया: ads, referral, organic)फिर केवल वही संदर्भ जोड़ें जब वह इवेंट के अर्थ को बदल दे। उदाहरण: “Project Created” तब ज़्यादा उपयोगी है जब उसके साथ project_type या template_id हो, और “Invite Sent” तब ही कार्रवाई योग्य है जब seats_count हो।
जब भी कोई एक्शन असफल हो सकता है, एक स्पष्ट परिणाम शामिल करें। सरल success: true/false अक्सर काफी होता है। यदि असफल है, तो एक छोटा error_code जोड़ें (जैसे billing_declined या invalid_domain) ताकि आप बिना raw logs पढे समस्याओं को समूहित कर सकें।
एक वास्तविक उदाहरण: Koder.ai पर “Deploy Started” बिना outcome डेटा के भ्रमित करता है। success के साथ error_code जोड़ दें, और आप तेजी से देख पाएंगे कि नए यूज़र्स किस वजह से फेल कर रहे हैं (missing domain setup, credit limits, या region settings)।
नाम, प्रकार, और अर्थ एक बार तय करें और फिर उस पर टिके रहें। अगर plan_tier किसी इवेंट पर string है, तो किसी अन्य पर number न भेजें। synonyms से बचें (account_id vs workspace_id), और कभी भी किसी प्रॉपर्टी का अर्थ समय के साथ बदलें।
अगर आपको बेहतर वर्शन चाहिए, नया प्रॉपर्टी नाम बनाएं और पुराने को तब तक रखें जब तक आपने डैशबोर्ड माइग्रेट न कर लिया हो।
साफ़ ट्रैकिंग डेटा दो आदतों पर निर्भर है: केवल वही भेजें जिसकी ज़रूरत है, और गलतियों को ठीक करना आसान रखें।
शुरू में एनालिटिक्स को एक्शन लॉग की तरह ट्रीट करें, न कि पर्सनल डिटेल्स रखने की जगह। रॉ ईमेल, पूरे नाम, फोन नंबर, या कोई भी फ्री-टेक्स्ट फ़ील्ड (support notes, feedback boxes, chat messages) भेजने से बचें। फ्री-टेक्स्ट अक्सर संवेदनशील जानकारी रखता है जिसे आपने प्लान नहीं किया होता।
आंतरिक IDs का उपयोग करें। user_id, account_id, और workspace_id ट्रैक करें, और पर्सनल डेटा का मैप अपनी DB या CRM में रखें। अगर किसी teammate को किसी इवेंट को व्यक्ति से जोड़ने की ज़रूरत है, तो इसे अपने आंतरिक टूल्स के माध्यम से करें, न कि PII को एनालिटिक्स में कॉपी करके।
IP एड्रेसेस और लोकेशन डेटा के बारे में पहले निर्णय लें। कई टूल्स डिफ़ॉल्ट रूप से IP कैप्चर करते हैं, और “city/country” मामूली लग सकता है, पर यह भी निजी डेटा हो सकता है। एक तरीका चुनें और दस्तावेज़ करें: कुछ भी न स्टोर करें, केवल coarse location (country/region) स्टोर करें, या सुरक्षा के लिए अस्थायी रूप से IP रखें और बाद में हटा दें।
यहाँ एक सरल हाइजीन चेकलिस्ट है जिसे अपनी पहली डैशबोर्ड के साथ भेजें:
user_id और account_id के द्वारा)यदि आप Koder.ai पर अपना SaaS बना रहे हैं, तो वही नियम सिस्टम लॉग्स और स्नैपशॉट्स पर लागू करें: identifiers संगत रखें, PII को इवेंट पेलोड में न रखें, और लिखें कि कौन क्या और क्यों देख सकता है।
एक अच्छी event tracking योजना कच्चे क्लिक्स को ऐसे जवाबों में बदल देती है जिन पर आप कार्रवाई कर सकें। ये डैशबोर्ड दो चीज़ों पर केंद्रित हैं: लोग पहला वैल्यू कैसे पाते हैं, और क्या वे वापस आते हैं।
यदि आपने अपनी पहली वर्शन Koder.ai पर बनाई है, तो भी आप वही डैशबोर्ड इस्तेमाल कर सकते हैं — चाबी है संगत इवेंट्स।
error_shown, payment_failed, या integration_failed जैसी चीज़ों को ट्रैक करें। यहाँ स्पाइक्स activation और retention को चुपचाप मार देते हैं।कल्पना करें एक साधारण B2B SaaS है जिसमें 14-दिन का फ्री ट्रायल है। एक व्यक्ति साइनअप करता है, अपनी टीम के लिए एक workspace बनाता है, प्रोडक्ट आज़माता है, और (आदर्श रूप से) एक teammate को आमंत्रित करता है। आपका लक्ष्य है जल्दी सीखना कि लोग कहाँ फंसते हैं।
“पहला वैल्यू” परिभाषित करें: यूज़र एक workspace बनाता है और एक कोर टास्क पूरा करता है जो साबित करता है कि प्रोडक्ट उनके लिए काम करता है (उदाहरण: “CSV इम्पोर्ट करके पहला रिपोर्ट जनरेट करना”)। आपकी शुरुआती ट्रैकिंग का सब कुछ उसी क्षण की तरफ इशारा करना चाहिए।
यहाँ एक हल्का-फुल्का सेट इवेंट्स है जिसे आप पहले दिन शिप कर सकते हैं (नाम सरल verbs में past tense, स्पष्ट objects के साथ):
created_workspacecompleted_core_taskinvited_teammateहर इवेंट के लिए केवल इतना प्रॉपर्टी जोड़ें कि यह बताए क्यों वह हुआ (या क्यों नहीं)। अच्छे शुरुआती प्रॉपर्टीज़ हैं:
signup_source (google_ads, referral, founder_linkedin, आदि)template_id (किस शुरुआती सेटअप को चुना गया)seats_count (टीम इनवाइट्स के लिए खासकर)success (true/false) और जब success false हो तो छोटा error_codeअब अपने डैशबोर्ड की कल्पना करें। आपका activation फ़नल दिखाएगा: signed_up -> created_workspace -> completed_core_task. यदि आप workspace creation और core task के बीच बड़ा ड्रॉप देखते हैं, तो template_id और success के अनुसार सेगमेंट करें। आप सीख सकते हैं कि कोई एक टेम्प्लेट कई फेल रन ला रहा है (success=false), या किसी एक signup_source के यूज़र्स गलत टेम्प्लेट चुनते हैं और कभी वैल्यू तक नहीं पहुँचते।
फिर आपका “team expansion” व्यू (completed_core_task -> invited_teammate) बताएगा क्या लोग केवल सफल होने के बाद ही दूसरों को आमंत्रित करते हैं, या क्या invites जल्दी होते हैं पर आमंत्रित यूज़र्स कभी core task पूरा नहीं करते।
यही event tracking योजना का मक्सद है: सब कुछ इकट्ठा करने की बजाय, उस एक सबसे बड़े बॉटलनेक को ढूँढना जिसे आप अगले हफ्ते ठीक कर सकें।
ज़्यादातर ट्रैकिंग फेल्यर टूल्स की वजह से नहीं होते। वे तब होते हैं जब आपकी ट्रैकिंग बताती है कि लोग क्या क्लिक कर रहे हैं, पर यह नहीं बताती कि उन्होंने क्या हासिल किया। अगर आपका डेटा नहीं बता सकता "क्या यूज़र ने वैल्यू हासिल की?", तो आपकी योजना शोर से भरी लगेगी और आप फिर भी अंदाज़ा लगाते रहेंगे।
क्लिक्स ट्रैक करना आसान है और गलत पढ़ना भी आसान है। कोई यूज़र "Create project" तीन बार क्लिक कर सकता है और फिर भी असफल रह सकता है। उन इवेंट्स को प्राथमिकता दें जो प्रगति बताती हैं: created a workspace, invited a teammate, connected data, published, sent first invoice, completed first run।
यदि आप नाम बदलते रहते हैं ताकि वे हाल की UI टेक्स्ट से मेल खाएँ, तो आपके ट्रेंड टूट जाते हैं और आप सप्ताह दर सप्ताह संदर्भ खो देते हैं। एक स्थिर इवेंट नाम चुनें, फिर अर्थ को प्रॉपर्टीज़ के माध्यम से विकसित करें (उदाहरण: project_created रखें, यदि नया एंट्री पॉइंट जुड़ता है तो creation_source जोड़ें)।
यदि आप केवल user_id भेजते हैं, तो आप यह नहीं बता पाएंगे कि कौन से अकाउंट्स एक्टिवेट हुए, कौन से अकाउंट्स churn कर रहे हैं, और हर अकाउंट के अंदर कौन power user है। हमेशा एक account_id शामिल करें (और आदर्श रूप से role या seat_type) ताकि आप यूज़र और अकाउंट दोनों की रिटेंशन देख सकें।
ज़्यादा हमेशा बेहतर नहीं होता। विशाल, असंगत प्रॉपर्टी सेट खाली मान, वाक्यांश विविधताएँ और अजीब स्पेलिंग बनाते हैं, और डैशबोर्ड उन पर भरोसा नहीं करते। एक छोटा “हमेशा मौजूद” सेट रखें, और अतिरिक्त प्रॉपर्टीज़ केवल तब जोड़ें जब वे किसी खास सवाल का समर्थन करें।
रिलीज़ से पहले सत्यापित करें:
user_id, account_id जहाँ जरूरी हो)यदि आप Koder.ai पर अपना SaaS बना रहे हैं, तो ट्रैकिंग को किसी अन्य फीचर की तरह ट्रीट करें: अपेक्षित इवेंट्स परिभाषित करें, एक पूरा यूज़र जर्नी चलाएँ, और तभी शिप करें।
इवेंट जोड़ने से पहले सुनिश्चित करें कि आपका ट्रैकिंग पहला सप्ताह के सवालों के जवाब दे: क्या लोग पहला वैल्यू पा रहे हैं, और क्या वे वापस आ रहे हैं।
अपनी की फ्लोज़ से शुरुआत करें (signup, onboarding, first value, returning use). हर फ्लो के लिए 1–3 outcome इवेंट चुनें जो प्रगति साबित करें। यदि आप हर क्लिक ट्रैक करेंगे, तो आप शोर में डूब जाएंगे और फिर भी उस मोमेंट को मिस कर देंगे जो मायने रखता है।
सभी जगह एक नामकरण कन्वेंशन इस्तेमाल करें और इसे एक साधारण डॉक में लिखें। लक्ष्य यह हो कि दो लोग स्वतंत्र रूप से एक ही इवेंट का नाम रखें और दोनों का परिणाम समान हो।
यह एक त्वरित प्री-शिप चेक है जो अधिकांश शुरुआती गलतियों को पकड़ लेता है:
एक सरल QA ट्रिक: एक पूरा जर्नी दो बार करें। पहला रन activation की जाँच करता है। दूसरा रन (लॉगआउट और वापस लॉगिन करके, या अगले दिन वापस आकर) retention संकेतों की जाँच करता है और double-firing बग्स को पकड़ता है।
यदि आप Koder.ai के साथ बना रहे हैं, तो स्नैपशॉट/रोलबैक या कोड एक्सपोर्ट के बाद भी वही QA करें, ताकि ऐप बदलने पर ट्रैकिंग सही रहे।
आपका पहला ट्रैकिंग सेटअप छोटा महसूस होना चाहिए। अगर इसे लागू करने में हफ्ते लगते हैं, तो आप बाद में बदलने से बचेंगे, और डेटा प्रोडक्ट से पीछे रह जाएगा।
समान सरल साप्ताहिक रूटीन चुनें: वही डैशबोर्ड देखें, जो आश्चर्य हुआ उसे लिखें, और ट्रैकिंग तब ही बदलें जब उसके पीछे स्पष्ट वजह हो। लक्ष्य "ज़्यादा इवेंट्स" नहीं, बल्कि स्पष्ट जवाब है।
एक अच्छा नियम है कि 1–2 इवेंट्स एक समय में जोड़ें, हर एक इवेंट किसी एक ऐसे सवाल से जुड़ा हो जिसका आज उत्तर नहीं मिल रहा। उदाहरण: “क्या जो यूज़र्स teammate invite करते हैं वे ज़्यादा अक्सर activate होते हैं?” यदि आप पहले से invite_sent ट्रैक करते हैं पर invite_accepted नहीं, तो केवल वह इवेंट और एक सेगमेंटिंग प्रॉपर्टी (जैसे plan_tier) जोड़ें। शिप करें, एक सप्ताह डैशबोर्ड देखें, फिर अगला परिवर्तन तय करें।
एक सरल कैडेंस जो शुरुआती टीमों के लिए काम करता है:
एक छोटा चेंजलॉग रखें ताकि बाद में हर कोई नंबरों पर भरोसा करे। यह डॉक या रेपो नोट में रह सकता है। शामिल करें:
यदि आप अपनी पहली ऐप बना रहे हैं, तो लागू करने से पहले फ्लो की योजना बनाएं। Koder.ai में Planning Mode ऑनबोर्डिंग स्टेप्स को आउटलाइन करने और हर स्टेप के लिए आवश्यक इवेंट्स की सूची बनाने का व्यावहारिक तरीका है, कोड बनने से पहले।
जब आप ऑनबोर्डिंग पर पुनरावृत्ति करते हैं, तो अपनी ट्रैकिंग संगति की सुरक्षा करें। यदि आप Koder.ai स्नैपशॉट्स और रोलबैक का उपयोग करते हैं, तो आप स्क्रीन और स्टेप्स को समायोजित कर सकते हैं जबकि यह रिकॉर्ड रखें कि फ्लो कब बदला, ताकि activation में अचानक बदलावों को समझना आसान हो।