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 के यूज़र इंटरफ़ेस (यूआई) में जनरेट किया गया एपीआई सीक्रेट.

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

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

    firebase_app_id और app_instance_id एक जैसे नहीं हैं. firebase_app_id से आपके ऐप्लिकेशन की पहचान होती है, जबकि app_instance_id से ऐप्लिकेशन के किसी एक इंस्टॉल की पहचान होती है.

पूरा रेफ़रंस पाने के लिए, क्वेरी पैरामीटर देखें.

आपको अनुरोध के मुख्य हिस्से में यह जानकारी देनी होगी:

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

  • consent: ज़रूरी नहीं. सहमति की सेटिंग सेट करने का तरीका जानें.

  • timestamp_micros: ज़रूरी नहीं. अनुरोध में मौजूद इवेंट और उपयोगकर्ता प्रॉपर्टी के लिए, माइक्रोसेकंड में यूनिक्स युग का समय. अगर कोई वैल्यू नहीं दी जाती है, तो यह डिफ़ॉल्ट रूप से अनुरोध के समय पर सेट हो जाती है.

  • events: इवेंट आइटम का ऐरे. एक अनुरोध में कई इवेंट शामिल किए जा सकते हैं.

    रीयलटाइम जैसी रिपोर्ट में उपयोगकर्ता गतिविधि दिखाने के लिए, event के लिए params के हिस्से के तौर पर engagement_time_msec और session_id को दिया जाना चाहिए. engagement_time_msec पैरामीटर से, इवेंट में दर्शकों के जुड़ाव का समय मिलीसेकंड में पता चलना चाहिए.

    यहां एक उदाहरण दिया गया है:

  {
   "app_instance_id": "12345678901234567890123456789012",
   "events": [
     {
        "name": "campaign_details",
        "params": {
          "campaign_id": "google_1234",
          "campaign": "Summer_fun",
          "source": "google",
          "medium": "cpc",
          "term": "summer+travel",
          "content": "logolink",
          "session_id": "123",
          "engagement_time_msec": 100
        }
     }
   ]
  }

session_start, रिज़र्व किया गया इवेंट का नाम है. हालांकि, नया session_id बनाने पर, session_start भेजे बिना ही नया सेशन बन जाता है. जानें कि सेशन की गिनती कैसे की जाती है.

इसे आज़माएं

यहां एक उदाहरण दिया गया है. इसका इस्तेमाल करके, एक साथ कई इवेंट भेजे जा सकते हैं. इस उदाहरण में, आपके Google Analytics सर्वर पर एक tutorial_begin इवेंट और एक join_group इवेंट भेजा जाता है.

const firebase_app_id = `1:1234567890:android:321abc456def7890`;
const api_secret = `<secret_value>`;

fetch(`https://www.google-analytics.com/mp/collect?firebase_app_id=${firebase_app_id}&api_secret=${api_secret}`, {
  method: "POST",
  body: JSON.stringify({
    app_instance_id: 'app_instance_id',
    events: [
      {
        name: "tutorial_begin",
        params: {
          "session_id": "123",
          "engagement_time_msec": 100
        }
      },
      {
        name: "join_group",
        params: {
          "group_id": "G_12345",
          "session_id": "123",
          "engagement_time_msec": 150
        }
      }
    ]
  })
});

firebase_app_id का फ़ॉर्मैट, प्लैटफ़ॉर्म के हिसाब से होता है. Firebase कॉन्फ़िगरेशन फ़ाइलों और ऑब्जेक्ट में जाकर, ऐप्लिकेशन आईडी देखें.

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

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

  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 या इससे कम वर्ण होने चाहिए. इनमें सिर्फ़ ऐल्फ़ा-न्यूमेरिक वर्ण और अंडरस्कोर हो सकते हैं. साथ ही, इनकी शुरुआत अक्षर से होनी चाहिए.
  • स्टैंडर्ड Google Analytics प्रॉपर्टी के लिए, पैरामीटर वैल्यू के साथ-साथ आइटम की पैरामीटर वैल्यू, 100 या उससे कम वर्णों की होनी चाहिए. वहीं, Google Analytics 360 प्रॉपर्टी के लिए, पैरामीटर वैल्यू के साथ-साथ आइटम की पैरामीटर वैल्यू, 500 या उससे कम वर्णों की होनी चाहिए.
  • आइटम पैरामीटर में ज़्यादा से ज़्यादा 10 कस्टम पैरामीटर हो सकते हैं.
  • पोस्ट का मुख्य हिस्सा 130 केबी से कम होना चाहिए.
  • Google Analytics को भेजे गए ऐप्लिकेशन मेज़रमेंट प्रोटोकॉल इवेंट, ऐप्लिकेशन के उपयोगकर्ताओं के लिए Google Ads में Search Network की ऑडियंस को पॉप्युलेट नहीं करते.

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