एनालिटिक्स ट्रैकिंग: प्राइवेसी-फर्स्ट इवेंट कलेक्शन

यह लेख बताता है कि हम प्राइवेसी का सम्मान करते हुए और बॉट ट्रैफिक से बचते हुए यूजर व्यवहार को कैसे ट्रैक करते हैं।

समस्या: यूजर व्यवहार को समझना

हमें जानना आवश्यक है:

  • यूजर कौन से पेज देखते हैं

  • वे कौन से प्रोडक्ट देखते हैं

  • ट्रैफिक कहाँ से आता है (Google Ads, ऑर्गेनिक, सोशल)

  • कौन से कैंपेन कन्वर्ज़न लाते हैं

लेकिन हमें इनसे बचना चाहिए:

  • बॉट्स और क्रॉलर्स को ट्रैक करना

  • व्यक्तिगत रूप से पहचान योग्य जानकारी (PII) स्टोर करना

  • प्राइवेसी नियमों का उल्लंघन करना

समाधान: क्लाइंट-साइड + सर्वर-साइड ट्रैकिंग

क्लाइंट-साइड: जावास्क्रिप्ट ट्रैकिंग

विज़िटर आईडी: कुकी में स्टोर रैंडम आईडी (365 दिन)

सेशन आईडी: sessionStorage में स्टोर रैंडम आईडी (ब्राउज़र बंद होने तक)

कैंपेन पैरामीटर: URL से निकाले जाते हैं और sessionStorage में स्टोर किए जाते हैं

ट्रैक किए गए पैरामीटर:

  • gclid - Google क्लिक आईडी (Search ads)

  • gbraid - Google Ads क्लिक आईडी (Shopping ads)

  • wbraid - Google Ads क्लिक आईडी (iOS)

  • fbclid - Facebook क्लिक आईडी

  • srsltid - Google ऑर्गेनिक सर्च रिजल्ट आईडी

  • utm_source, utm_medium, utm_campaign, utm_term, utm_content

स्टोरेज: व्हाट्सएप/फोन क्लिक एट्रिब्यूशन के लिए पैरामीटर कुकीज़ में स्टोर (30 मिनट)

सर्वर-साइड: एनरिचमेंट

सर्वर इवेंट्स को इनसे समृद्ध करता है:

जियोआईपी डेटा: IP एड्रेस से देश, क्षेत्र, शहर

यूजर-एजेंट पार्सिंग: ब्राउज़र, OS, डिवाइस प्रकार

टाइमस्टैम्प: सर्वर समय (UTC)

बॉट डिटेक्शन: ज्ञात बॉट यूजर-एजेंट फ़िल्टर करता है

इवेंट प्रकार

पेज व्यू: यूजर एक पेज देखता है

प्रोडक्ट व्यू: यूजर प्रोडक्ट पेज देखता है

कार्ट में जोड़ें: यूजर प्रोडक्ट को कार्ट में जोड़ता है

चेकआउट: यूजर चेकआउट शुरू करता है

खरीदारी: यूजर खरीदारी पूरी करता है

व्हाट्सएप क्लिक: यूजर व्हाट्सएप बटन पर क्लिक करता है

फोन क्लिक: यूजर फोन नंबर पर क्लिक करता है

डेटा फ्लो

sequenceDiagram
    participant User
    participant JS as JavaScript
    participant API as /api/analytics
    participant Firehose as Kinesis Firehose
    participant S3
    
    User->>JS: Visit page
    JS->>JS: Extract URL params
(gclid, utm_*, etc.) JS->>JS: Store in sessionStorage JS->>API: POST event + params API->>API: Enrich with GeoIP API->>API: Parse User-Agent API->>API: Filter bots API->>Firehose: Send enriched event Firehose->>S3: Store in analytics bucket

बॉट डिटेक्शन

हम कई सिग्नल का उपयोग करके बॉट ट्रैफ़िक को फ़िल्टर करते हैं:

यूजर-एजेंट पैटर्न: ज्ञात बॉट स्ट्रिंग्स (Googlebot, Bingbot, आदि)

व्यवहार पैटर्न: बहुत तेज़, बहुत सारे रिक्वेस्ट

जावास्क्रिप्ट गायब: बॉट्स अक्सर JS नहीं चलाते

एक्सक्लूज़न कुकी: tv_exclude=true सभी ट्रैकिंग रोक देता है

प्राइवेसी सुरक्षा

कोई PII नहीं: हम कभी भी नाम, ईमेल, फोन नंबर स्टोर नहीं करते

अनामित IPs: स्टोरेज से पहले आखिरी ऑक्टेट हटा दिया जाता है

क्रॉस-साइट ट्रैकिंग नहीं: कुकीज़ केवल फर्स्ट-पार्टी हैं

ऑप्ट-आउट: यूजर एक्सक्लूज़न कुकी सेट कर सकते हैं

डेटा रिटेंशन: इवेंट्स 90 दिनों के बाद हटा दिए जाते हैं

कंडीशनल पिक्सल लोडिंग

हम ट्रैकिंग पिक्सल केवल तभी लोड करते हैं जब प्रासंगिक हो:

Google Ads पिक्सल: केवल अगर gclid, gbraid, या wbraid मौजूद हो

LinkedIn पिक्सल: केवल अगर msclkid मौजूद हो

Facebook पिक्सल: केवल अगर fbclid मौजूद हो

लाभ: तेज़ पेज लोड, कम ट्रैकिंग ओवरहेड

ट्रैफिक सोर्स डिटेक्शन

हम URL पैरामीटर से ट्रैफिक सोर्स का पता लगाते हैं:

Google Ads: gclid, gbraid, wbraidutm_source=google_ads

Google ऑर्गेनिक: srsltidutm_source=google_search

Facebook: fbclidutm_source=facebook

LinkedIn: msclkidutm_source=linkedin

डायरेक्ट: कोई पैरामीटर नहीं → utm_source=direct

कन्वर्ज़न ट्रैकिंग

हम फनेल के माध्यम से कन्वर्ज़न ट्रैक करते हैं:

प्रोडक्ट व्यूकार्ट में जोड़ेंचेकआउटखरीदारी

प्रत्येक चरण शामिल करता है:

  • विज़िटर आईडी (एट्रिब्यूशन के लिए)

  • सेशन आईडी (सेशन विश्लेषण के लिए)

  • कैंपेन पैरामीटर (ROI गणना के लिए)

  • प्रोडक्ट SKU (प्रोडक्ट विश्लेषण के लिए)

लीड टच ट्रैकिंग

जब यूजर हमसे संपर्क करते हैं (व्हाट्सएप, फोन, ईमेल), हम कैप्चर करते हैं:

संपर्क विधि: व्हाट्सएप, फोन, ईमेल

कैंपेन पैरामीटर: कुकीज़ से (30-मिनट की विंडो)

प्रोडक्ट संदर्भ: वे किस प्रोडक्ट पेज पर थे

लाभ: ऑफ़लाइन कन्वर्ज़न को ऑनलाइन कैंपेन से जोड़ना

रेट लिमिटिंग

एनालिटिक्स एंडपॉइंट रेट-लिमिटेड है:

लिमिट: प्रति IP प्रति 10 मिनट में 100 रिक्वेस्ट

लाभ: दुरुपयोग और बॉट फ्लड को रोकता है

स्टोरेज

इवेंट्स Kinesis Firehose के माध्यम से S3 में स्टोर किए जाते हैं:

फॉर्मेट: JSON लाइन्स (प्रति लाइन एक इवेंट)

पार्टीशनिंग: तारीख के अनुसार (वर्ष/महीना/दिन/घंटा)

कम्प्रेशन: Gzip

रिटेंशन: 90 दिन

क्वेरीइंग

इवेंट्स AWS Athena के माध्यम से क्वेरी किए जाते हैं:

स्कीमा: Glue Data Catalog में परिभाषित

क्वेरीज़: S3 डेटा पर SQL

उपयोग के मामले: कैंपेन ROI, प्रोडक्ट लोकप्रियता, ट्रैफिक स्रोत

संदर्भ

तकनीकी अवधारणाएँ

AWS सेवाएँ

  • Kinesis Firehose - AWS डॉक्यूमेंटेशन

  • Athena - AWS डॉक्यूमेंटेशन

संबंधित लेख

सारांश

हमारी एनालिटिक्स प्रणाली प्राइवेसी का सम्मान करते हुए यूजर व्यवहार को ट्रैक करती है:

क्लाइंट-साइड:

  • ✅ URL से कैंपेन पैरामीटर निकालें

  • ✅ sessionStorage में स्टोर करें (सेशन-स्कोप्ड)

  • ✅ कुकीज़ में स्टोर करें (एट्रिब्यूशन के लिए 30 मिनट)

  • ✅ API को इवेंट्स भेजें

सर्वर-साइड:

  • ✅ जियोआईपी और यूजर-एजेंट से समृद्ध करें

  • ✅ बॉट ट्रैफ़िक फ़िल्टर करें

  • ✅ Kinesis Firehose को भेजें

  • ✅ S3 में स्टोर करें (तारीख के अनुसार पार्टीशन किया गया)

प्राइवेसी:

  • ✅ कोई PII स्टोर नहीं

  • ✅ अनामित IPs

  • ✅ केवल फर्स्ट-पार्टी कुकीज़

  • ✅ ऑप्ट-आउट उपलब्ध

  • ✅ 90-दिन की रिटेंशन

कंडीशनल लोडिंग:

  • ✅ Google Ads पिक्सल केवल अगर gclid मौजूद हो

  • ✅ LinkedIn पिक्सल केवल अगर msclkid मौजूद हो

  • ✅ Facebook पिक्सल केवल अगर fbclid मौजूद हो

यह दृष्टिकोण अंतर्दृष्टि को प्राइवेसी और प्रदर्शन के साथ संतुलित करता है।


← डॉक्यूमेंटेशन इंडेक्स पर वापस जाएँ