मेज़रमेंट प्रोटोकॉल का इस्तेमाल करके, GA4 को ऐप्लिकेशन इवेंट भेजना

1. शुरुआती जानकारी

पिछली बार अपडेट किए जाने की तारीख: 08-06-2021

आपको क्या बनाना होगा

इस कोडलैब में, मेज़रमेंट प्रोटोकॉल का इस्तेमाल करके, GA4 को बाहरी इवेंट भेजने का तरीका बताया गया है.

यह कोडलैब यह मानता है कि आपने पहले से ही 'Firebase के लिए Google Analytics' की सुविधा वाला ऐप्लिकेशन लागू किया हुआ है. अगर आपको 'Firebase के लिए Google Analytics' के साथ इंटिग्रेट करने का तरीका जानना है, तो कृपया पहले यह कोडलैब देखें. अगर आपको Firebase की मदद से ऐप्लिकेशन बनाने का तरीका जानना है, तो कृपया Firebase Android कोडलैब-बिल्ड फ़्रेंडली चैट देखें.

आपको इनके बारे में जानकारी मिलेगी

  • पहली बार किसी सदस्य के तौर पर कॉल करने का तरीका
  • कॉल के लिए ज़रूरी पैरामीटर को समझें
  • टेस्ट कॉल भेजें और उसकी पुष्टि करें
  • कॉल करने के लिए, Python में सैंपल स्क्रिप्ट बनाएं

आपको इन चीज़ों की ज़रूरत होगी

  • Android या iOS ऐप्लिकेशन
  • बदलाव करने के लिए कोई भी IDE
  • GA4 खाता
  • ज़रूरी नहीं - Python डेवलपमेंट एनवायरमेंट (या Colab)

2. ज़रूरी फ़ील्ड इकट्ठा करें

GA4 में एपीआई सीक्रेट बनाना

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

6e4 बताए गए 63054d291.png

c9e9ccd2ffba98eb.png

e714cd969fca4a4d.png

कोई भी निकनेम दिया जा सकता है. इससे सीक्रेट वैल्यू दिखेगी, जिसका इस्तेमाल कॉल में किया जा सकता है

अगर आपको GA4 को ऐक्सेस करने का तरीका नहीं पता है, तो अपने Firebase प्रोजेक्ट पर जाएं. इसके बाद, प्रोजेक्ट सेटिंग देखें > इंटिग्रेशन > Google Analytics में जाकर "मैनेज करें" पर क्लिक करें. आपको Google Analytics का कनेक्शन दिखना चाहिए. साथ ही, सीधे वहां से भी नेविगेट किया जा सकता है

73b4d77a57eddfba.png

app_instance_id इकट्ठा करें

अपने app_instance_id को इकट्ठा करने के लिए, नीचे दिए गए किसी भी तरीके का इस्तेमाल करें.

  1. BigQuery Export का इस्तेमाल करना
  2. आपके ऐप्लिकेशन के सोर्स कोड में मूल रूप से फ़ेच किया जा रहा है

इन दोनों के बारे में नीचे ज़्यादा जानकारी दी गई है

  1. BigQuery Export का इस्तेमाल करना

अगर आपने BigQuery Export चालू किया है, तो यह तरीका अपनाएं

  • Firebase में साइन इन करें
  • प्रोजेक्ट की सेटिंग पर जाएं > इंटिग्रेशन > BigQuery
  • "BigQuery में देखें" पर क्लिक करें डेटासेट के पास में

ध्यान दें : डेटासेट करीब 24-48 घंटे तक टॉगल करने के बाद ही उपलब्ध होगा

63d061088b622961.png

  • BigQuery की टेबल में, user_pseudo_id की जांच की जा सकती है. यह app_instance_id है, जिसका इस्तेमाल आप अपने कॉल में कर सकते हैं

4b1b80bdc2884581.png

  1. अपने ऐप्लिकेशन के सोर्स कोड में मूल रूप से फ़ेच करना

अगर आपका ऐप्लिकेशन Java का इस्तेमाल करके बनाया गया है, तो app_instance_id को वापस पाने के लिए इस तरह का कुछ इस्तेमाल किया जा सकता है

 FirebaseAnalytics.getInstance(this).getAppInstanceId().addOnCompleteListener(new OnCompleteListener<String>() {
        @Override
        public void onComplete(@NonNull Task<String> task) {
            if (task.isSuccessful()) {
                String user_pseudo_id = task.getResult();
            }
        }
    });

Kotlin के लिए, नीचे दिया गया तरीका आज़माएं

Thread {
   Firebase.analytics.appInstanceId.addOnSuccessListener { user_pseudo_id ->
       Log.d("Firebase", "user_pseudo_id using appInstanceId is $user_pseudo_id")
       /*
       Store the value to your server or do something with the retrieved id
        */
   }
}.start()

अगर आपके पास iOS ऐप्लिकेशन है, तो Swift में नीचे दिया गया ऐप्लिकेशन इस्तेमाल किया जा सकता है

let user_pseudo_id = Analytics.appInstanceID()
print("user_pseudo_id = \(user_pseudo_id)")
/*
Store the value to your server or do something with the retrieved id
*/

आपके इन्फ़्रास्ट्रक्चर के हिसाब से, यहां कुछ और लिंक दिए गए हैं

3. कॉल तैयार करना

GA4 में इवेंट बिल्डर का इस्तेमाल करके, सैंपल कॉल बनाया जा सकता है. (इसके लिए आपको लॉगिन करना होगा और कुकी चालू करनी होंगी). पक्का करें कि टॉगल "Firebase" पर सेट हो

fd78d961f3e48238.png

आपको नीचे दिए गए फ़ील्ड भरने होंगे

  • api_secret - GA4 पर पहले ही बनाया जा चुका है
  • firebase_app_id - इसे पाने के लिए, एडमिन पर जाएं > डेटा स्ट्रीम > अपनी स्ट्रीम चुनें पर क्लिक करें . इसे इस तरह से दिखाया जाना चाहिए

19801c8e5cb29222.png

  • app_instance_id - आपने यह वैल्यू पहले ही ले ली है
  • user_id ज़रूरी नहीं है. फ़िलहाल, इसे खाली छोड़ा जा सकता है
  • कैटगरी - इसे "पसंद के मुताबिक" में बदलें ड्रॉपडाउन मेन्यू से, अपनी पसंद के किसी भी इवेंट का नाम डालें. अपने-आप इकट्ठा होने वाले किसी इवेंट का इस्तेमाल न करें. यहां हम "test_from_codelab" का इस्तेमाल कर रहे हैं

54cce53df64d697.png

इसके अलावा, नीचे दिए गए बटन पर क्लिक करके इवेंट पैरामीटर और/या उपयोगकर्ता प्रॉपर्टी भी उपलब्ध कराई जा सकती है

16a8f531a3894021.png

सब कुछ भर देने के बाद, आपको "इवेंट की पुष्टि करें" बटन के साथ कुछ ऐसा दिखाई देगा

475801f25c3caf26.png

इस पर पहुंचने के बाद, "इवेंट की पुष्टि करें" पर क्लिक करें , बटन को नारंगी रंग से हाइलाइट किया गया है. इसमें नीचे दिया गया मैसेज दिखेगा, जिसमें बताया जाएगा कि यह इवेंट मान्य है. साथ ही, अब आपको "GA को भेजें" बटन भी दिखेगा. इस स्थिति में, अगर कोई इवेंट अमान्य नज़र आता है, तो यह टूल आपको उस फ़ील्ड की सटीक जानकारी देगा जिसमें समस्या है. इसके बाद, उस इवेंट को ठीक करके फिर से कोशिश की जा सकती है

23e4e6800705b4aa.png

अब इस बटन पर क्लिक किया जा सकता है. इससे GA4 को टेस्ट इवेंट भेजना चाहिए

4. GA4 में इवेंट की पुष्टि करना

इवेंट भेजने के बाद, अपने GA4 खाते में जाकर रीयलटाइम देखें. आपको इवेंट शुरू होते ही दिखेगा

994b51ca46bb1973.png

इवेंट को रीयल टाइम व्यू से असल इवेंट रिपोर्टिंग टैब में लागू होने में करीब 24 घंटे लग सकते हैं. इसलिए, अगर आपको नियमित इवेंट रिपोर्टिंग में तुरंत यह न दिखे, तो चिंता करने की कोई ज़रूरत नहीं है!

अगर आपको समस्याएं या गड़बड़ियां दिख रही हैं, तो मेज़रमेंट प्रोटोकॉल की सीमाओं को यहां देखें

5. Python स्क्रिप्ट बनाना

आपने इसकी जांच कर ली है. अब Python (या अपनी पसंद की किसी भी भाषा में) में ऐसा ही आर्किटेक्चर बनाने के लिए, एपीआई कॉल और इवेंट पेलोड की जांच की जा सकती है. इससे यह कॉल किया जा सकता है. इसके बाद, इसे अपनी पसंद के हिसाब से शेड्यूल करके, प्रोसेस किया जा सकता है. इस हिस्से के लिए, अपनी पसंद के किसी भी ऐसे IDE का इस्तेमाल किया जा सकता है जो Python के साथ काम करता है या सिर्फ़ Google Colab notebook का इस्तेमाल करें. इसके लिए, आपके डिवाइस पर किसी भी तरह के IDE का इस्तेमाल करने की ज़रूरत नहीं होती है

GA4 इवेंट बिल्डर के बारे में बताने पर, आपको दिखेगा कि एंडपॉइंट नीचे दिया गया है

POST /mp/collect?firebase_app_id=XXXX&api_secret=XXXX 
HTTP/1.1
Host: www.google-analytics.com

इवेंट का पेलोड नीचे दिया गया था

{
  "app_instance_id": XXXX,
  "non_personalized_ads": false,
  "events": [
    {
      "name": "test_from_codelab",
      "params": {
        "test_param": "test_123"
      }
    }
  ]
}

आप इस तरह की सुविधा का इस्तेमाल करके इसका अनुवाद Python में कर सकते हैं

import requests
import json
url = "https://www.google-analytics.com/mp/collect?firebase_app_id=XXXX&api_secret=XXXX"
payload = {
  "app_instance_id": XXXX,
  "non_personalized_ads": False,
  "events": [
    {
      "name": "test_from_codelab",
      "params": {
        "test_param": "test_123"
      }
    }
  ]
}
r = requests.post(url,data=json.dumps(payload),verify=True)
print(r.status_code)

इसे सही वैल्यू के साथ एक्ज़ीक्यूट करने के बाद, आपको GA4 में भी रीयलटाइम में इवेंट दिखेगा.

6. बधाई

बधाई हो, आपने GA4 में मेज़रमेंट प्रोटोकॉल का इस्तेमाल कर लिया है. अब Google Analytics को ज़्यादा काम का डेटा भेजने के लिए, बेहतर समाधान आर्किटेक्चर बनाए जा सकते हैं. साथ ही, मार्केटिंग और कारोबार के आंकड़ों को बेहतर बनाया जा सकता है. इसका ज़्यादा से ज़्यादा फ़ायदा पाने के लिए, हमारा यह भी सुझाव है कि आप अपने खाते को Google Ads से कनेक्ट करें और इन इवेंट को कन्वर्ज़न के तौर पर इंपोर्ट करें. इस बारे में ज़्यादा जानकारी के लिए, इस कोडलैब का छठा चरण देखें. कन्वर्ज़न ट्रैकिंग के लिए, Google Ads सिर्फ़ पिछले 60 दिनों में Firebase SDK टूल से इकट्ठा किए गए IDFA या डिवाइस आईडी से जुड़ा डेटा दिखाएगा. ध्यान रखें कि यह अब भी ऐल्फ़ा एपीआई है. साथ ही, यहां बताई गई सीमाओं को ज़रूर पूरा करें. इन्हें पूरी तरह लॉन्च करने से पहले ठीक किया जाना चाहिए

आपको सीख मिली है

  • एमपी कॉल करने के लिए, सही वैरिएबल कैसे इकट्ठा करें
  • टेस्ट इवेंट भेजने और उनकी पुष्टि करने का तरीका
  • MP कॉल भेजने के लिए स्क्रिप्ट कैसे बनाएं