Google Analytics को मेज़रमेंट प्रोटोकॉल इवेंट भेजें

इस गाइड में बताया गया है कि 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 के यूज़र इंटरफ़ेस (यूआई) में जनरेट होता है.

    नया सीक्रेट बनाने के लिए, एडमिन > डेटा कलेक्शन और डेटा में बदलाव > डेटा स्ट्रीम > अपनी स्ट्रीम चुनें > मेज़रमेंट प्रोटोकॉल एपीआई सीक्रेट > बनाएं पर जाएं.

  • measurement_id: यह स्ट्रीम से जुड़ा मेज़रमेंट आईडी होता है. यह Google Analytics के यूज़र इंटरफ़ेस (यूआई) में, एडमिन > डेटा स्ट्रीम > अपनी स्ट्रीम चुनें > मेज़रमेंट आईडी में जाकर देखा जा सकता है.

    measurement_id आपका स्ट्रीम आईडी नहीं है.

मेज़रमेंट प्रोटोकॉल के लिए, आपको JSON POST body फ़ॉर्मैट में अनुरोध का मुख्य हिस्सा देना होगा. यहां एक उदाहरण दिया गया है:

  {
   "client_id": "CLIENT_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 measurementId = "MEASUREMENT_ID";
const apiSecret = "API_SECRET";

fetch(`https://www.google-analytics.com/mp/collect?measurement_id=${measurementId}&api_secret=${apiSecret}`, {
  method: "POST",
  body: JSON.stringify({
    client_id: "CLIENT_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"
    }
  })
});

टाइमस्टैंप में बदलाव

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

  1. इवेंट का timestamp_micros.
  2. अनुरोध का timestamp_micros.
  3. मेज़रमेंट प्रोटोकॉल को अनुरोध मिलने का समय.

यहां दिए गए उदाहरण में, अनुरोध के लेवल का टाइमस्टैंप भेजा गया है. यह अनुरोध में शामिल सभी इवेंट पर लागू होता है. इस वजह से, मेज़रमेंट प्रोटोकॉल, tutorial_begin और join_group, दोनों इवेंट को requestUnixEpochTimeInMicros का टाइमस्टैंप असाइन करता है.

{
  "timestamp_micros": requestUnixEpochTimeInMicros,
  "events": [
    {
      "name": "tutorial_begin"
    },
    {
      "name": "join_group",
      "params": {
        "group_id": "G_12345",
      }
    }
  ]
}

यहां दिए गए उदाहरण में, अनुरोध-लेवल और इवेंट-लेवल, दोनों टाइमस्टैंप भेजे गए हैं. इस वजह से, मेज़रमेंट प्रोटोकॉल tutorial_begin इवेंट को tutorialBeginUnixEpochTimeInMicros का टाइमस्टैंप और join_group इवेंट को requestUnixEpochTimeInMicros का टाइमस्टैंप असाइन करता है.

{
  "timestamp_micros": requestUnixEpochTimeInMicros,
  "events": [
    {
      "name": "tutorial_begin",
      "timestamp_micros": tutorialBeginUnixEpochTimeInMicros
    },
    {
      "name": "join_group",
      "params": {
        "group_id": "G_12345",
      }
    }
  ]
}

सीमाएं

मेज़रमेंट प्रोटोकॉल इवेंट को Google Analytics पर भेजने से जुड़ी ये सीमाएं लागू होती हैं:

  • अनुरोधों में ज़्यादा से ज़्यादा 25 इवेंट हो सकते हैं.
  • इवेंट में ज़्यादा से ज़्यादा 25 पैरामीटर हो सकते हैं.
  • इवेंट में ज़्यादा से ज़्यादा 25 उपयोगकर्ता प्रॉपर्टी हो सकती हैं.
  • उपयोगकर्ता प्रॉपर्टी के नामों में 24 या इससे कम वर्ण होने चाहिए.
  • उपयोगकर्ता प्रॉपर्टी की वैल्यू में 36 या इससे कम वर्ण होने चाहिए.
  • इवेंट के नामों में 40 या इससे कम वर्ण होने चाहिए. इनमें सिर्फ़ ऐल्फ़ान्यूमेरिक (अक्षर और अंक) वर्ण और अंडरस्कोर हो सकते हैं. साथ ही, इनकी शुरुआत अक्षर से होनी चाहिए.
  • पैरामीटर के नामों के साथ-साथ आइटम पैरामीटर में 40 या इससे कम वर्ण होने चाहिए. इनमें सिर्फ़ ऐल्फ़ान्यूमेरिक वर्ण और अंडरस्कोर हो सकते हैं. साथ ही, इनकी शुरुआत अक्षर से होनी चाहिए.
  • पैरामीटर वैल्यू में 100 या इससे कम वर्ण होने चाहिए. यह सीमा, आइटम की पैरामीटर वैल्यू के लिए भी है. हालांकि, Google Analytics 360 प्रॉपर्टी के लिए, पैरामीटर वैल्यू में 500 या इससे कम वर्ण होने चाहिए.
  • आइटम पैरामीटर में ज़्यादा से ज़्यादा 10 कस्टम पैरामीटर हो सकते हैं.
  • पोस्ट का साइज़ 130 केबी से कम होना चाहिए.
  • ऐप्लिकेशन के लिए मेज़रमेंट प्रोटोकॉल के ज़रिए Google Analytics को भेजे गए इवेंट, ऐप्लिकेशन इस्तेमाल करने वाले लोगों के लिए Google Ads में Search Network ऑडियंस की जानकारी नहीं भरते.

इस्तेमाल के हर उदाहरण से जुड़ी अन्य ज़रूरी शर्तों के लिए, इस्तेमाल के सामान्य उदाहरण देखें.