इस गाइड में बताया गया है कि जिन साइटों का कॉन्टेंट, पूरे पेज के पारंपरिक लोड के बिना डाइनैमिक तौर पर लोड होता है उन पर पेज गतिविधि को मेज़र करने के लिए, analytics.js का इस्तेमाल कैसे करें.
खास जानकारी
सिंगल पेज ऐप्लिकेशन (एसपीए) एक ऐसा वेब ऐप्लिकेशन या वेबसाइट है जो पूरी साइट पर नेविगेट करने के लिए, पहले पेज पर सभी ज़रूरी संसाधन लोड करती है. जैसे-जैसे उपयोगकर्ता लिंक पर क्लिक करता है और पेज से इंटरैक्ट करता है, वैसे-वैसे उसका कॉन्टेंट डाइनैमिक तौर पर लोड होता जाता है. ऐप्लिकेशन अक्सर परंपरागत पेज नेविगेशन के मुताबिक यूआरएल को पता बार में अपडेट करेगा, लेकिन पूरे पेज के लिए एक और अनुरोध नहीं किया जाएगा.
डिफ़ॉल्ट Google Analytics टैग, पारंपरिक वेबसाइटों के साथ अच्छी तरह से काम करता है. इसकी वजह यह है कि जब भी उपयोगकर्ता कोई नया पेज लोड करते हैं, तब स्निपेट कोड चलता है. हालांकि, एक पेज के जिस ऐप्लिकेशन में साइट, पेज का पूरा कॉन्टेंट लोड होने के बजाय डाइनैमिक तौर पर नए पेज का कॉन्टेंट लोड करती है वहां analytics.js स्निपेट कोड सिर्फ़ एक बार चलता है. इसका मतलब है कि नया कॉन्टेंट लोड होने पर, बाद के (वर्चुअल) पेज व्यू मैन्युअल तौर पर कैप्चर किए जाने चाहिए.
वर्चुअल पेज व्यू ट्रैक करना
जब आपका ऐप्लिकेशन, कॉन्टेंट को डाइनैमिक तौर पर लोड करता है और पता बार में यूआरएल को अपडेट करता है, तो आपके ट्रैकर पर सेव किए गए डेटा को भी अपडेट किया जाना चाहिए.
ट्रैकर को अपडेट करने के लिए, set
कमांड का इस्तेमाल करें और नई page
वैल्यू दें:
ga('set', 'page', '/new-page.html');
नई पेज वैल्यू सेट करने के बाद, इसके बाद भेजे जाने वाले सभी हिट, नई वैल्यू का इस्तेमाल करेंगे. पेज व्यू रिकॉर्ड करने के लिए, ट्रैकर अपडेट करने के तुरंत बाद पेज व्यू हिट भेजें.
ga('set', 'page', '/new-page.html'); ga('send', 'pageview');
तकनीकी तौर पर, पेज व्यू हिट के लिए send
कमांड, तीसरे पैरामीटर के तौर पर एक वैकल्पिक page
फ़ील्ड को स्वीकार करता है. हालांकि, किसी एक पेज के ऐप्लिकेशन को मेज़र करते समय, page
फ़ील्ड को इस तरीके से पास करने का सुझाव नहीं दिया जाता. ऐसा इसलिए होता है, क्योंकि send
कमांड से पास किए गए फ़ील्ड, ट्रैकर पर सेट नहीं किए जाते. वे सिर्फ़ मौजूदा हिट पर लागू होते हैं. ट्रैकर को अपडेट नहीं करने से, अगर आपका ऐप्लिकेशन नॉन-पेज व्यू हिट (उदाहरण के लिए, इवेंट या सोशल इंटरैक्शन) भेजता है, तो इससे समस्या हो सकती है. इसकी वजह यह है कि वे हिट, ट्रैकर बनाते समय उनकी page
वैल्यू से जुड़े होंगे.
एक ही संसाधन के लिए कई यूआरएल मैनेज करना
कुछ एसपीए, डाइनैमिक तौर पर कॉन्टेंट लोड करते समय, सिर्फ़ यूआरएल के हैश वाले हिस्से को अपडेट करते हैं. इससे ऐसी स्थितियां पैदा हो सकती हैं जिनमें कई अलग-अलग पेज पाथ एक ही संसाधन पर ले जाते हैं. ऐसे मामलों में, आम तौर पर कैननिकल यूआरएल चुनना बेहतर होता है और सिर्फ़ वह page
वैल्यू Google Analytics को भेजना होता है.
उदाहरण के लिए, ऐसी वेबसाइट के बारे में सोचें जिसके "हमारे बारे में जानकारी" पेज पर, इनमें से किसी भी यूआरएल के ज़रिए पहुंचा जा सकता हो:
/about.html
/#about.html
/home.html#about.html
अपनी रिपोर्ट में दोहराव से बचने के लिए, सभी पेज व्यू को /about.html
के तौर पर कैप्चर करना बेहतर होगा.
ज़रूरी बातें
दस्तावेज़ के रेफ़रल देने वाले को अपडेट न करें
जब create
कमांड का इस्तेमाल करके ट्रैकर ऑब्जेक्ट बनाया जाता है, तो document.referrer
की वैल्यू, ट्रैकर के referrer
फ़ील्ड में सेव हो जाती है. अगर किसी एक पेज के ऐप्लिकेशन, पूरे पेज लोड का इस्तेमाल नहीं करते, तो referrer
फ़ील्ड में हमेशा कोई बदलाव नहीं होगा.
इसके बावजूद, पेज व्यू हिट भेजने से पहले, रेफ़रर फ़ील्ड को मैन्युअल तौर पर अपडेट करना ज़रूरी नहीं है. Google Analytics अपने-आप सही नेविगेशन पाथ तय कर सकता है.
दस्तावेज़ की जगह की जानकारी अपडेट न करें
जिस तरह ट्रैकर referrer
फ़ील्ड के लिए document.referrer
का इस्तेमाल करता है उसी तरह यह location
फ़ील्ड के लिए document.location
का इस्तेमाल करता है. इसमें कैंपेन का डेटा या अन्य मेटा डेटा हो सकता है. यह डेटा, यूआरएल के आखिर में जोड़े गए क्वेरी पैरामीटर के रूप में मौजूद होता है.
Google Analytics जिस कैंपेन फ़ील्ड या अन्य मेटा डेटा की जांच कर रहा है उसे अपडेट करने से, मौजूदा सेशन खत्म हो सकता है और नया सेशन शुरू हो सकता है. इस समस्या से बचने के लिए, किसी एक पेज के ऐप्लिकेशन में वर्चुअल पेज व्यू का आकलन करते समय, location
फ़ील्ड को अपडेट न करें. इसके बजाय, page
फ़ील्ड का इस्तेमाल करें.
नए ट्रैकर न बनाएं
किसी एक पेज के ऐप्लिकेशन में नए ट्रैकर न बनाएं, ताकि इस बात की नकल की जा सके कि JavaScript ट्रैकिंग स्निपेट पारंपरिक वेबसाइटों के लिए जैसा करता है. ऐसा करने से, गलत रेफ़रर के साथ-साथ कैंपेन का गलत डेटा भी भेजा जा सकता है, जैसा कि ऊपर बताया गया है.