A/B टेस्टिंग के साथ मैसेज सेवा प्रयोग बनाएं

अपने उपयोगकर्ताओं से संपर्क करते समय या नया मार्केटिंग कैंपेन शुरू करते समय, आपको यह पक्का करना होगा कि आपने सही तरीके से काम किया है. A/B टेस्टिंग की मदद से, उपयोगकर्ताओं के चुने गए हिस्सों पर मैसेज के वैरिएंट की जांच करके, सबसे सही शब्द और प्रज़ेंटेशन का पता लगाया जा सकता है. चाहे आपका लक्ष्य किसी ऑफ़र पर उपयोगकर्ताओं को बनाए रखना हो या कन्वर्ज़न पाना हो, A/B टेस्टिंग से आंकड़ों का विश्लेषण किया जा सकता है. इससे यह पता चलता है कि आपके चुने गए लक्ष्य के लिए, मैसेज का कोई वैरिएंट बेसलाइन से बेहतर परफ़ॉर्म कर रहा है या नहीं.

बेसलाइन के साथ सुविधा के वैरिएंट का A/B टेस्ट करने के लिए, यह तरीका अपनाएं:

  1. अपना एक्सपेरिमेंट बनाएं.
  2. टेस्ट डिवाइस पर अपने एक्सपेरिमेंट की पुष्टि करें.
  3. अपना एक्सपेरिमेंट मैनेज करें.

एक प्रयोग बनाएं

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

  1. Firebase console में साइन इन करें और पुष्टि करें कि आपके प्रोजेक्ट में Google Analytics चालू है, ताकि प्रयोग के पास Analytics डेटा का ऐक्सेस हो.

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

  2. Firebase कंसोल के नेविगेशन बार में, यूज़र ऐक्टिविटी सेक्शन में जाकर, A/B Testing पर क्लिक करें.

  3. एक्सपेरिमेंट बनाएं पर क्लिक करें. इसके बाद, जिस सेवा के लिए आपको एक्सपेरिमेंट करना है उसके लिए कहा जाने पर, सूचनाएं चुनें.

  4. अपने एक्सपेरिमेंट के लिए नाम और जानकारी डालें. हालांकि, जानकारी डालना ज़रूरी नहीं है. इसके बाद, आगे बढ़ें पर क्लिक करें.

  5. टारगेटिंग फ़ील्ड भरें. इसके लिए, सबसे पहले वह ऐप्लिकेशन चुनें जो आपके एक्सपेरिमेंट का इस्तेमाल करता है. अपने एक्सपेरिमेंट में हिस्सा लेने के लिए, अपने उपयोगकर्ताओं के किसी सबसेट को भी टारगेट किया जा सकता है. इसके लिए, यहां दिए गए विकल्पों में से कोई विकल्प चुनें:

    • वर्शन: आपके ऐप्लिकेशन का एक या उससे ज़्यादा वर्शन
    • उपयोगकर्ता ऑडियंस: Analytics उन उपयोगकर्ताओं को टारगेट करने के लिए इस्तेमाल की जाने वाली ऑडियंस जिन्हें एक्सपेरिमेंट में शामिल किया जा सकता है
    • उपयोगकर्ता प्रॉपर्टी: प्रयोग में शामिल किए जा सकने वाले उपयोगकर्ताओं को चुनने के लिए, एक या उससे ज़्यादा Analytics उपयोगकर्ता प्रॉपर्टी
    • देश/इलाका: एक या एक से ज़्यादा देश या इलाके, जहां रहने वाले ऐसे उपयोगकर्ताओं को चुना जा सकता है जिन्हें एक्सपेरिमेंट में शामिल किया जा सकता है
    • डिवाइस की भाषा: एक या उससे ज़्यादा भाषाएं और स्थानीय भाषाएं, जिनका इस्तेमाल उन उपयोगकर्ताओं को चुनने के लिए किया जाता है जिन्हें एक्सपेरिमेंट में शामिल किया जा सकता है
    • पहली बार खोलना: उन उपयोगकर्ताओं को टारगेट करें जिन्होंने पहली बार आपका ऐप्लिकेशन खोला
    • ऐप्लिकेशन में पिछली बार यूज़र ऐक्टिविटी: उपयोगकर्ताओं को इस आधार पर टारगेट करें कि वे आखिरी बार आपके ऐप्लिकेशन में कब शामिल हुए थे
  6. टारगेट किए गए उपयोगकर्ताओं का प्रतिशत सेट करें:टारगेट किए गए उपयोगकर्ता में बताई गई शर्तों के मुताबिक, अपने ऐप्लिकेशन के उपयोगकर्ता आधार का वह प्रतिशत चुनें जिसे आपको अपने प्रयोग में, बेसलाइन और एक या उससे ज़्यादा वैरिएंट के बीच बराबर बांटना है. यह 0.01% से 100% के बीच कोई भी प्रतिशत हो सकता है. हर एक्सपेरिमेंट के लिए, उपयोगकर्ताओं को प्रतिशत को फिर से असाइन किया जाता है. इसमें डुप्लीकेट एक्सपेरिमेंट भी शामिल हैं.

  7. वैरिएंट सेक्शन में, मैसेज का टेक्स्ट डालें फ़ील्ड में, बेसलाइन ग्रुप को भेजने के लिए कोई मैसेज टाइप करें. बेसलाइन ग्रुप को कोई मैसेज न भेजने के लिए, इस फ़ील्ड को खाली छोड़ दें.

  8. (ज़रूरी नहीं) अपने एक्सपेरिमेंट में एक से ज़्यादा वैरिएंट जोड़ने के लिए, वैरिएंट जोड़ें पर क्लिक करें. डिफ़ॉल्ट रूप से, एक्सपेरिमेंट में एक बेसलाइन और एक वैरिएंट होता है.

  9. (ज़रूरी नहीं) अपने एक्सपेरिमेंट में हर वैरिएंट के लिए एक नाम डालें, ताकि वैरिएंट A, वैरिएंट B वगैरह जैसे नामों को बदला जा सके.

  10. अपने एक्सपेरिमेंट के लिए कोई लक्ष्य मेट्रिक तय करें, ताकि एक्सपेरिमेंट के वैरिएंट का आकलन करते समय उसका इस्तेमाल किया जा सके. साथ ही, ड्रॉपडाउन सूची से अपनी पसंद की अन्य मेट्रिक भी चुनी जा सकती हैं. इन मेट्रिक में, पहले से मौजूद मकसद (यूज़र ऐक्टिविटी, खरीदारी, रेवेन्यू, उपयोगकर्ता बनाए रखना वगैरह) शामिल होते हैं, Analytics कन्वर्ज़न इवेंट और अन्य Analytics इवेंट.

  11. अपने मैसेज के लिए विकल्प चुनें:

    • डिलीवरी की तारीख: सेव करने के तुरंत बाद एक्सपेरिमेंट को लॉन्च करने के लिए, अभी भेजें चुनें. इसके अलावा, आने वाले समय में एक्सपेरिमेंट लॉन्च करने के लिए, शेड्यूल किया गया चुनें.
    • बेहतर विकल्प: अपने एक्सपेरिमेंट में शामिल सभी सूचनाओं के लिए बेहतर विकल्प चुनने के लिए, बेहतर विकल्प को बड़ा करें. इसके बाद, सूची में दिए गए मैसेज के किसी भी विकल्प में बदलाव करें.
  12. अपना एक्सपेरिमेंट सेव करने के लिए, समीक्षा करें पर क्लिक करें.

हर प्रोजेक्ट के लिए, ज़्यादा से ज़्यादा 300 एक्सपेरिमेंट चलाए जा सकते हैं. इसमें 24 एक्सपेरिमेंट चल रहे हो सकते हैं. बाकी एक्सपेरिमेंट, ड्राफ़्ट के तौर पर या पूरे हो चुके हो सकते हैं.

टेस्ट डिवाइस पर अपने एक्सपेरिमेंट की पुष्टि करना

हर Firebase इंस्टॉलेशन के लिए, उससे जुड़ा FCM रजिस्ट्रेशन टोकन वापस पाया जा सकता है. इस टोकन का इस्तेमाल करके, टेस्ट के लिए इस्तेमाल किए जा रहे किसी डिवाइस पर, एक्सपेरिमेंट के खास वैरिएंट को टेस्ट किया जा सकता है. टेस्ट डिवाइस पर अपने एक्सपेरिमेंट की पुष्टि करने के लिए, यह तरीका अपनाएं:

  1. FCM रजिस्ट्रेशन टोकन पाने के लिए, यह तरीका अपनाएं:

    Swift

    Messaging.messaging().token { token, error in
      if let error = error {
        print("Error fetching FCM registration token: \(error)")
      } else if let token = token {
        print("FCM registration token: \(token)")
        self.fcmRegTokenMessage.text  = "Remote FCM registration token: \(token)"
      }
    }

    Objective-C

    [[FIRMessaging messaging] tokenWithCompletion:^(NSString *token, NSError *error) {
      if (error != nil) {
        NSLog(@"Error getting FCM registration token: %@", error);
      } else {
        NSLog(@"FCM registration token: %@", token);
        self.fcmRegTokenMessage.text = token;
      }
    }];

    Java

    FirebaseMessaging.getInstance().getToken()
        .addOnCompleteListener(new OnCompleteListener<String>() {
            @Override
            public void onComplete(@NonNull Task<String> task) {
              if (!task.isSuccessful()) {
                Log.w(TAG, "Fetching FCM registration token failed", task.getException());
                return;
              }
    
              // Get new FCM registration token
              String token = task.getResult();
    
              // Log and toast
              String msg = getString(R.string.msg_token_fmt, token);
              Log.d(TAG, msg);
              Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();
            }
        });

    Kotlin+KTX

    FirebaseMessaging.getInstance().token.addOnCompleteListener(OnCompleteListener { task ->
        if (!task.isSuccessful) {
            Log.w(TAG, "Fetching FCM registration token failed", task.exception)
            return@OnCompleteListener
        }
    
        // Get new FCM registration token
        val token = task.result
    
        // Log and toast
        val msg = getString(R.string.msg_token_fmt, token)
        Log.d(TAG, msg)
        Toast.makeText(baseContext, msg, Toast.LENGTH_SHORT).show()
    })

    C++

    firebase::InitResult init_result;
    auto* installations_object = firebase::installations::Installations::GetInstance(
        firebase::App::GetInstance(), &init_result);
    installations_object->GetToken().OnCompletion(
        [](const firebase::Future<std::string>& future) {
          if (future.status() == kFutureStatusComplete &&
              future.error() == firebase::installations::kErrorNone) {
            printf("Installations Auth Token %s\n", future.result()->c_str());
          }
        });

    Unity

    Firebase.Messaging.FirebaseMessaging.DefaultInstance.GetTokenAsync().ContinueWith(
      task => {
        if (!(task.IsCanceled || task.IsFaulted) && task.IsCompleted) {
          UnityEngine.Debug.Log(System.String.Format("FCM registration token {0}", task.Result));
        }
      });
  2. Firebase कंसोल के नेविगेशन बार में, A/B टेस्टिंग पर क्लिक करें.
  3. ड्राफ़्ट पर क्लिक करें. इसके बाद, अपने प्रयोग पर कर्सर घुमाएं और कॉन्टेक्स्ट मेन्यू () पर क्लिक करें. इसके बाद, टेस्ट डिवाइस मैनेज करें पर क्लिक करें
  4. किसी टेस्ट डिवाइस के लिए FCM टोकन डालें और उस टेस्ट डिवाइस पर भेजने के लिए, एक्सपेरिमेंट का वैरिएंट चुनें.
  5. ऐप्लिकेशन चलाएं और पुष्टि करें कि चुना गया वैरिएंट, जांच के लिए इस्तेमाल किए जा रहे डिवाइस पर दिख रहा है या नहीं.

अपना एक्सपेरिमेंट मैनेज करना

Remote Config, सूचनाएं बनाने वाले टूल या Firebase In-App Messaging की मदद से प्रयोग बनाने के बाद, उसकी पुष्टि की जा सकती है और उसे शुरू किया जा सकता है. साथ ही, प्रयोग के चलने के दौरान उसे मॉनिटर किया जा सकता है और उसमें शामिल उपयोगकर्ताओं की संख्या बढ़ाई जा सकती है.

एक्सपेरिमेंट पूरा होने के बाद, सबसे अच्छा परफ़ॉर्म करने वाले वैरिएंट में इस्तेमाल की गई सेटिंग का ध्यान रखा जा सकता है. इसके बाद, उन सेटिंग को सभी उपयोगकर्ताओं के लिए रोल आउट किया जा सकता है. इसके अलावा, कोई दूसरा एक्सपेरिमेंट भी चलाया जा सकता है.

एक प्रयोग शुरू करें

  1. Firebase कंसोल के नेविगेशन मेन्यू में, दर्शकों से जुड़ें सेक्शन में जाकर, A/B Testing पर क्लिक करें.
  2. ड्राफ़्ट पर क्लिक करें. इसके बाद, अपने एक्सपेरिमेंट के टाइटल पर क्लिक करें.
  3. यह पुष्टि करने के लिए कि आपके ऐप्लिकेशन में ऐसे उपयोगकर्ता हैं जिन्हें आपके एक्सपेरिमेंट में शामिल किया जाएगा, ड्राफ़्ट की जानकारी को बड़ा करें और टारगेटिंग और डिस्ट्रिब्यूशन सेक्शन में, 0% से ज़्यादा संख्या देखें. उदाहरण के लिए, शर्तों से मेल खाने वाले 1% उपयोगकर्ता.
  4. अपने एक्सपेरिमेंट में बदलाव करने के लिए, बदलाव करें पर क्लिक करें.
  5. अपना एक्सपेरिमेंट शुरू करने के लिए, एक्सपेरिमेंट शुरू करें पर क्लिक करें. एक समय पर, हर प्रोजेक्ट के लिए ज़्यादा से ज़्यादा 24 एक्सपेरिमेंट चलाए जा सकते हैं.

एक्सपेरिमेंट को मॉनिटर करना

जब कोई प्रयोग कुछ समय तक चल चुका हो, तो उसकी प्रोग्रेस देखी जा सकती है. साथ ही, यह भी देखा जा सकता है कि अब तक आपके प्रयोग में हिस्सा लेने वाले उपयोगकर्ताओं के लिए, नतीजे कैसा दिख रहे हैं.

  1. Firebase कंसोल के नेविगेशन मेन्यू में, दर्शकों से जुड़ें सेक्शन में जाकर, A/B Testing पर क्लिक करें.
  2. चल रहे हैं पर क्लिक करें. इसके बाद, अपने एक्सपेरिमेंट के टाइटल पर क्लिक करें या उसे खोजें. इस पेज पर, अपने चल रहे एक्सपेरिमेंट के बारे में, निगरानी में रखे गए और मॉडल किए गए अलग-अलग आंकड़े देखे जा सकते हैं. इनमें ये आंकड़े भी शामिल हैं:

    • बेसलाइन से % अंतर: बेसलाइन की तुलना में, किसी वैरिएंट के लिए मेट्रिक में हुए सुधार का आकलन. इसकी गिनती, वैरिएंट की वैल्यू रेंज की तुलना, बेसलाइन की वैल्यू रेंज से करके की जाती है.
    • बुनियादी रेखा को पीछे छोड़ने की संभावना: यह अनुमानित संभावना है कि कोई वैरिएंट, चुनी गई मेट्रिक के लिए बुनियादी रेखा को पीछे छोड़ सकता है.
    • observed_metric हर उपयोगकर्ता के लिए: एक्सपेरिमेंट के नतीजों के आधार पर, यह अनुमानित रेंज है कि समय के साथ मेट्रिक की वैल्यू किस रेंज में रहेगी.
    • कुल observed_metric: बेसलाइन या वैरिएंट के लिए, इकट्ठा की गई वैल्यू. वैल्यू का इस्तेमाल यह मेज़र करने के लिए किया जाता है कि एक्सपेरिमेंट का हर वैरिएंट कितना अच्छा परफ़ॉर्म करता है. साथ ही, इसका इस्तेमाल बेहतर करने, वैल्यू की रेंज, बेसलाइन को बेहतर बनाने की संभावना, और सबसे अच्छा वैरिएंट होने की संभावना का हिसाब लगाने के लिए किया जाता है. मेज़र की जा रही मेट्रिक के आधार पर, इस कॉलम को "हर उपयोगकर्ता के लिए अवधि," "हर उपयोगकर्ता से होने वाली आय," "उपयोगकर्ता बनाए रखने की दर" या "कन्वर्ज़न रेट" के तौर पर लेबल किया जा सकता है.
  3. एक्सपेरिमेंट कुछ समय तक चलने के बाद (FCM और In-App Messaging के लिए कम से कम सात दिन या Remote Config के लिए 14 दिन), इस पेज पर मौजूद डेटा से पता चलता है कि कौनसा वैरिएंट "लीडर" है. कुछ मेज़रमेंट के साथ एक बार चार्ट होता है, जो डेटा को विज़ुअल फ़ॉर्मैट में दिखाता है.

सभी उपयोगकर्ताओं के लिए एक्सपेरिमेंट को रोल आउट करना

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

  1. Firebase कंसोल के नेविगेशन मेन्यू में, दर्शकों से जुड़ें सेक्शन में जाकर, A/B Testing पर क्लिक करें.
  2. पूरा हो गया या चल रहा है पर क्लिक करें. इसके बाद, उस एक्सपेरिमेंट पर क्लिक करें जिसे आपको सभी उपयोगकर्ताओं के लिए रिलीज़ करना है. इसके बाद, संदर्भ मेन्यू () पर क्लिक करें और वैरिएंट को रोल आउट करें पर क्लिक करें.
  3. अपने प्रयोग को सभी उपयोगकर्ताओं के लिए रोल आउट करने के लिए, इनमें से कोई एक तरीका अपनाएं:

    • सूचनाएं बनाने वाले टूल का इस्तेमाल करने वाले एक्सपेरिमेंट के लिए, रोल आउट मैसेज डायलॉग का इस्तेमाल करें. इससे, टारगेट किए गए उन उपयोगकर्ताओं को मैसेज भेजा जा सकता है जो एक्सपेरिमेंट का हिस्सा नहीं थे.
    • Remote Config प्रयोग के लिए, कोई वैरिएंट चुनें. इससे यह तय किया जा सकेगा कि किन Remote Config पैरामीटर वैल्यू को अपडेट करना है. एक्सपेरिमेंट बनाते समय तय की गई टारगेटिंग की शर्तों को आपके टेंप्लेट में नई शर्त के तौर पर जोड़ा जाता है. इससे यह पक्का होता है कि रोल आउट का असर सिर्फ़ उन उपयोगकर्ताओं पर पड़े जिन्हें एक्सपेरिमेंट के लिए टारगेट किया गया है. बदलावों की समीक्षा करने के लिए, रिमोट कॉन्फ़िगरेशन में देखें पर क्लिक करें. इसके बाद, रोल आउट पूरा करने के लिए, बदलाव पब्लिश करें पर क्लिक करें.
    • In-App Messaging एक्सपेरिमेंट के लिए, डायलॉग का इस्तेमाल करके यह तय करें कि किस वैरिएंट को स्टैंडअलोन In-App Messaging कैंपेन के तौर पर रोल आउट करना है. चुनने के बाद, आपको FIAM की कॉम्पोज़ स्क्रीन पर रीडायरेक्ट कर दिया जाता है, ताकि पब्लिश करने से पहले, ज़रूरत पड़ने पर उसमें बदलाव किए जा सकें.

एक्सपेरिमेंट को बड़ा करना

अगर आपको लगता है कि किसी एक्सपेरिमेंट से A/B Testing को लीडर के तौर पर घोषित करने के लिए ज़रूरत के मुताबिक उपयोगकर्ता नहीं मिल रहे हैं, तो अपने एक्सपेरिमेंट के डिस्ट्रिब्यूशन को बढ़ाएं. इससे, ऐप्लिकेशन के उपयोगकर्ता आधार के ज़्यादा से ज़्यादा लोगों तक पहुंचा जा सकता है.

  1. Firebase कंसोल के नेविगेशन मेन्यू में, दर्शकों से जुड़ें सेक्शन में जाकर, A/B Testing पर क्लिक करें.
  2. वह एक्सपेरिमेंट चुनें जिसमें आपको बदलाव करना है.
  3. एक्सपेरिमेंट की खास जानकारी में, संदर्भ मेन्यू () पर क्लिक करें. इसके बाद, चल रहे एक्सपेरिमेंट में बदलाव करें पर क्लिक करें.
  4. टारगेटिंग डायलॉग में, चल रहे एक्सपेरिमेंट में शामिल उपयोगकर्ताओं का प्रतिशत बढ़ाने का विकल्प दिखता है. मौजूदा प्रतिशत से ज़्यादा कोई संख्या चुनें और पब्लिश करें पर क्लिक करें. एक्सपेरिमेंट को आपके तय किए गए उपयोगकर्ताओं के प्रतिशत तक पुश किया जाएगा.

किसी एक्सपेरिमेंट का डुप्लीकेट बनाना या उसे रोकना

  1. Firebase कंसोल के नेविगेशन मेन्यू में, दर्शकों से जुड़ें सेक्शन में जाकर, A/B Testing पर क्लिक करें.
  2. पूरा हो चुका या चल रहा है पर क्लिक करें. इसके बाद, अपने एक्सपेरिमेंट पर कर्सर घुमाएं और संदर्भ मेन्यू () पर क्लिक करें. इसके बाद, एक्सपेरिमेंट का डुप्लीकेट बनाएं या एक्सपेरिमेंट बंद करें पर क्लिक करें.

उपयोगकर्ता टारगेटिंग

उपयोगकर्ता को टारगेट करने से जुड़ी इन शर्तों का इस्तेमाल करके, अपने प्रयोग में शामिल करने के लिए उपयोगकर्ताओं को टारगेट किया जा सकता है.

टारगेटिंग की शर्त ऑपरेटर    वैल्यू ध्यान दें
वर्शन contains,
does not contain,
matches exactly,
contains regex
एक या उससे ज़्यादा ऐप्लिकेशन वर्शन के लिए वैल्यू डालें जिन्हें आपको प्रयोग में शामिल करना है.

इसमें शामिल है, इसमें शामिल नहीं है या एग्ज़ैक्ट मैच ऑपरेटर का इस्तेमाल करते समय, वैल्यू की सूची को कॉमा लगाकर अलग-अलग किया जा सकता है.

contains regex ऑपरेटर का इस्तेमाल करते समय, RE2 फ़ॉर्मैट में रेगुलर एक्सप्रेशन बनाए जा सकते हैं. आपका रेगुलर एक्सप्रेशन, टारगेट वर्शन की स्ट्रिंग के सभी या कुछ हिस्से से मैच कर सकता है. टारगेट स्ट्रिंग के शुरू, आखिर या पूरी स्ट्रिंग से मैच करने के लिए, ^ और $ ऐंकर का भी इस्तेमाल किया जा सकता है.

उपयोगकर्ता ऑडियंस इनमें से सभी शामिल हैं,
इनमें से कम से कम एक शामिल है,
इनमें से सभी शामिल नहीं हैं,
इनमें से कम से कम एक शामिल नहीं है
उन उपयोगकर्ताओं को टारगेट करने के लिए, एक या उससे ज़्यादा Analytics ऑडियंस चुनें जिन्हें आपके एक्सपेरिमेंट में शामिल किया जा सकता है. Google Analytics ऑडियंस को टारगेट करने वाले कुछ एक्सपेरिमेंट में, डेटा इकट्ठा होने में कुछ दिन लग सकते हैं. इसकी वजह यह है कि इन पर Analyticsडेटा प्रोसेसिंग में लगने वाला समय लागू होता है. आम तौर पर, नए उपयोगकर्ताओं को ज़रूरी शर्तें पूरी करने वाली ऑडियंस में, ऑडियंस बनाने के 24 से 48 घंटे बाद शामिल किया जाता है. इसके अलावा, हाल ही में बनाई गई ऑडियंस के लिए भी ऐसा किया जाता है.
उपयोगकर्ता प्रॉपर्टी टेक्स्ट के लिए:
इसमें शामिल है,
इसमें शामिल नहीं है,
पूरी तरह से मेल खाता है,
इसमें रेगुलर एक्सप्रेशन शामिल है

संख्याओं के लिए:
<, ≤, =, ≥, >
Analytics उपयोगकर्ता प्रॉपर्टी का इस्तेमाल, उन उपयोगकर्ताओं को चुनने के लिए किया जाता है जिन्हें किसी एक्सपेरिमेंट में शामिल किया जा सकता है. साथ ही, उपयोगकर्ता प्रॉपर्टी की वैल्यू चुनने के लिए कई विकल्प भी उपलब्ध होते हैं.

क्लाइंट पर, उपयोगकर्ता प्रॉपर्टी के लिए सिर्फ़ स्ट्रिंग वैल्यू सेट की जा सकती हैं. संख्या वाले ऑपरेटर का इस्तेमाल करने वाली शर्तों के लिए, Remote Config सेवा, उससे जुड़ी उपयोगकर्ता प्रॉपर्टी की वैल्यू को पूर्णांक/फ़्लोट में बदल देती है.
contains regex ऑपरेटर का इस्तेमाल करते समय, RE2 फ़ॉर्मैट में रेगुलर एक्सप्रेशन बनाए जा सकते हैं. आपका रेगुलर एक्सप्रेशन, टारगेट वर्शन की स्ट्रिंग के सभी या कुछ हिस्से से मैच कर सकता है. टारगेट स्ट्रिंग के शुरू, आखिर या पूरी स्ट्रिंग से मैच करने के लिए, ^ और $ ऐंकर का भी इस्तेमाल किया जा सकता है.
देश/क्षेत्र लागू नहीं एक या उससे ज़्यादा देश या इलाके, जिनका इस्तेमाल उन उपयोगकर्ताओं को चुनने के लिए किया जाता है जिन्हें एक्सपेरिमेंट में शामिल किया जा सकता है.  
भाषाएं लागू नहीं एक या उससे ज़्यादा भाषाएं और स्थानीय भाषाएं, जिनका इस्तेमाल उन उपयोगकर्ताओं को चुनने के लिए किया जाता है जिन्हें एक्सपेरिमेंट में शामिल किया जा सकता है.  
फ़र्स्ट ओपन रिपोर्ट इससे ज़्यादा
इससे कम
इसके बीच
उपयोगकर्ताओं को इस आधार पर टारगेट करें कि उन्होंने पहली बार आपका ऐप्लिकेशन कब खोला था. यह समय दिनों में तय किया जाता है.
ऐप्लिकेशन में पिछली बार दिलचस्पी दिखाने की तारीख इससे ज़्यादा
इससे कम
इसके बीच
उपयोगकर्ताओं को टारगेट करने के लिए, यह तय करें कि वे आपके ऐप्लिकेशन से आखिरी बार कब जुड़े थे. इसे दिनों में तय किया जाता है.

A/B Testing मेट्रिक

एक्सपेरिमेंट बनाते समय, आपको एक प्राइमरी या लक्ष्य मेट्रिक चुननी होती है. इसका इस्तेमाल, सबसे अच्छा परफ़ॉर्म करने वाले वैरिएंट का पता लगाने के लिए किया जाता है. आपको अन्य मेट्रिक भी ट्रैक करनी चाहिए, ताकि आपको एक्सपेरिमेंट के हर वैरिएंट की परफ़ॉर्मेंस को बेहतर तरीके से समझने में मदद मिल सके. साथ ही, हर वैरिएंट के लिए अलग-अलग हो सकने वाले अहम रुझानों को ट्रैक किया जा सके. जैसे, उपयोगकर्ता बनाए रखना, ऐप्लिकेशन के काम करने का तरीका, और इन-ऐप्लिकेशन खरीदारी से होने वाली आय. अपने एक्सपेरिमेंट में, ज़्यादा से ज़्यादा पांच ऐसी मेट्रिक ट्रैक की जा सकती हैं जो लक्ष्य से जुड़ी नहीं हैं.

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

  • कुल अनुमानित आय, ताकि यह देखा जा सके कि इन-ऐप्लिकेशन खरीदारी और विज्ञापन से होने वाली आपकी कुल आय, दोनों वैरिएंट के बीच में कितनी अलग है
  • उपयोगकर्ता के रोज़ाना/हफ़्ते के हिसाब से ऐप्लिकेशन इस्तेमाल करने की दर को ट्रैक करने के लिए, उपयोगकर्ता बनाए रखना (1 दिन), उपयोगकर्ता बनाए रखना (2-3 दिन), उपयोगकर्ता बनाए रखना (4-7 दिन)

यहां दी गई टेबल में, लक्ष्य मेट्रिक और अन्य मेट्रिक का हिसाब लगाने के तरीके के बारे में जानकारी दी गई है.

लक्ष्य मेट्रिक

मेट्रिक ब्यौरा
वे उपयोगकर्ता जिनके ऐप बंद नहीं हुए उन उपयोगकर्ताओं का प्रतिशत जिन्हें आपके ऐप्लिकेशन में ऐसी गड़बड़ियों का सामना नहीं करना पड़ा जिनका पता, प्रयोग के दौरान Firebase Crashlytics SDK ने लगाया था.
विज्ञापन से मिलने वाला अनुमानित रेवेन्यू विज्ञापन से होने वाली अनुमानित आय.
अनुमानित कुल रेवेन्यू खरीदारी और विज्ञापन से होने वाले अनुमानित रेवेन्यू की कुल वैल्यू.
खरीदारी से हुई आय सभी purchase और in_app_purchase इवेंट की कुल वैल्यू.
ऐप्लिकेशन में बने रहने की अवधि (एक दिन) ऐसे उपयोगकर्ताओं की संख्या जो हर दिन आपके ऐप्लिकेशन पर वापस आते हैं.
उपयोगकर्ताओं के बने रहने की अवधि (दो से तीन दिन) ऐसे उपयोगकर्ताओं की संख्या जो दो से तीन दिनों के अंदर आपके ऐप्लिकेशन पर वापस आते हैं.
उपयोगकर्ताओं का ऐप्लिकेशन इस्तेमाल करना जारी रखना (4 से 7 दिन) ऐसे उपयोगकर्ताओं की संख्या जो 4 से 7 दिनों के अंदर आपके ऐप्लिकेशन पर वापस आते हैं.
उपयोगकर्ता बनाए रखना (8 से 14 दिन) ऐसे उपयोगकर्ताओं की संख्या जो 8 से 14 दिनों के अंदर आपके ऐप्लिकेशन पर वापस आते हैं.
उपयोगकर्ताओं का ऐप्लिकेशन इस्तेमाल करना जारी रखना (15 दिन से ज़्यादा) ऐसे उपयोगकर्ताओं की संख्या जो आपके ऐप्लिकेशन का आखिरी बार इस्तेमाल करने के 15 या उससे ज़्यादा दिनों बाद, ऐप्लिकेशन पर वापस आते हैं.
first_open Analytics इवेंट, जो किसी ऐप्लिकेशन को इंस्टॉल या फिर से इंस्टॉल करने के बाद, पहली बार खोलने पर ट्रिगर होता है. कन्वर्ज़न फ़नल के हिस्से के तौर पर इस्तेमाल किया जाता है.

दूसरे मेट्रिक

मेट्रिक ब्यौरा
notification_dismiss Analytics इवेंट, जो सूचना कंपोज़र से भेजी गई सूचना को खारिज करने पर ट्रिगर होता है. यह सिर्फ़ Android के लिए है.
notification_receive Analytics इवेंट, जो तब ट्रिगर होता है, जब ऐप्लिकेशन बैकग्राउंड में होने पर, सूचनाएं बनाने वाले टूल से भेजी गई सूचना मिलती है. यह इवेंट सिर्फ़ Android डिवाइसों पर काम करता है.
os_update Analytics इवेंट, जो ट्रैक करता है कि डिवाइस का ऑपरेटिंग सिस्टम, नए वर्शन पर कब अपडेट किया गया. ज़्यादा जानने के लिए, अपने-आप इकट्ठा होने वाले इवेंट देखें.
screen_view Analytics इवेंट, जो आपके ऐप्लिकेशन में देखी गई स्क्रीन को ट्रैक करता है. ज़्यादा जानने के लिए, स्क्रीन व्यू ट्रैक करना लेख पढ़ें.
session_start एक Analytics इवेंट, जो आपके ऐप्लिकेशन में उपयोगकर्ता सेशन की गिनती करता है. ज़्यादा जानने के लिए, अपने-आप इकट्ठा होने वाले इवेंट देखें.

BigQuery डेटा एक्सपोर्ट

A/B Testing कंसोल में एक्सपेरिमेंट का डेटा देखने के अलावा, BigQuery में एक्सपेरिमेंट के डेटा की जांच की जा सकती है और उसका विश्लेषण किया जा सकता है. A/B Testing के लिए अलग BigQuery टेबल नहीं होती. हालांकि, Analytics इवेंट टेबल में हर Google Analytics इवेंट के लिए, एक्सपेरिमेंट और वैरिएंट की सदस्यताएं सेव की जाती हैं.

जिन उपयोगकर्ता प्रॉपर्टी में एक्सपेरिमेंट की जानकारी होती है वे userProperty.key like "firebase_exp_%" या userProperty.key = "firebase_exp_01" फ़ॉर्मैट में होती हैं. इनमें 01, एक्सपेरिमेंट आईडी होता है और userProperty.value.string_value में एक्सपेरिमेंट वैरिएंट का इंडेक्स (शून्य पर आधारित) होता है.

एक्सपेरिमेंट का डेटा निकालने के लिए, इन एक्सपेरिमेंट उपयोगकर्ता प्रॉपर्टी का इस्तेमाल किया जा सकता है. इससे, आपको अपने एक्सपेरिमेंट के नतीजों को कई अलग-अलग तरीकों से देखने और A/B Testing के नतीजों की स्वतंत्र रूप से पुष्टि करने की सुविधा मिलती है.

शुरू करने के लिए, इस गाइड में बताए गए तरीके से यह प्रोसेस पूरी करें:

  1. Firebase कंसोल में, Google Analytics के लिए BigQuery एक्सपोर्ट की सुविधा चालू करना
  2. BigQuery का इस्तेमाल करके A/B Testing डेटा ऐक्सेस करना
  3. उदाहरण के तौर पर दी गई क्वेरी एक्सप्लोर करना

Firebase कंसोल में, Google Analytics के लिए BigQuery एक्सपोर्ट की सुविधा चालू करना

Spark प्लान का इस्तेमाल करने पर, BigQuery सैंडबॉक्स का इस्तेमाल करके, BigQuery को बिना किसी शुल्क के ऐक्सेस किया जा सकता है. हालांकि, इसके लिए सैंडबॉक्स की सीमाएं लागू होंगी. ज़्यादा जानकारी के लिए, कीमत और BigQuery सैंडबॉक्स देखें.

सबसे पहले, पक्का करें कि आपने Analytics डेटा को BigQuery में एक्सपोर्ट किया हो:

  1. इंटिग्रेशन टैब खोलें. इसे Firebase कंसोल में > प्रोजेक्ट सेटिंग का इस्तेमाल करके ऐक्सेस किया जा सकता है.
  2. अगर BigQuery का इस्तेमाल, Firebase की अन्य सेवाओं के साथ पहले से किया जा रहा है, तो मैनेज करें पर क्लिक करें. अगर ऐसा नहीं है, तो लिंक करें पर क्लिक करें.
  3. BigQuery से Firebase को लिंक करने के बारे में जानकारी देखें. इसके बाद, आगे बढ़ें पर क्लिक करें.
  4. इंटिग्रेशन कॉन्फ़िगर करें सेक्शन में, Google Analytics टॉगल को चालू करें.
  5. कोई देश/इलाका चुनें और एक्सपोर्ट सेटिंग चुनें.

  6. BigQuery से लिंक करें पर क्लिक करें.

डेटा एक्सपोर्ट करने के तरीके के आधार पर, टेबल उपलब्ध होने में एक दिन लग सकता है. BigQuery में प्रोजेक्ट डेटा एक्सपोर्ट करने के बारे में ज़्यादा जानने के लिए, BigQuery में प्रोजेक्ट डेटा एक्सपोर्ट करना लेख पढ़ें.

BigQuery में A/B Testing का डेटा ऐक्सेस करना

किसी खास एक्सपेरिमेंट के लिए डेटा क्वेरी करने से पहले, आपको अपनी क्वेरी में इस्तेमाल करने के लिए, इनमें से कुछ या सभी को हासिल करना होगा:

  • एक्सपेरिमेंट आईडी: इसे एक्सपेरिमेंट की खास जानकारी पेज के यूआरएल से पाया जा सकता है. उदाहरण के लिए, अगर आपका यूआरएल https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25 जैसा दिखता है, तो एक्सपेरिमेंट आईडी 25 है.
  • Google Analytics प्रॉपर्टी आईडी: यह आपका नौ वर्णों वाला Google Analytics प्रॉपर्टी आईडी है. इसे Google Analytics में देखा जा सकता है. साथ ही, BigQuery में भी दिखता है. ऐसा तब होता है, जब Google Analytics इवेंट टेबल (project_name.analytics_000000000.events) का नाम दिखाने के लिए, प्रोजेक्ट का नाम बड़ा किया जाता है.
  • एक्सपेरिमेंट की तारीख: तेज़ और ज़्यादा असरदार क्वेरी बनाने के लिए, अपनी क्वेरी को Google Analytics रोज़ के उन इवेंट टेबल के सेगमेंट तक सीमित रखना अच्छा होता है जिनमें आपका एक्सपेरिमेंट डेटा होता है. इन टेबल को YYYYMMDD सफ़िक्स से पहचाना जाता है. इसलिए, अगर आपका एक्सपेरिमेंट 2 फ़रवरी, 2024 से 2 मई, 2024 तक चला था, तो आपको _TABLE_SUFFIX between '20240202' AND '20240502' की जानकारी देनी होगी. उदाहरण के लिए, किसी खास एक्सपेरिमेंट की वैल्यू चुनना देखें.
  • इवेंट के नाम: आम तौर पर, ये आपके उन लक्ष्य मेट्रिक से मेल खाते हैं जिन्हें आपने एक्सपेरिमेंट में कॉन्फ़िगर किया है. उदाहरण के लिए, in_app_purchase इवेंट, ad_impression या user_retention इवेंट.
पर जाएं

ज़रूरी जानकारी इकट्ठा करने के बाद, क्वेरी जनरेट करने के लिए:

  1. Google Cloud कंसोल में, BigQuery खोलें.
  2. अपना प्रोजेक्ट चुनें. इसके बाद, SQL क्वेरी बनाएं को चुनें.
  3. अपनी क्वेरी जोड़ें. क्वेरी चलाने के उदाहरण के लिए, उदाहरण के तौर पर दी गई क्वेरी एक्सप्लोर करें देखें.
  4. चालू करें पर क्लिक करें.
देखें.

Firebase कंसोल की अपने-आप जनरेट हुई क्वेरी का इस्तेमाल करके, एक्सपेरिमेंट के डेटा को क्वेरी करना

अगर Blaze प्लान का इस्तेमाल किया जा रहा है, तो एक्सपेरिमेंट की खास जानकारी पेज पर एक सैंपल क्वेरी दिखती है. इससे, देखे जा रहे एक्सपेरिमेंट का नाम, वैरिएंट, इवेंट के नाम, और इवेंट की संख्या दिखती है.

अपने-आप जनरेट हुई क्वेरी पाने और उसे चलाने के लिए:

  1. Firebase कंसोल में, A/B Testing खोलें और वह A/B Testing एक्सपेरिमेंट चुनें जिसके लिए आपको क्वेरी करनी है, ताकि आप एक्सपेरिमेंट की खास जानकारी खोल सकें.
  2. विकल्प मेन्यू में, BigQuery इंटिग्रेशन के नीचे, एक्सपेरिमेंट डेटा क्वेरी करें को चुनें. इससे आपका प्रोजेक्ट, Google Cloud कंसोल में BigQuery के अंदर खुल जाता है. साथ ही, आपको एक बुनियादी क्वेरी मिलती है, जिसका इस्तेमाल अपने एक्सपेरिमेंट के डेटा के बारे में क्वेरी करने के लिए किया जा सकता है.

नीचे दिए गए उदाहरण में, "सर्दियों में वेलकम एक्सपेरिमेंट" नाम के तीन वैरिएंट (बेसलाइन के साथ) वाले एक्सपेरिमेंट के लिए जनरेट की गई क्वेरी दिखाई गई है. यह सक्रिय एक्सपेरिमेंट का नाम, वैरिएंट का नाम, यूनीक इवेंट, और हर इवेंट के लिए इवेंट की संख्या दिखाता है. ध्यान दें कि क्वेरी बिल्डर, टेबल के नाम में आपके प्रोजेक्ट का नाम नहीं दिखाता, क्योंकि यह सीधे आपके प्रोजेक्ट में खुलता है.

  /*
    This query is auto-generated by Firebase A/B Testing for your
    experiment "Winter welcome experiment".
    It demonstrates how you can get event counts for all Analytics
    events logged by each variant of this experiment's population.
  */
  SELECT
    'Winter welcome experiment' AS experimentName,
    CASE userProperty.value.string_value
      WHEN '0' THEN 'Baseline'
      WHEN '1' THEN 'Welcome message (1)'
      WHEN '2' THEN 'Welcome message (2)'
      END AS experimentVariant,
    event_name AS eventName,
    COUNT(*) AS count
  FROM
    `analytics_000000000.events_*`,
    UNNEST(user_properties) AS userProperty
  WHERE
    (_TABLE_SUFFIX BETWEEN '20240202' AND '20240502')
    AND userProperty.key = 'firebase_exp_25'
  GROUP BY
    experimentVariant, eventName

क्वेरी के अन्य उदाहरणों के लिए, क्वेरी के उदाहरण एक्सप्लोर करें पर जाएं.

उदाहरण के तौर पर दी गई क्वेरी एक्सप्लोर करना

यहां दिए गए सेक्शन में, क्वेरी के ऐसे उदाहरण दिए गए हैं जिनका इस्तेमाल करके, Google Analytics इवेंट टेबल से A/B Testing प्रयोग का डेटा निकाला जा सकता है.

सभी एक्सपेरिमेंट से खरीदारी और एक्सपेरिमेंट के स्टैंडर्ड डेविएशन की वैल्यू निकालना

एक्सपेरिमेंट के नतीजों के डेटा का इस्तेमाल करके, Firebase A/B Testing के नतीजों की स्वतंत्र रूप से पुष्टि की जा सकती है. यहां दिया गया BigQuery SQL स्टेटमेंट, एक्सपेरिमेंट के वैरिएंट और हर वैरिएंट में यूनीक उपयोगकर्ताओं की संख्या को निकालता है. साथ ही, in_app_purchase और ecommerce_purchase इवेंट से मिले कुल रेवेन्यू और _TABLE_SUFFIX शुरू और खत्म होने की तारीख के तौर पर तय की गई समयसीमा के दौरान, सभी एक्सपेरिमेंट के लिए स्टैंडर्ड डेविएशन का योग जोड़ता है. इस क्वेरी से मिले डेटा का इस्तेमाल, एक-तरफ़ा टी-टेस्ट के लिए आंकड़ों के हिसाब से अहम जानकारी जनरेटर के साथ किया जा सकता है. इससे यह पुष्टि की जा सकती है कि Firebase के दिए गए नतीजे, आपके विश्लेषण से मेल खाते हैं या नहीं.

A/B Testing के अनुमान का हिसाब लगाने के तरीके के बारे में ज़्यादा जानने के लिए, टेस्ट के नतीजों का विश्लेषण करना लेख पढ़ें.

  /*
    This query returns all experiment variants, number of unique users,
    the average USD spent per user, and the standard deviation for all
    experiments within the date range specified for _TABLE_SUFFIX.
  */
  SELECT
    experimentNumber,
    experimentVariant,
    COUNT(*) AS unique_users,
    AVG(usd_value) AS usd_value_per_user,
    STDDEV(usd_value) AS std_dev
  FROM
    (
      SELECT
        userProperty.key AS experimentNumber,
        userProperty.value.string_value AS experimentVariant,
        user_pseudo_id,
        SUM(
          CASE
            WHEN event_name IN ('in_app_purchase', 'ecommerce_purchase')
              THEN event_value_in_usd
            ELSE 0
            END) AS usd_value
      FROM `PROJECT_NAME.analytics_ANALYTICS_ID.events_*`
      CROSS JOIN UNNEST(user_properties) AS userProperty
      WHERE
        userProperty.key LIKE 'firebase_exp_%'
        AND event_name IN ('in_app_purchase', 'ecommerce_purchase')
        AND (_TABLE_SUFFIX BETWEEN 'YYYYMMDD' AND 'YYYMMDD')
      GROUP BY 1, 2, 3
    )
  GROUP BY 1, 2
  ORDER BY 1, 2;

किसी खास एक्सपेरिमेंट की वैल्यू चुनना

यहां दी गई उदाहरण क्वेरी से पता चलता है कि BigQuery में किसी खास प्रयोग का डेटा कैसे पाया जा सकता है. इस सैंपल क्वेरी से, एक्सपेरिमेंट का नाम, वैरिएंट के नाम (इसमें बेसलाइन भी शामिल है), इवेंट के नाम, और इवेंट की संख्या मिलती है.

  SELECT
    'EXPERIMENT_NAME' AS experimentName,
    CASE userProperty.value.string_value
      WHEN '0' THEN 'Baseline'
      WHEN '1' THEN 'VARIANT_1_NAME'
      WHEN '2' THEN 'VARIANT_2_NAME'
      END AS experimentVariant,
    event_name AS eventName,
    COUNT(*) AS count
  FROM
    `analytics_ANALYTICS_PROPERTY.events_*`,
    UNNEST(user_properties) AS userProperty
  WHERE
    (_TABLE_SUFFIX BETWEEN 'YYYMMDD' AND 'YYYMMDD')
    AND userProperty.key = 'firebase_exp_EXPERIMENT_NUMBER'
  GROUP BY
    experimentVariant, eventName