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 बॉडी फ़ॉर्मैट में अनुरोध बॉडी देनी होगी. यहां एक उदाहरण दिया गया है:

  {
   "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 इवेंट के साथ-साथ 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 ऑडियंस की जानकारी नहीं भरते.

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