ट्रैकर पर फ़ील्ड डेटा पाने और उसे सेट करने के लिए, कभी-कभी ट्रैकर ऑब्जेक्ट के रेफ़रंस की ज़रूरत होती है. ga()
कमांड सूची में जोड़े गए निर्देश, सिंक्रोनस रूप से काम करते हैं और कोई वैल्यू नहीं दिखाते. साथ ही, आम तौर पर ट्रैकर create
कमांड का इस्तेमाल करके बनाए जाते हैं. इसलिए, ट्रैकर ऑब्जेक्ट का रेफ़रंस पाने के लिए, create
कमांड के चलने तक इंतज़ार करना पड़ता है. रेडी कॉलबैक का इस्तेमाल करके ऐसा किया जा सकता है.
तैयार कॉलबैक
रेडी कॉलबैक ऐसा फ़ंक्शन है जिसे ga()
कमांड सूची में जोड़ा जा सकता है. analytics.js लाइब्रेरी के पूरी तरह लोड होते ही फ़ंक्शन शुरू हो जाएगा और सूची में जोड़े गए सभी पिछले निर्देश लागू हो जाएंगे.
सूची में सभी निर्देश एक क्रम में लागू होते हैं. इसलिए, create
कमांड जोड़ने के बाद, सूची में एक तैयार कॉलबैक जोड़ने से यह पक्का होगा कि ट्रैकर बनाने के बाद, तैयार कॉलबैक एक्ज़ीक्यूट हो जाए. अगर एक तैयार कॉलबैक को शुरू करने पर एक डिफ़ॉल्ट ट्रैकर बनाया गया है, तो उसे कॉलबैक के पहले (और सिर्फ़) आर्ग्युमेंट के तौर पर पास किया जाता है.
नीचे दिया गया कोड दिखाता है कि डिफ़ॉल्ट ट्रैकर ऑब्जेक्ट को कैसे ऐक्सेस किया जाए और उसे कंसोल में कैसे लॉग किया जाए:
ga('create', 'UA-XXXXX-Y', 'auto');
ga(function(tracker) {
// Logs the tracker created above to the console.
console.log(tracker);
});
ga ऑब्जेक्ट विधियों से ट्रैकर पाना
अगर किसी डिफ़ॉल्ट ट्रैकर का इस्तेमाल नहीं किया जा रहा है या आपके पेज पर एक से ज़्यादा ट्रैकर हैं, तो ga
ऑब्जेक्ट तरीकों में से किसी एक तरीके से उन ट्रैकर को ऐक्सेस किया जा सकता है.
analytics.js लाइब्रेरी के पूरी तरह लोड हो जाने के बाद, यह ga
ऑब्जेक्ट में अन्य तरीके जोड़ देती है. इनमें से दो तरीके getByName
और getAll
का इस्तेमाल, ट्रैकर ऑब्जेक्ट को ऐक्सेस करने के लिए किया जाता है.
getByName
अगर आपको उस ट्रैकर का नाम पता है जिसे आपको ऐक्सेस करना है, तो getByName
तरीके का इस्तेमाल करके ऐसा किया जा सकता है:
ga('create', 'UA-XXXXX-Y', 'auto', 'myTracker');
ga(function() {
// Logs the "myTracker" tracker object to the console.
console.log(ga.getByName('myTracker'));
});
getAll
बनाए गए सभी ट्रैकर की कैटगरी पाने के लिए, getAll
वाला तरीका इस्तेमाल करें:
ga('create', 'UA-XXXXX-Y', 'auto', 'tracker1');
ga('create', 'UA-XXXXX-Z', 'auto', 'tracker2');
ga(function() {
// Logs an array of all tracker objects.
console.log(ga.getAll());
});
ट्रैकर पर सेव किया गया डेटा फ़ेच किया जा रहा है
ट्रैकर ऑब्जेक्ट का रेफ़रंस मिलने के बाद, उसके get
तरीके का इस्तेमाल करके, ट्रैकर में पहले से सेव किसी भी फ़ील्ड की वैल्यू को ऐक्सेस किया जा सकता है.
ga('create', 'UA-XXXXX-Y', 'auto');
ga(function(tracker) {
// Logs the trackers name.
// (Note: default trackers are given the name "t0")
console.log(tracker.get('name'));
// Logs the client ID for the current user.
console.log(tracker.get('clientId'));
// Logs the URL of the referring site (if available).
console.log(tracker.get('referrer'));
});
डेटा अपडेट करना
ट्रैकर ऑब्जेक्ट को set
तरीके का इस्तेमाल करके अपडेट किया जा सकता है. ट्रैकर के set
तरीके को, ट्रैकर ऑब्जेक्ट पर ही कॉल किया जा सकता है. इसके अलावा, ga()
कमांड सूची में set
कमांड जोड़कर भी ऐसा किया जा सकता है.
ट्रैकर ऑब्जेक्ट का रेफ़रंस पाने के लिए, तैयार कॉलबैक का इस्तेमाल करना ज़रूरी होता है. इसलिए, ट्रैकर को अपडेट करने के लिए, ga()
कमांड सूची का इस्तेमाल करना सही तरीका है.
ga()
कमांड सूची
set
कमांड को दो तरीकों से चालू किया जा सकता है: दो पैरामीटर, फ़ील्ड और उससे जुड़ी वैल्यू को पास करके या फ़ील्ड/वैल्यू पेयर के किसी ऑब्जेक्ट को पास करके.
इस उदाहरण में, डिफ़ॉल्ट ट्रैकर पर page
फ़ील्ड को '/about'
पर सेट किया गया है:
ga('set', 'page', '/about');
इस उदाहरण में, page
और title
फ़ील्ड को एक ही समय पर सेट किया गया है:
ga('set', {
page: '/about',
title: 'About Us'
});
नाम वाले ट्रैकर का इस्तेमाल करना
अगर डिफ़ॉल्ट ट्रैकर के बजाय, नाम वाले ट्रैकर का इस्तेमाल किया जा रहा है, तो कमांड स्ट्रिंग में उसका नाम पास किया जा सकता है.
यह कॉल, "myTracker" नाम के ट्रैकर पर page
फ़ील्ड सेट करता है:
ga('myTracker.set', 'page', '/about');
ट्रैकर ऑब्जेक्ट पर ही
अगर आपके पास ट्रैकर ऑब्जेक्ट का रेफ़रंस है, तो उस ट्रैकर के set
तरीके को सीधे कॉल किया जा सकता है:
ga(function(tracker) {
tracker.set('page', '/about');
});
एंपरसैंड सिंटैक्स
आम तौर पर, ट्रैकर फ़ील्ड उनके फ़ील्ड के नाम का इस्तेमाल करके मिलते हैं और सेट किए जाते हैं. (analytics.js फ़ील्ड और उनके नामों की पूरी सूची के लिए, फ़ील्ड रेफ़रंस देखें.)
फ़ील्ड को पाने और उन्हें सेट करने का एक वैकल्पिक तरीका यह है कि उन्हें उनके संबंधित मेज़रमेंट प्रोटोकॉल पैरामीटर के नामों से रेफ़र किया जाए.
उदाहरण के लिए, नीचे दिए गए दो console.log
एक्सप्रेशन, दोनों ही दस्तावेज़ के टाइटल को कंसोल पर लॉग करते हैं:
ga(function(tracker) {
// Gets the title using the analytics.js field name.
console.log(tracker.get('title'));
// Gets the title using the measurement protocol
// parameter name, prefixed with an ampersand.
console.log(tracker.get('&dt'));
});
आम तौर पर, एंपरसैंड सिंटैक्स का सुझाव नहीं दिया जाता है. इसका इस्तेमाल सिर्फ़ तब किया जाना चाहिए, जब किसी मेज़रमेंट प्रोटोकॉल पैरामीटर के लिए analytics.js फ़ील्ड का नाम मौजूद न हो. ऐसा तब भी होता है, जब analytics.js में, मेज़रमेंट प्रोटोकॉल में कोई नई सुविधा लागू होने से पहले ही कोई नई सुविधा जोड़ दी जाए.
अगले चरण
अब जब आपने ट्रैकर बनाने और उन पर सेव किए गए डेटा को अपडेट करने का तरीका जान लिया है, तो अगला चरण प्रोसेस करने के लिए उस डेटा को Google Analytics को भेजने का तरीका जानना.