analytics.js कैसे काम करता है

Analytics.js की मदद से वे सभी काम किए जा सकते हैं जिन्हें आपको Analytics.js से मेज़र करना है. इसके लिए, ga() कमांड सूची का इस्तेमाल किया जा सकता है. इस गाइड में बताया गया है कि कमांड सूची क्या है, यह कैसे काम करती है, और उपयोगकर्ता इंटरैक्शन को मापने के लिए निर्देशों का इस्तेमाल कैसे करते हैं.

ga कमांड सूची

Google Analytics टैग एक ग्लोबल ga फ़ंक्शन के बारे में जानकारी देता है, जिसे "कमांड सूची" कहा जाता है. इसे कमांड सूची इसलिए भी कहा जाता है, क्योंकि इसमें मिलने वाले निर्देशों को तुरंत पूरा करने के बजाय, उन्हें एक सूची में जोड़ दिया जाता है. इससे, analytics.js लाइब्रेरी पूरी तरह लोड होने तक काम नहीं कर पाती.

JavaScript में, फ़ंक्शन भी ऑब्जेक्ट होते हैं, इसका मतलब है कि उनमें प्रॉपर्टी हो सकती हैं. Google Analytics टैग, ga फ़ंक्शन ऑब्जेक्ट पर q प्रॉपर्टी को खाली अरे के तौर पर बताता है. analytics.js लाइब्रेरी के लोड होने से पहले, ga() फ़ंक्शन को कॉल करने पर, ga() फ़ंक्शन को पास किए गए तर्कों की सूची को q कलेक्शन के आखिर में जोड़ा जाता है.

उदाहरण के लिए, अगर Google Analytics टैग को चलाने के बाद ga.q के कॉन्टेंट को कंसोल में लॉग किया जाता है, तो आपको एक कलेक्शन दिखेगा. इसमें, दो आइटम होंगे, जिनमें ga() फ़ंक्शन को पहले ही पास किए गए आर्ग्युमेंट के दो सेट होंगे:

console.log(ga.q);

// Outputs the following:
// [
//   ['create', 'UA-XXXXX-Y', 'auto'],
//   ['send', 'pageview']
// ]

analytics.js लाइब्रेरी लोड होने के बाद, यह ga.q कलेक्शन के कॉन्टेंट की जांच करती है और हर कमांड को क्रम से लागू करती है. इसके बाद, ga() फ़ंक्शन फिर से परिभाषित किया जाता है, ताकि बाद के सभी कॉल तुरंत लागू हो जाएं.

इस पैटर्न की मदद से डेवलपर, ga() कमांड सूची का इस्तेमाल कर सकते हैं. साथ ही, उन्हें इस बात की चिंता करने की ज़रूरत नहीं होती कि analytics.js लाइब्रेरी लोड हुई है या नहीं. यह एक आसान, सिंक्रोनस दिखने वाला इंटरफ़ेस उपलब्ध कराता है, जो एसिंक्रोनस कोड की ज़्यादातर जटिलताओं को ऐब्स्ट्रैक्ट करता है.

सूची में निर्देश जोड़ना

ga() कमांड सूची को किए जाने वाले सभी कॉल, एक जैसा हस्ताक्षर होते हैं. पहला पैरामीटर, "कमांड" एक ऐसी स्ट्रिंग है जो analytics.js के किसी खास तरीके की पहचान करती है. कोई भी अतिरिक्त पैरामीटर, ऐसे आर्ग्युमेंट होते हैं जो इस तरीके में पास किए जाते हैं.

कोई खास निर्देश जिस तरीके के बारे में बताता है वह ग्लोबल तरीका हो सकता है, जैसे कि create, ga ऑब्जेक्ट पर कोई तरीका या यह send जैसे किसी ट्रैकर ऑब्जेक्ट पर इंस्टेंस तरीका हो सकता है. अगर ga() कमांड क्यू को कोई ऐसा निर्देश मिलता है जिसे वह नहीं पहचानता, तो वह उसे अनदेखा कर देता है. इससे ga() फ़ंक्शन को कॉल करना बहुत सुरक्षित हो जाता है, क्योंकि इससे कभी भी गड़बड़ी नहीं होगी.

कमांड सूची के ज़रिए लागू किए जा सकने वाले सभी निर्देशों की पूरी सूची देखने के लिए, ga() कमांड क्यू रेफ़रंस देखें.

कमांड पैरामीटर

ज़्यादातर analytics.js निर्देश (और उनसे जुड़े तरीके) कई फ़ॉर्मैट में पैरामीटर स्वीकार करते हैं. ऐसा इसलिए किया जाता है, ताकि आम तौर पर इस्तेमाल किए जाने वाले फ़ील्ड को कुछ खास तरीकों में भेजना आसान हो जाए.

उदाहरण के लिए, Google Analytics टैग में दिए गए दो निर्देशों को देखें:

ga('create', 'UA-XXXXX-Y', 'auto');
ga('send', 'pageview');

पहले निर्देश में, create trackingId, cookieDomain, और name फ़ील्ड को वैकल्पिक तौर पर दूसरे, तीसरे, और चौथे पैरामीटर के तौर पर बताने के लिए स्वीकार करता है. send कमांड, hitType का दूसरा पैरामीटर स्वीकार करता है. हालांकि, यह ज़रूरी नहीं है.

सभी कमांड एक फ़ाइनल fieldsObject पैरामीटर को स्वीकार करते हैं. इसका इस्तेमाल, किसी भी फ़ील्ड के बारे में बताने के लिए भी किया जा सकता है. उदाहरण के लिए, टैग के ऊपर दिए गए दो निर्देशों को इस तरह से फिर से लिखा जा सकता है:

ga('create', {
  trackingId: 'UA-XXXXX-Y',
  cookieDomain: 'auto'
});
ga('send', {
  hitType: 'pageview'
});

हर कमांड के लिए जिन वैकल्पिक पैरामीटर की अनुमति है उनकी पूरी जानकारी पाने के लिए, ga() कमांड सूची का रेफ़रंस देखें.

अगले चरण

इस गाइड को पढ़ने के बाद, आपको analytics.js की मदद से कमांड देने और कमांड सूची के काम करने के तरीके की अच्छी जानकारी मिल जाएगी. अगली गाइड में ट्रैकर ऑब्जेक्ट बनाने का तरीका बताया गया है.