इस गाइड में बताया गया है कि Google Analytics मेज़रमेंट प्रोटोकॉल के वेब और ऐप्लिकेशन स्ट्रीम के इवेंट को Google Analytics सर्वर पर कैसे भेजा जा सकता है, ताकि मेज़रमेंट प्रोटोकॉल के इवेंट को Google Analytics रिपोर्ट में देखा जा सके.
वह प्लैटफ़ॉर्म चुनें जिसके लिए आपको यह गाइड देखनी है:
अनुरोध को फ़ॉर्मैट करना
Google Analytics मेज़रमेंट प्रोटोकॉल, सिर्फ़ एचटीटीपी POST अनुरोधों के साथ काम करता है.
इवेंट भेजने के लिए, इस फ़ॉर्मैट का इस्तेमाल करें:
POST /mp/collect HTTP/1.1
HOST: www.google-analytics.com
Content-Type: application/json
PAYLOAD_DATA
आपको अनुरोध यूआरएल में यह जानकारी देनी होगी:
- api_secret: यह एपीआई सीक्रेट, Google Analytics के यूज़र इंटरफ़ेस (यूआई) में जनरेट होता है.- नया सीक्रेट बनाने के लिए, एडमिन > डेटा कलेक्शन और डेटा में बदलाव > डेटा स्ट्रीम > अपनी स्ट्रीम चुनें > मेज़रमेंट प्रोटोकॉल एपीआई सीक्रेट > बनाएं पर जाएं. 
- firebase_app_id: Firebase ऐप्लिकेशन आईडी. यह Firebase कंसोल में, प्रोजेक्ट सेटिंग > सामान्य > आपके ऐप्लिकेशन > ऐप्लिकेशन आईडी में जाकर देखा जा सकता है.- firebase_app_idऔर- app_instance_idएक जैसे नहीं हो सकते.- firebase_app_idसे आपके ऐप्लिकेशन की पहचान होती है, जबकि- app_instance_idसे ऐप्लिकेशन के किसी एक इंस्टॉलेशन की पहचान होती है.
मेज़रमेंट प्रोटोकॉल के लिए, आपको JSON POST बॉडी फ़ॉर्मैट में अनुरोध बॉडी देनी होगी. यहां एक उदाहरण दिया गया है:
  {
   "app_instance_id": "APP_INSTANCE_ID",
   "events": [
      {
        "name": "login",
        "params": {
          "method": "Google",
          "session_id": "SESSION_ID",
          "engagement_time_msec": 100
        }
      }
   ]
  }
session_start एक आरक्षित इवेंट का नाम है. वहीं, नया session_id बनाने से एक नया सेशन बनता है. इसके लिए, session_start भेजने की ज़रूरत नहीं होती. जानें कि सेशन की गिनती कैसे की जाती है.
इसे आज़माएं
यहां एक उदाहरण दिया गया है. इसका इस्तेमाल करके, एक साथ कई इवेंट भेजे जा सकते हैं. इस उदाहरण में, आपके Google Analytics सर्वर को tutorial_begin इवेंट और join_group इवेंट भेजा जाता है. इसमें user_location फ़ील्ड का इस्तेमाल करके, भौगोलिक जानकारी शामिल की जाती है. साथ ही, device फ़ील्ड का इस्तेमाल करके, डिवाइस की जानकारी शामिल की जाती है.
const firebaseAppId = "FIREBASE_APP_ID";
const apiSecret = "API_SECRET";
fetch(`https://www.google-analytics.com/mp/collect?firebase_app_id=${firebaseAppId}&api_secret=${apiSecret}`, {
  method: "POST",
  body: JSON.stringify({
    app_instance_id: "APP_INSTANCE_ID",
    events: [
      {
        name: "tutorial_begin",
        params: {
          "session_id": "SESSION_ID",
          "engagement_time_msec": 100
        }
      },
      {
        name: "join_group",
        params: {
          "group_id": "G_12345",
          "session_id": "SESSION_ID",
          "engagement_time_msec": 150
        }
      }
    ],
    user_location: {
      city: "Mountain View",
      region_id: "US-CA",
      country_id: "US",
      subcontinent_id: "021",
      continent_id: "019"
    },
    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"
    }
  })
});
firebase_app_id का फ़ॉर्मैट, प्लैटफ़ॉर्म के हिसाब से होता है. Firebase कॉन्फ़िगरेशन फ़ाइलों और ऑब्जेक्ट में जाकर, ऐप्लिकेशन आईडी देखें.
टाइमस्टैंप में बदलाव
मेज़रमेंट प्रोटोकॉल, अनुरोध में मौजूद हर इवेंट और उपयोगकर्ता प्रॉपर्टी के लिए, इस सूची में मौजूद पहले टाइमस्टैंप का इस्तेमाल करता है:
- इवेंट या उपयोगकर्ता प्रॉपर्टी का timestamp_micros.
- अनुरोध का timestamp_micros.
- मेज़रमेंट प्रोटोकॉल को अनुरोध मिलने का समय.
यहां दिए गए उदाहरण में, अनुरोध-लेवल का टाइमस्टैंप भेजा गया है. यह अनुरोध में मौजूद सभी इवेंट और उपयोगकर्ता प्रॉपर्टी पर लागू होता है. इस वजह से, मेज़रमेंट प्रोटोकॉल, tutorial_begin और join_group इवेंट के साथ-साथ customer_tier उपयोगकर्ता प्रॉपर्टी को requestUnixEpochTimeInMicros का टाइमस्टैंप असाइन करता है.
{
  "timestamp_micros": requestUnixEpochTimeInMicros,
  "events": [
    {
      "name": "tutorial_begin"
    },
    {
      "name": "join_group",
      "params": {
        "group_id": "G_12345",
      }
    }
  ],
  "user_properties": {
    "customer_tier": {
      "value": "PREMIUM"
    }
  }
}
यहां दिए गए उदाहरण में, अनुरोध-लेवल का टाइमस्टैंप, इवेंट-लेवल का टाइमस्टैंप, और उपयोगकर्ता प्रॉपर्टी-लेवल का टाइमस्टैंप भेजा गया है. इस वजह से, मेज़रमेंट प्रोटोकॉल ये टाइमस्टैंप असाइन करता है:
- tutorial_beginइवेंट के लिए- tutorialBeginUnixEpochTimeInMicros
- customer_tierउपयोगकर्ता प्रॉपर्टी के लिए- customerTierUnixEpochTimeInMicros
- join_groupइवेंट और- newsletter_readerउपयोगकर्ता प्रॉपर्टी के लिए.- requestUnixEpochTimeInMicros
{
  "timestamp_micros": requestUnixEpochTimeInMicros,
  "events": [
    {
      "name": "tutorial_begin",
      "timestamp_micros": tutorialBeginUnixEpochTimeInMicros
    },
    {
      "name": "join_group",
      "params": {
        "group_id": "G_12345",
      }
    }
  ],
  "user_properties": {
    "customer_tier": {
      "value": "PREMIUM",
      "timestamp_micros": customerTierUnixEpochTimeInMicros
    },
    "newsletter_reader": {
      "value": "true"
    }
  }
}
पिछले इवेंट और उपयोगकर्ता प्रॉपर्टी के लिए पुष्टि करने का तरीका
इवेंट और उपयोगकर्ता प्रॉपर्टी को 72 घंटे पहले की तारीख पर सेट किया जा सकता है. अगर timestamp_micros की वैल्यू 72 घंटे से पहले की है, तो मेज़रमेंट प्रोटोकॉल, इवेंट या उपयोगकर्ता प्रॉपर्टी को इस तरह स्वीकार या अस्वीकार करता है:
- अगर validation_behaviorको सेट नहीं किया गया है या इसेRELAXEDपर सेट किया गया है, तो Measurement Protocol, इवेंट या उपयोगकर्ता प्रॉपर्टी को स्वीकार करता है. हालांकि, यह उसके टाइमस्टैंप को 72 घंटे पहले के टाइमस्टैंप से बदल देता है.
- अगर validation_behaviorकोENFORCE_RECOMMENDATIONSपर सेट किया जाता है, तो मेज़रमेंट प्रोटोकॉल, इवेंट या उपयोगकर्ता प्रॉपर्टी को अस्वीकार कर देता है.
सीमाएं
मेज़रमेंट प्रोटोकॉल के इवेंट को Google Analytics में भेजने पर, ये सीमाएं लागू होती हैं:
- अनुरोधों में ज़्यादा से ज़्यादा 25 इवेंट हो सकते हैं.
- इवेंट में ज़्यादा से ज़्यादा 25 पैरामीटर हो सकते हैं.
- इवेंट में ज़्यादा से ज़्यादा 25 उपयोगकर्ता प्रॉपर्टी हो सकती हैं.
- उपयोगकर्ता प्रॉपर्टी के नामों में 24 या इससे कम वर्ण होने चाहिए.
- उपयोगकर्ता प्रॉपर्टी की वैल्यू में 36 या इससे कम वर्ण होने चाहिए.
- इवेंट के नामों में 40 या इससे कम वर्ण होने चाहिए. इनमें सिर्फ़ ऐल्फ़ान्यूमेरिक (अक्षर और अंक) वर्ण और अंडरस्कोर हो सकते हैं. साथ ही, इनकी शुरुआत अक्षर से होनी चाहिए.
- पैरामीटर के नामों के साथ-साथ आइटम पैरामीटर में 40 या इससे कम वर्ण होने चाहिए. इनमें सिर्फ़ ऐल्फ़ान्यूमेरिक वर्ण और अंडरस्कोर हो सकते हैं. साथ ही, इनकी शुरुआत अक्षर से होनी चाहिए.
- पैरामीटर वैल्यू में 100 या इससे कम वर्ण होने चाहिए. यह सीमा, आइटम की पैरामीटर वैल्यू के लिए भी है. हालांकि, Google Analytics 360 प्रॉपर्टी के लिए, पैरामीटर वैल्यू में 500 या इससे कम वर्ण होने चाहिए.
- आइटम पैरामीटर में ज़्यादा से ज़्यादा 10 कस्टम पैरामीटर हो सकते हैं.
- पोस्ट का साइज़ 130 केबी से कम होना चाहिए.
- टाइमस्टैंप पिछले 72 घंटों के अंदर का होना चाहिए. ज़्यादा जानकारी के लिए, पिछले इवेंट के लिए पुष्टि करने का तरीका देखें.
- ऐप्लिकेशन के लिए मेज़रमेंट प्रोटोकॉल की मदद से Google Analytics को भेजे गए इवेंट, ऐप्लिकेशन इस्तेमाल करने वाले लोगों के लिए Google Ads में Search Network ऑडियंस की जानकारी नहीं भरते.
इस्तेमाल के हर उदाहरण से जुड़ी अन्य ज़रूरी शर्तों के लिए, इस्तेमाल के सामान्य उदाहरण देखें.