इस दस्तावेज़ में बताया गया है कि मेज़रमेंट प्रोटोकॉल का इस्तेमाल करके, Google Analytics को डेटा कैसे भेजा जाता है.
खास जानकारी
मेज़रमेंट प्रोटोकॉल का इस्तेमाल करके, Google Analytics को डेटा दो हिस्सों में भेजा जाता है:
- ट्रांसपोर्ट – डेटा कहां और कैसे भेजा जाता है
- पेलोड – आपका भेजा जाने वाला डेटा
इस दस्तावेज़ में दोनों को फ़ॉर्मैट करने का तरीका बताया गया है.
परिवहन
यूआरएल एंडपॉइंट
मेज़रमेंट प्रोटोकॉल का इस्तेमाल करके, नीचे दिए गए एंड पॉइंट पर एचटीटीपी अनुरोध करके डेटा भेजा जाता है:
https://www.google-analytics.com/collect
सारा डेटा, एचटीटीपीएस प्रोटोकॉल की मदद से सुरक्षित तरीके से भेजा जाना चाहिए.
POST या GET अनुरोधों का इस्तेमाल करके डेटा भेजा जा सकता है.
POST का इस्तेमाल किया जा रहा है
हम आपको POST के ज़रिए डेटा भेजने का सुझाव देते हैं, क्योंकि इससे एक बड़ा पेलोड मिल सकता है. POST का इस्तेमाल करते समय, यह एचटीटीपी अनुरोध करें:
User-Agent: user_agent_string POST https://www.google-analytics.com/collect payload_data
जगह:
- user_agent_string – यह
फ़ॉर्मैट की गई उपयोगकर्ता एजेंट स्ट्रिंग है. इसका इस्तेमाल,
इन डाइमेंशन को कैलकुलेट करने के लिए किया जाता है: ब्राउज़र, प्लैटफ़ॉर्म, और मोबाइल की क्षमताओं.
अगर यह वैल्यू सेट नहीं है, तो ऊपर दिए गए डेटा की गिनती नहीं की जाएगी.
- payload_data – पोस्ट के अनुरोध का
BODY
. मुख्य भाग में ठीक एक यूआरआई वाला पेलोड शामिल होना चाहिए जिसे कोड में बदला गया हो. साथ ही, यह 8192 बाइट से ज़्यादा का नहीं होना चाहिए. - आईपी पता – यह साफ़ तौर पर एचटीटीपी अनुरोध में भेजा जाता है और इसका इस्तेमाल Google Analytics में सभी भौगोलिक / नेटवर्क डाइमेंशन की गिनती करने के लिए किया जाता है.
GET
जिन एनवायरमेंट में POST डेटा नहीं भेजा जा सकता उनके लिए एक ही एंड पॉइंट पर एचटीटीपी जीईटी अनुरोध भी भेजे जा सकते हैं:
GET /collect?payload_data HTTP/1.1 Host: https://www.google-analytics.com User-Agent: user_agent_string
जहां पेलोड डेटा को यूआरआई एस्केप्ड क्वेरी पैरामीटर के तौर पर भेजा जाता है. कोड में बदले गए पूरे यूआरएल की लंबाई 8,000 बाइट से ज़्यादा नहीं होनी चाहिए.
कैश बस्टिंग
ब्राउज़र जैसे कुछ एनवायरमेंट में, एचटीटीपी जीईटी अनुरोधों को कैश मेमोरी में सेव किया जा सकता है.
जब किसी अनुरोध को कैश मेमोरी में सेव किया जाता है, तो हो सकता है कि बाद के अनुरोधों को कैश मेमोरी से वापस लाया जाए और Google Analytics को न भेजा जाए. कैश मेमोरी का इस्तेमाल करने के लिए,
मेज़रमेंट प्रोटोकॉल एक खास पैरामीटर (z
) देता है, जिसे किसी रैंडम नंबर से सेट किया जा सकता है. इससे यह पक्का होता है कि
मेज़रमेंट प्रोटोकॉल के सभी अनुरोध यूनीक हैं. साथ ही, इसके बाद के अनुरोध
कैश मेमोरी से नहीं लिए जाते.
हमारा सुझाव है कि कैश बस्टर का इस्तेमाल करते समय, इस पैरामीटर को पेलोड में last पैरामीटर के तौर पर जोड़ें.
https://www.google-analytics.com/collect?payload_data&z=123456
रिस्पॉन्स कोड
अगर एचटीटीपी अनुरोध मिला है, तो मेज़रमेंट प्रोटोकॉल, 2xx
स्टेटस कोड
दिखाएगा. अगर पेलोड डेटा गलत
था या पेलोड में मौजूद डेटा गलत है या
Google Analytics ने उसे प्रोसेस नहीं किया था, तो मेज़रमेंट प्रोटोकॉल गड़बड़ी कोड नहीं दिखाता.
अगर आपको 2xx
स्टेटस कोड नहीं मिलता है, तो फिर से अनुरोध
न करें. इसके बजाय, आपको एचटीटीपी अनुरोध में मौजूद गड़बड़ियों को रोकना और उन्हें ठीक करना चाहिए.
पेलोड डेटा
Google Analytics, मेज़रमेंट प्रोटोकॉल का इस्तेमाल करके जो डेटा इकट्ठा करता है उसे
पेलोड के तौर पर भेजा जाता है. पेलोड, यूआरएल क्वेरी स्ट्रिंग जैसा होता है. इसमें हर पैरामीटर में एक कुंजी और वैल्यू होती है और उसे =
वर्ण से अलग किया जाता है. साथ ही, हर पेयर को &
वर्ण से अलग किया जाता है.
उदाहरण के लिए:
key1=val1&key2=val2
हर पेलोड को कंट्रोल करने वाले नियम होते हैं: ज़रूरी वैल्यू, यूआरआई को कोड में बदलने का तरीका, ऐसे पैरामीटर जिन्हें एक साथ भेजा जा सकता है, और पैरामीटर की लंबाई. साथ ही, हर पैरामीटर का एक खास टाइप होता है, जिसके लिए एक खास फ़ॉर्मैट की ज़रूरत होती है. इन नियमों के नीचे दिए गए सेक्शन में बताया गया है.
मेज़रमेंट प्रोटोकॉल का इस्तेमाल करके भेजे जा सकने वाले सभी पैरामीटर की पूरी लिस्ट के लिए, पैरामीटर का रेफ़रंस पढ़ें.
सभी हिट के लिए ज़रूरी वैल्यू
हर पेलोड में ये पैरामीटर होने चाहिए:
नाम | पैरामीटर | उदाहरण | ब्यौरा |
---|---|---|---|
प्रोटोकॉल वर्शन | v |
v=1 |
प्रोटोकॉल का वर्शन. वैल्यू 1 होनी चाहिए. |
ट्रैकिंग आईडी | tid |
tid=UA-123456-1 |
वह आईडी जिससे यह पता चलता है कि किस Google Analytics प्रॉपर्टी को डेटा भेजना है. |
Client ID | cid |
cid=xxxxx |
किसी खास उपयोगकर्ता के लिए यूनीक आईडी. |
हिट टाइप | t |
t=pageview |
किसी खास उपयोगकर्ता के लिए इकट्ठा किए गए इंटरैक्शन का टाइप. |
Client ID
और Hit Type
डेटा ऐसी वैल्यू होती हैं जो सीधे Google Analytics के डेटा मॉडल पर मैप करती हैं.
अगर आपको /pageA
, /pageB
, और /pageC
पर गए उपयोगकर्ता 5555
को ट्रैक करना है, तो आपको ये तीन पेलोड भेजने होंगे:
v=1&tid=UA-123456-1&cid=5555&t=pageview&dp=%2FpageA v=1&tid=UA-123456-1&cid=5555&t=pageview&dp=%2FpageB v=1&tid=UA-123456-1&cid=5555&t=pageview&dp=%2FpageC
ध्यान दें कि /
को %2F
में एन्कोड किया गया था.
यूआरएल को कोड में बदलने के लिए इस्तेमाल की जाने वाली वैल्यू
Google Analytics को भेजी जाने वाली सभी वैल्यू, UTF-8 और
यूआरएल को कोड में बदली गई, दोनों फ़ॉर्मैट में होनी चाहिए.
/my page €
वैल्यू के साथ dp
कुंजी भेजने के लिए, सबसे पहले आपको यह पक्का करना होगा कि इसे
UTF-8 कोड में बदला गया है. इसके बाद, यूआरएल को कोड में बदला गया है, जिससे फ़ाइनल स्ट्रिंग जनरेट होगी:
dp=%2Fmy%20page%20%E2%82%AC
अगर किसी वर्ण को गलत तरीके से कोड में बदला गया है, तो उसे
यूनिकोड बदलने वाले वर्ण xFFFD
से बदल दिया जाएगा.
कुछ हिट टाइप के लिए ज़रूरी वैल्यू
कुछ पैरामीटर सिर्फ़ खास तरह के हिट के साथ भेजे जा सकते हैं.
उदाहरण के लिए, pageview
हिट टाइप के लिए
पेज पाथ पैरामीटर (dp
) भी सेट होना ज़रूरी है. पैरामीटर रेफ़रंस
से पता चलता है कि
किस तरह के हिट के लिए कौनसे पैरामीटर ज़रूरी हैं.
अधिकतम लंबाई
मेज़रमेंट प्रोटोकॉल में कुछ टेक्स्ट वैल्यू की लंबाई, बाइट में तय होती है. उदाहरण के लिए, दस्तावेज़ के रेफ़रल देने वाले फ़ील्ड dr
की ज़्यादा से ज़्यादा लंबाई 2,048 बाइट है. अगर कोई भी वैल्यू, तय सीमा से ज़्यादा है, तो उसे अपने-आप छोटा कर दिया जाएगा. अगर मल्टी-बाइट वर्ण की लंबाई
तय सीमा से ज़्यादा है, तो पूरे वर्ण को काट दिया जाएगा.
ऐसे डेटा टाइप जिनके साथ PostgreSQL कनेक्टर काम करता है
मेज़रमेंट प्रोटोकॉल में हर डेटा फ़ील्ड एक खास तरह का होता है. हर डेटा फ़ील्ड के लिए, पुष्टि करने के अपने नियम होते हैं. अगर कोई भी पैरामीटर वैल्यू, पुष्टि करने के नियमों के मुताबिक नहीं है, तो उस पैरामीटर को अनदेखा कर दिया जाएगा. साथ ही, Google Analytics उसे प्रोसेस नहीं करेगा. अन्य सभी पैरामीटर सामान्य तरीके से प्रोसेस किए जाएंगे.
मेज़रमेंट प्रोटोकॉल, इस तरह के डेटा के साथ काम करता है:
ध्यान दें कि अलग-अलग डेटा फ़ील्ड की अपनी पाबंदियां हो सकती हैं. सभी डेटा फ़ील्ड और स्वीकार किए जाने वाले टाइप की पूरी सूची देखने के लिए, फ़ील्ड रेफ़रंस देखें.
टेक्स्ट
इसका इस्तेमाल स्ट्रिंग दिखाने के लिए किया जाता है. टेक्स्ट फ़ील्ड में अतिरिक्त प्रोसेसिंग की जाती है. आगे और पीछे की सभी खाली सफ़ेद जगहों को हटा दिया जाता है. दो या उससे ज़्यादा खाली सफ़ेद जगह वाले वर्णों (जिनमें स्पेस, टैब, नई लाइनें वगैरह शामिल हैं) को कम करके एक स्पेस वर्ण बना दिया गया है. यह ट्रांसफ़ॉर्मेशन, रॉ टेक्स्ट पर किसी भी कांट-छांट से पहले लागू किया जाता है. उदाहरण के लिए:
Hello World
यह हो जाएगा:
Hello World
मुद्रा
इसका इस्तेमाल किसी मुद्रा की कुल वैल्यू को दिखाने के लिए किया जाता है. दशमलव बिंदु का इस्तेमाल, मुद्रा के पूरे और फ़्रैक्शनल हिस्से के बीच डीलिमिटर के तौर पर किया जाता है. परिशुद्धता अधिकतम 6 दशमलव स्थानों तक है. यह जानकारी मुद्रा फ़ील्ड के लिए मान्य है:
1000.000001
Google Analytics को वैल्यू भेजने के बाद, पहला अंक, -
वर्ण या .
(दशमलव) वर्ण तक का पूरा टेक्स्ट हटा दिया जाता है. इसलिए:
$-55.00
यह हो जाएगा:
-55.00
बूलियन
इसका इस्तेमाल यह पता लगाने के लिए किया जाता है कि कोई वैल्यू सही है या गलत. मान्य मान हैं:
1
– सही0
– गलत
पूरी संख्या
इसका इस्तेमाल किसी पूर्णांक को दिखाने के लिए किया जाता है. वैल्यू को साइन किए गए int64 के तौर पर सेव किया गया है
नंबर
इसका इस्तेमाल, किसी पूर्णांक या फ़्लोटिंग पॉइंट नंबर को दिखाने के लिए किया जाता है.