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