इस गाइड में बताया गया है कि 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"
}
})
});
टाइमस्टैंप में बदलाव
मेज़रमेंट प्रोटोकॉल, अनुरोध में मौजूद हर इवेंट और उपयोगकर्ता प्रॉपर्टी के लिए, इस सूची में मौजूद पहले टाइमस्टैंप का इस्तेमाल करता है:
- इवेंट या उपयोगकर्ता प्रॉपर्टी का
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 ऑडियंस की जानकारी नहीं भरते.
इस्तेमाल के हर उदाहरण से जुड़ी अन्य ज़रूरी शर्तों के लिए, इस्तेमाल के सामान्य उदाहरण देखें.