एक नज़र में
जब Universal Analytics का ग्राहक, आईपी पते को मास्क करने का अनुरोध करता है, तब Analytics, तकनीकी तौर पर जितनी जल्दी हो सके उतनी जल्दी आईपी पते में काट-छांट करता है. Universal Analytics में आईपी पते को मास्क करने की सुविधा, उपयोगकर्ताओं के IPv4 आईपी पतों के आखिरी ऑक्टेट और IPv6 पतों के आखिरी 80 बिट को मेमोरी में शून्य पर सेट कर देती है. ऐसा, Google Analytics को आईपी पता भेजने के तुरंत बाद किया जाता है. इस मामले में, डिस्क पर कभी भी पूरा आईपी पता नहीं लिखा जाता.
भौगोलिक डाइमेंशन, बाद में उन आईपी पतों से ही लिए जाते हैं जिनमें काट-छांट की जा चुकी है.
Universal Analytics में, आईपी पते को मास्क करने की सुविधा ऑप्ट-इन की जाती है. इसे लागू करने का तरीका, नीचे दिए गए "ज़्यादा जानकारी" सेक्शन में बताया गया है.
ज़्यादा जानकारी
Analytics में anonymize_ip की सुविधा, gtag.js लाइब्रेरी में gtag('config', '<GA_MEASUREMENT_ID>', { 'anonymize_ip': true })
उपलब्ध है. इसकी मदद से, वेबसाइट के मालिक अपने प्रॉडक्ट के सभी उपयोगकर्ताओं के आईपी पतों को मास्क करने का अनुरोध कर सकते हैं. यह सुविधा इसलिए डिज़ाइन की गई है, ताकि साइट के मालिक अपनी निजता नीतियों का पालन कर सकें या कुछ देशों में लोकल डेटा प्रोटेक्शन अथॉरिटी के सुझावों पर अमल कर सकें. इस तरह, आईपी पते की पूरी जानकारी को स्टोर करने से रोका जा सकेगा. आईपी पते में काट-छांट करने या उसे मास्क करने का काम, Google Analytics को डेटा मिलते ही शुरू हो जाता है. ऐसा, डेटा को स्टोर करने या प्रोसेस करने के पहले होता है.
Analytics के डेटा कलेक्शन की प्रोसेस में आईपी पते को मास्क करने का काम, दो चरणों में पूरा होता है: JavaScript टैग और कलेक्शन नेटवर्क. इन चरणों से जुड़ी ज़्यादा जानकारी नीचे दी गई है.
Analytics JavaScript टैग
जब JavaScript की सुविधा वाला कोई वेब ब्राउज़र, Analytics टैग वाले किसी पेज को लोड करता है, तब यह एसिंक्रोनस तरीके से दो काम करता है: Analytics फ़ंक्शन सूची को लोड करने के बाद प्रोसेस करना और Analytics JavaScript का अनुरोध करना. फ़ंक्शन सूची, JavaScript का एक कलेक्शन है. इसमें अलग-अलग Analytics कॉन्फ़िगरेशन और डेटा इकट्ठा करने के फ़ंक्शन को पुश मेथड का इस्तेमाल करके शामिल किया जाता है. साइट का मालिक Analytics को लागू करते समय इन फ़ंक्शन को सेट करता है. इनमें, Analytics खाता नंबर के साथ-साथ Google Analytics को प्रोसेस करने के लिए, असल में पेज व्यू डेटा भेजने वाले फ़ंक्शन शामिल किए जा सकते हैं.
जब Analytics JavaScript, फ़ंक्शन सूची से कोई ऐसा फ़ंक्शन चलाती है जिससे Google Analytics को भेजने वाला डेटा ट्रिगर होता है, तब यह http://www.google-analytics.com/collect के लिए एचटीटीपी अनुरोध से जुड़े यूआरएल पैरामीटर के रूप में डेटा भेजता है. आम तौर पर, यह फ़ंक्शन gtag.js लाइब्रेरी में gtag('config', '<GA_MEASUREMENT_ID>'
) होता है. अगर मास्क करने वाला फ़ंक्शन, पेज को ट्रैक करने वाले फ़ंक्शन के पहले कॉल किया गया है, तो पिक्सल के अनुरोध में एक और पैरामीटर जोड़ दिया जाता है. आईपी पते को मास्क करने वाला पैरामीटर ऐसा दिखता है:
&aip=1
Analytics का कलेक्शन नेटवर्क
Analytics का कलेक्शन नेटवर्क, दो मुख्य सेवाएं देने वाले कई सर्वर का एक सेट है: gtag.js (Analytics JavaScript) लागू करना और /collect के लिए अनुरोध किए गए डेटा को कलेक्ट करना.
जब gtag.js का अनुरोध मिलता है, तब इसके एचटीटीपी अनुरोध के हेडर यानी कि जो ब्राउज़र इस्तेमाल किया जा रहा है और टीसीपी/आईपी के हेडर यानी कि अनुरोध करने वाले के आईपी पते में ज़्यादा जानकारी शामिल होती है.
अनुरोध मिलते ही काट-छांट करने के लिए उसे मेमोरी में स्टोर कर लिया जाता है. अगर अनुरोध के यूआरएल में &aip=1 पैरामीटर होता है, तो उपयोगकर्ता के आईपी पते की आखिरी ऑक्टेट को मेमोरी में ही शून्य पर सेट कर दिया जाता है. उदाहरण के लिए, अगर आईपी पता 12.214.31.144 है, तो वह बदलकर 12.214.31.0 हो जाएगा. अगर आईपी पता कोई IPv6 पता है, तो 128 बिट के आखिरी 80 बिट, शून्य पर सेट कर दिए जाते हैं. काट-छांट करने के बाद ही अनुरोध को प्रोसेस करने के लिए, डिस्क पर स्टोर किया जाता है. अगर आईपी पते में काट-छांट की जाती है, तो डिस्क पर कभी भी पूरा आईपी पता नहीं लिखा जाता, क्योंकि पते में काट-छांट की प्रोसेस, अनुरोध मिलते ही मेमोरी में तुरंत पूरी हो जाती है.