मेज़रमेंट प्रोटोकॉल का रेफ़रंस

इस दस्तावेज़ में बताया गया है कि मेज़रमेंट प्रोटोकॉल का इस्तेमाल करके, 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 के तौर पर सेव किया गया है

नंबर

इसका इस्तेमाल, किसी पूर्णांक या फ़्लोटिंग पॉइंट नंबर को दिखाने के लिए किया जाता है.