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

इस दस्तावेज़ में, मेज़रमेंट प्रोटोकॉल का इस्तेमाल करके Google Analytics को डेटा भेजने का तरीका बताया गया है.

खास जानकारी

मेज़रमेंट प्रोटोकॉल का इस्तेमाल करके, Google Analytics को डेटा दो हिस्सों में भेजा जाता है:

  • ट्रांसपोर्ट – डेटा कहां और कैसे भेजा जाता है
  • पेलोड – आपका भेजा गया डेटा

इस दस्तावेज़ में दोनों को फ़ॉर्मैट करने का तरीका बताया गया है.

परिवहन

यूआरएल एंडपॉइंट

मेज़रमेंट प्रोटोकॉल का इस्तेमाल करके, नीचे दिए गए एंड पॉइंट पर एचटीटीपी अनुरोध करके डेटा भेजा जाता है:

https://www.google-analytics.com/collect

सारा डेटा, एचटीटीपीएस प्रोटोकॉल की मदद से सुरक्षित तरीके से भेजा जाना चाहिए.

POST या GET अनुरोधों का इस्तेमाल करके डेटा भेजा जा सकता है.

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) देता है, जिसे किसी भी नंबर के साथ सेट किया जा सकता है. इससे यह पक्का होता है कि मेज़रमेंट प्रोटोकॉल के सभी अनुरोध यूनीक हैं. साथ ही, बाद के अनुरोध कैश मेमोरी से वापस नहीं लिए जाते.

हमारा सुझाव है कि कैश बस्टर का इस्तेमाल करते समय, इस पैरामीटर को पेलोड में आखिरी पैरामीटर के तौर पर जोड़ें.

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 के डेटा मॉडल से मैप होती हैं. अगर आपको 5555 उपयोगकर्ता को ट्रैक करना है, जो /pageA, /pageB, और /pageC पर गया है, तो आपको ये तीन पेलोड भेजने होंगे:

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 बाइट होती है. अगर कोई वैल्यू, तय सीमा से बड़ी है, तो उसे अपने-आप काट दिया जाएगा. अगर मल्टी-बाइट वर्ण की लंबाई तय सीमा से ज़्यादा है, तो पूरे वर्ण को काट दिया जाएगा.

ऐसे डेटा टाइप जिनका इस्तेमाल किया जा सकता है

मेज़रमेंट प्रोटोकॉल का हर डेटा फ़ील्ड एक खास टाइप से जुड़ा होता है. हर डेटा फ़ील्ड के लिए, पुष्टि करने के अपने नियम होते हैं. अगर कोई भी पैरामीटर वैल्यू पुष्टि करने के नियमों के मुताबिक नहीं है, तो उस पैरामीटर को अनदेखा कर दिया जाएगा. साथ ही, Google Analytics उसे प्रोसेस नहीं करेगा. अन्य सभी पैरामीटर सामान्य तरीके से प्रोसेस किए जाएंगे.

मेज़रमेंट प्रोटोकॉल, इन डेटा टाइप के साथ काम करता है:

ध्यान दें कि अलग-अलग डेटा फ़ील्ड की अपनी पाबंदियां हो सकती हैं. सभी डेटा फ़ील्ड और स्वीकार किए जाने वाले टाइप की पूरी सूची के लिए, फ़ील्ड रेफ़रंस देखें.

टेक्स्ट

स्ट्रिंग दिखाने के लिए इस्तेमाल किया जाता है. टेक्स्ट फ़ील्ड को और ज़्यादा प्रोसेस किया जाता है. शुरू और पीछे की खाली सफ़ेद जगह के सभी वर्ण हटा दिए जाते हैं. दो या उससे ज़्यादा खाली सफ़ेद जगह वाले वर्णों (इसमें स्पेस, टैब, नई लाइनें वगैरह शामिल हैं) को एक स्पेस वर्ण में बदल दिया जाता है. यह बदलाव, रॉ टेक्स्ट पर किसी भी तरह की काट-छांट से पहले लागू किया जाता है. उदाहरण के लिए:

   Hello      World

बन जाएगा:

Hello World

मुद्रा

इसका इस्तेमाल किसी मुद्रा की कुल वैल्यू को दिखाने के लिए किया जाता है. दशमलव बिंदु का इस्तेमाल, मुद्रा के पूरे और फ़्रैक्शनल हिस्से के बीच डीलिमिटर के तौर पर किया जाता है. परिशुद्धता अधिकतम 6 दशमलव स्थानों तक है. यह जानकारी मुद्रा फ़ील्ड के लिए मान्य है:

1000.000001

Google Analytics को वैल्यू भेजने के बाद, पहले अंक, - या . (दशमलव) वर्ण तक का पूरा टेक्स्ट हटा दिया जाता है. इसलिए:

$-55.00

बन जाएगा:

-55.00

बूलियन

इसका इस्तेमाल यह तय करने के लिए किया जाता है कि कोई वैल्यू सही है या गलत. मान्य मान हैं:

  • 1 – सही
  • 0 – गलत

Integer

इसका इस्तेमाल किसी पूर्णांक को दिखाने के लिए किया जाता है. मान को साइन इन किए गए int64 के तौर पर सेव किया जाता है

नंबर

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