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

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

परिवहन

सभी डेटा को एचटीटीपीएस POST अनुरोधों का इस्तेमाल करके, सुरक्षित तरीके से भेजा जाना चाहिए.

इस एंडपॉइंट पर अनुरोध भेजें:

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

अगर आपको अपना डेटा ईयू में इकट्ठा करना है, तो इस एंडपॉइंट का इस्तेमाल करें:

https://region1.google-analytics.com/mp/collect

यहां POST अनुरोध का एक सैंपल दिया गया है:

POST /mp/collect HTTP/1.1
HOST: www.google-analytics.com
Content-Type: application/json
PAYLOAD_DATA

PAYLOAD_DATA को अनुरोध के पेलोड से बदलें.

HTTP अनुरोध मिलने पर, मेज़रमेंट प्रोटोकॉल 2xx स्टेटस कोड दिखाता है. अगर पेलोड गलत है या डेटा गलत है या Google Analytics ने उसे प्रोसेस नहीं किया है, तो मेज़रमेंट प्रोटोकॉल गड़बड़ी का कोड नहीं दिखाता है.

पेलोड

पेलोड के दो हिस्से होते हैं:

  1. क्वेरी पैरामीटर.
  2. JSON POST बॉडी.

क्वेरी पैरामीटर

पैरामीटर का नाम ब्यौरा

api_secret

ज़रूरी है. Google Analytics के यूज़र इंटरफ़ेस (यूआई) से मिला एपीआई सीक्रेट.

यह एडमिन > डेटा स्ट्रीम > अपनी स्ट्रीम चुनें > मेज़रमेंट प्रोटोकॉल > बनाएं में मौजूद होता है.

सिर्फ़ आपके संगठन के लिए उपलब्ध है. बहुत ज़्यादा स्पैम से बचने के लिए, इसे समय-समय पर अपडेट किया जाना चाहिए.

firebase_app_id

ज़रूरी है. Firebase ऐप्लिकेशन आईडी. Firebase ऐप्लिकेशन का आइडेंटिफ़ायर.

यह Firebase कंसोल में, प्रोजेक्ट सेटिंग > सामान्य > आपके ऐप्लिकेशन > ऐप्लिकेशन आईडी में मौजूद होता है.

JSON POST बॉडी

JSON POST बॉडी का साइज़ 130 केबी से कम होना चाहिए.

कुंजी टाइप ब्यौरा

app_instance_id

string ज़रूरी है. Firebase ऐप्लिकेशन के किसी खास इंस्टॉलेशन के लिए यूनीक आइडेंटिफ़ायर.

यह वेब client_id से अलग है.

इसे Firebase SDK टूल का इस्तेमाल करके हासिल किया जाना चाहिए:

user_id

string

Optional. किसी उपयोगकर्ता के लिए यूनीक आइडेंटिफ़ायर. इस आइडेंटिफ़ायर के बारे में ज़्यादा जानने के लिए, क्रॉस-प्लैटफ़ॉर्म विश्लेषण के लिए यूज़र आईडी देखें. इसमें सिर्फ़ UTF-8 वर्ण शामिल किए जा सकते हैं.

timestamp_micros

number

Optional. यूनिक्स टाइमस्टैंप, माइक्रोसेकंड में होना चाहिए, न कि मिलीसेकंड में. यह इवेंट के समय को दिखाता है. इसे सिर्फ़ उन इवेंट को रिकॉर्ड करने के लिए सेट किया जाना चाहिए जो पहले हो चुके हैं. user_property या इवेंट के टाइमस्टैंप से, इसे बदला जा सकता है. इवेंट को 72 घंटे पहले की तारीख में सेट किया जा सकता है.

user_properties

object Optional. मेज़रमेंट के लिए उपयोगकर्ता प्रॉपर्टी. हर अनुरोध में ज़्यादा से ज़्यादा 25 उपयोगकर्ता प्रॉपर्टी भेजी जा सकती हैं. उपयोगकर्ता प्रॉपर्टी के नामों में 24 या इससे कम वर्ण होने चाहिए. साथ ही, उपयोगकर्ता प्रॉपर्टी की वैल्यू में 36 या इससे कम वर्ण होने चाहिए.

user_data

object Optional. उपयोगकर्ता से मिला डेटा.
object Optional. अनुरोध के लिए सहमति की सेटिंग. ज़्यादा जानकारी के लिए, सहमति वाला सेक्शन देखें.

non_personalized_ads

boolean ज़रूरी नहीं. true पर सेट करें, ताकि यह पता चल सके कि उपयोगकर्ता के डेटा का इस्तेमाल, दिलचस्पी के मुताबिक दिखाए जाने वाले विज्ञापन दिखाने के लिए नहीं किया जाना चाहिए.

user_location

object Optional. यह स्ट्रक्चर्ड फ़ॉर्मैट में, अनुरोध के लिए भौगोलिक जानकारी सेट करता है.

ip_override

string Optional. आईपी पता, जिसका इस्तेमाल Google Analytics, अनुरोध के लिए भौगोलिक जानकारी पाने के लिए करता है.

device

object ज़रूरी नहीं. अनुरोध के लिए, डिवाइस की जानकारी को स्ट्रक्चर्ड फ़ॉर्मैट में सेट करता है.

validation_behavior

string

ज़रूरी नहीं. यह अनुरोध के लिए, पुष्टि करने का तरीका सेट करती है.

RELAXED या ENFORCE_RECOMMENDATIONS. अगर कोई वैल्यू नहीं दी जाती है, तो डिफ़ॉल्ट रूप से इसकी वैल्यू RELAXED होती है.

events[]

array ज़रूरी है. event आइटम का ऐरे. हर अनुरोध में ज़्यादा से ज़्यादा 25 इवेंट भेजे जा सकते हैं. सुझाए गए इवेंट के लिए, इवेंट रेफ़रंस देखें.

events[].name

string ज़रूरी है. इवेंट का नाम. इवेंट के नाम में 40 या इससे कम वर्ण होने चाहिए. सुझाए गए इवेंट के लिए, इवेंट देखें.

events[].params

object Optional. इवेंट के लिए पैरामीटर. हर इवेंट के लिए, ज़्यादा से ज़्यादा 25 पैरामीटर भेजे जा सकते हैं. हर इवेंट के लिए सुझाए गए पैरामीटर और सामान्य इवेंट पैरामीटर के लिए, इवेंट देखें.

पैरामीटर के नाम में 40 या इससे कम वर्ण होने चाहिए. पैरामीटर वैल्यू, स्टैंडर्ड Google Analytics प्रॉपर्टी के लिए 100 या उससे कम वर्णों की होनी चाहिए. वहीं, Google Analytics 360 प्रॉपर्टी के लिए 500 या उससे कम वर्णों की होनी चाहिए.

सामान्य इवेंट पैरामीटर

मेज़रमेंट प्रोटोकॉल में ये सामान्य इवेंट पैरामीटर होते हैं:

कुंजी टाइप ब्यौरा

session_id

number एक पॉज़िटिव नंबर, जिससे उपयोगकर्ता के सेशन की पहचान होती है. इस्तेमाल के कई सामान्य उदाहरणों के लिए ज़रूरी है. रेगुलर एक्सप्रेशन ^\d+$ से मेल खाना चाहिए.

इसे Firebase SDK टूल का इस्तेमाल करके हासिल किया जाना चाहिए:

engagement_time_msec

number इवेंट के लिए, उपयोगकर्ता के जुड़ाव की अवधि, मिलीसेकंड में. ऐसी वैल्यू का इस्तेमाल करें जो पिछले इवेंट के बाद से, उपयोगकर्ता के जुड़ाव के समय को दिखाती हो.

timestamp_micros

number इवेंट के लिए, Unix epoch टाइमस्टैंप माइक्रोसेकंड में. इवेंट के टाइमस्टैंप को बदलने के लिए, इस पैरामीटर का इस्तेमाल करें.

consent एट्रिब्यूट, सहमति के टाइप और स्थितियों को कॉन्फ़िगर करता है. अगर आपने consent की जानकारी नहीं दी है, तो Google Analytics, क्लाइंट या ऐप्लिकेशन इंस्टेंस के लिए, उससे जुड़े ऑनलाइन इंटरैक्शन की सहमति की सेटिंग का इस्तेमाल करता है.

कुंजी टाइप ब्यौरा

ad_user_data

string

Optional. विज्ञापन दिखाने के मकसद से, अनुरोध के इवेंट और उपयोगकर्ता प्रॉपर्टी से उपयोगकर्ता का डेटा Google को भेजने की सहमति.

GRANTED या DENIED.

ad_personalization

string

Optional. उपयोगकर्ता को लोगों की दिलचस्पी के हिसाब से विज्ञापन दिखाने के लिए सहमति.

GRANTED या DENIED.

भौगोलिक जानकारी

user_location और ip_override एट्रिब्यूट से, भौगोलिक जानकारी मिलती है. user_location को ip_override के ऊपर प्राथमिकता दी जाती है.

यहां user_location फ़ील्ड का स्ट्रक्चर दिया गया है. ज़्यादा से ज़्यादा एट्रिब्यूट की वैल्यू सबमिट करें. हमारा सुझाव है कि कम से कम country_id और region_id का इस्तेमाल करें.

कुंजी टाइप ब्यौरा

city

string Optional. शहर का नाम. अगर शहर अमेरिका में है, तो country_id और region_id भी सेट करें, ताकि Google Analytics, शहर के नाम को शहर के आईडी से सही तरीके से मैप कर सके.

region_id

string Optional. ISO 3166 देश और सबडिवीज़न. उदाहरण के लिए, US-CA, US-AR, CA-BC, GB-LND, CN-HK.

country_id

string Optional. ISO 3166-1 alpha-2 फ़ॉर्मैट में देश का नाम. उदाहरण के लिए, US, AU, ES, FR.

subcontinent_id

string Optional. UN M49 फ़ॉर्मैट में उपमहाद्वीप. उदाहरण के लिए, 011, 021, 030, 039.

continent_id

string Optional. UN M49 फ़ॉर्मैट में महाद्वीप. उदाहरण के लिए, 002, 019, 142, 150.

यहां user_location का एक सैंपल दिया गया है:

"user_location": {
  "city": "Mountain View",
  "region_id": "US-CA",
  "country_id": "US",
  "subcontinent_id": "021",
  "continent_id": "019"
}

ip_override, user_location का एक विकल्प है. अगर ip_override भेजा जाता है, तो Google Analytics आईपी पते से भौगोलिक जानकारी हासिल करता है. user_location भेजने पर, Google Analytics ip_override को अनदेखा कर देता है.

अगर user_location या ip_override नहीं भेजा जाता है, तो Google Analytics,app_instance_id का इस्तेमाल करके टैग किए गए इवेंट से भौगोलिक जानकारी हासिल करता है.

Google Analytics, अनुरोध पर प्रॉपर्टी की जगह की ज़्यादा जानकारी वाले डेटा की सेटिंग लागू करता है. भले ही, जगह की जानकारी भेजी गई हो या नहीं.

डिवाइस की जानकारी

डिवाइस की जानकारी भेजने के लिए, device फ़ील्ड का इस्तेमाल करें. यहां device फ़ील्ड का स्ट्रक्चर दिया गया है. ज़्यादा से ज़्यादा एट्रिब्यूट की जानकारी दें. हमारा सुझाव है कि कम से कम category का इस्तेमाल करें.

कुंजी टाइप ब्यौरा

category

string ज़रूरी नहीं. डिवाइस की कैटगरी. उदाहरण के लिए, desktop, tablet, mobile, smart TV.

language

string ज़रूरी नहीं. ISO 639-1 फ़ॉर्मैट में भाषा. उदाहरण के लिए, en, en-US.

screen_resolution

string ज़रूरी नहीं. डिवाइस का रिज़ॉल्यूशन, WIDTHxHEIGHT के तौर पर फ़ॉर्मैट किया गया है. उदाहरण के लिए, 1280x2856, 1080x2340.

operating_system

string ज़रूरी नहीं. ऑपरेटिंग सिस्टम या प्लैटफ़ॉर्म. उदाहरण के लिए, MacOS.

operating_system_version

string ज़रूरी नहीं. ऑपरेटिंग सिस्टम या प्लैटफ़ॉर्म का वर्शन. उदाहरण के लिए, 13.5.

model

string ज़रूरी नहीं. डिवाइस का मॉडल. उदाहरण के लिए, Pixel 9 Pro, Samsung Galaxy S24.

brand

string ज़रूरी नहीं. डिवाइस का ब्रैंड. उदाहरण के लिए, Google, Samsung.

browser

string ज़रूरी नहीं. ब्राउज़र का ब्रैंड या टाइप. उदाहरण के लिए, Chrome, Firefox.

browser_version

string ज़रूरी नहीं. ब्राउज़र का वर्शन. उदाहरण के लिए, 136.0.7103.60, 5.0.

यहां दिए गए स्निपेट में, device की सेटिंग का एक उदाहरण दिखाया गया है:

"device": {
  "category": "mobile",
  "language": "en",
  "screen_resolution": "1280x2856",
  "operating_system": "Android",
  "operating_system_version": "14",
  "model": "Pixel 9 Pro",
  "brand": "Google",
  "browser": "Chrome",
  "browser_version": "136.0.7103.60"
}
अगर किसी अनुरोध में device की जानकारी नहीं दी जाती है, तो Google Analytics, app_instance_id का इस्तेमाल करके टैगिंग इवेंट से डिवाइस की जानकारी लेता है.

चाहे आपनेdevice,को चुना हो, Google Analytics अनुरोध पर प्रॉपर्टी की डिवाइस के ज़्यादा जानकारी वाले डेटा की सेटिंग लागू करता है.

पुष्टि करने का तरीका

validation_behavior एट्रिब्यूट से यह कंट्रोल किया जाता है कि मेज़रमेंट प्रोटोकॉल, अनुरोध के कॉन्टेंट की पुष्टि कैसे करता है.

  • RELAXED की पुष्टि करने की प्रोसेस, सिर्फ़ उन अनुरोधों को अस्वीकार करती है जो गलत तरीके से किए गए हैं. यह अब भी अमान्य फ़ील्ड नेम वाले इवेंट और पैरामीटर या गलत टाइप के डेटा को स्वीकार कर सकता है. हालांकि, यह सीमाओं से ज़्यादा वाले पैरामीटर को अनदेखा कर देता है. मेज़रमेंट प्रोटोकॉल, डिफ़ॉल्ट रूप से RELAXED की पुष्टि करने की सुविधा का इस्तेमाल करता है.
  • ENFORCE_RECOMMENDATIONS की पुष्टि करने की सुविधा, उन इवेंट और आइटम पैरामीटर को अस्वीकार कर देती है जो सही टाइप के नहीं होते या जिनमें सीमाओं से ज़्यादा पैरामीटर होते हैं. इसके अलावा, ENFORCE_RECOMMENDATIONS ऐसे किसी भी इवेंट या उपयोगकर्ता प्रॉपर्टी को अस्वीकार कर देता है जिसका टाइमस्टैंप पिछले 72 घंटों के अंदर का नहीं होता.

हमारा सुझाव है कि आप यह तरीका अपनाएं:

  • ENFORCE_RECOMMENDATIONS का इस्तेमाल तब करें, जब आपको इवेंट की पुष्टि करनी हो. इससे आपको अपने अनुरोधों से जुड़ी संभावित समस्याओं के बारे में ज़्यादा से ज़्यादा सुझाव मिल पाएंगे.

    अनुरोधों की पुष्टि करने के लिए, इवेंट बिल्डर का भी इस्तेमाल किया जा सकता है. ऐसा इसलिए, क्योंकि अनुरोधों की पुष्टि करते समय यह ENFORCE_RECOMMENDATIONS के बारे में बताता है.

  • इवेंट भेजते समय validation_behavior की जानकारी न दें, ताकि मेज़रमेंट प्रोटोकॉल से अस्वीकार किए गए डेटा को कम किया जा सके.

    अगर आपको कोई अनुरोध भेजते समय, डेटा कलेक्शन के बजाय सख्त पुष्टि को प्राथमिकता देनी है, तो validation_behavior फ़ील्ड जोड़ें और उसे ENFORCE_RECOMMENDATIONS पर सेट करें.

कस्टम पैरामीटर

मेज़रमेंट प्रोटोकॉल पेलोड में, उपयोगकर्ता के स्कोप वाले, इवेंट के स्कोप वाले, और आइटम के स्कोप वाले कस्टम पैरामीटर शामिल किए जा सकते हैं.

  • उपयोगकर्ता के स्कोप वाले कस्टम पैरामीटर को user_properties में शामिल किया जा सकता है.
  • इवेंट के स्कोप वाले कस्टम पैरामीटर को events[].params में शामिल किया जा सकता है.
  • आइटम के स्कोप वाले कस्टम पैरामीटर को items में शामिल किया जा सकता है.

कुछ इवेंट के लिए, पैरामीटर के सुझाव दिए जाते हैं. इस्तेमाल किए जा सकने वाले सभी इवेंट के लिए सुझाए गए पैरामीटर देखने के लिए, इवेंट लेख पढ़ें.

रिज़र्व किए गए नाम

कुछ इवेंट, पैरामीटर, और उपयोगकर्ता प्रॉपर्टी के नाम रिज़र्व हैं. इनका इस्तेमाल नहीं किया जा सकता:

इवेंट के रिज़र्व किए गए नाम

नीचे दिए गए इवेंट के नाम रिज़र्व हैं. इनका इस्तेमाल नहीं किया जा सकता:

  • ad_activeview
  • ad_click
  • ad_exposure
  • ad_query
  • ad_reward
  • adunit_exposure
  • app_clear_data
  • app_exception
  • app_install
  • app_remove
  • app_store_refund
  • app_update
  • app_upgrade
  • dynamic_link_app_open
  • dynamic_link_app_update
  • dynamic_link_first_open
  • error
  • firebase_campaign
  • firebase_in_app_message_action
  • firebase_in_app_message_dismiss
  • firebase_in_app_message_impression
  • first_open
  • first_visit
  • notification_dismiss
  • notification_foreground
  • notification_open
  • notification_receive
  • notification_send
  • os_update
  • session_start
  • user_engagement

इसके अलावा, ad_impression, in_app_purchase, और screen_view इवेंट सिर्फ़ ऐप्लिकेशन स्ट्रीम के लिए इस्तेमाल किए जा सकते हैं.

पैरामीटर के रिज़र्व किए गए नाम

नीचे दिए गए पैरामीटर के नाम रिज़र्व हैं. इनका इस्तेमाल नहीं किया जा सकता:

  • firebase_conversion

पैरामीटर के नाम इनसे शुरू नहीं हो सकते:

  • _ (underscore)
  • firebase_
  • ga_
  • google_
  • gtag.

उपयोगकर्ता प्रॉपर्टी के रिज़र्व किए गए नाम

नीचे दिए गए उपयोगकर्ता प्रॉपर्टी के नाम रिज़र्व हैं. इनका इस्तेमाल नहीं किया जा सकता:

  • first_open_time
  • first_visit_time
  • last_deep_link_referrer
  • user_id
  • first_open_after_install

इसके अलावा, उपयोगकर्ता प्रॉपर्टी के नाम इनसे शुरू नहीं हो सकते:

  • _ (underscore)
  • firebase_
  • ga_
  • google_