A/B टेस्टिंग की मदद से, Firebase रिमोट कॉन्फ़िगरेशन के प्रयोग बनाना

जब ऐक्टिव उपयोगकर्ताओं वाले किसी ऐप्लिकेशन के लिए सेटिंग डिप्लॉय करने के लिए Firebase Remote Config का इस्तेमाल किया जाता है, तो आपको यह पक्का करना होता है कि आपने इसे सही तरीके से किया हो. A/B Testing एक्सपेरिमेंट का इस्तेमाल करके, इन बातों का सबसे सही तरीके से पता लगाया जा सकता है:

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

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

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

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

Remote Config एक्सपेरिमेंट की मदद से, एक या उससे ज़्यादा Remote Config पैरामीटर पर कई वैरिएंट का आकलन किया जा सकता है.

  1. पुष्टि करें कि आपके प्रोजेक्ट में Google Analytics चालू हो, ताकि एक्सपेरिमेंट के पास Analytics डेटा का ऐक्सेस हो.

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

  2. Firebase console में, DevOps & Engagement > A/B Testing पर जाएं

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

  4. वैरिएंट सेक्शन में जाकर, एक्सपेरिमेंट के लिए एक बेसलाइन और कम से कम एक वैरिएंट चुनें. एक्सपेरिमेंट के लिए, एक या उससे ज़्यादा पैरामीटर जोड़े जा सकते हैं. अपने एक्सपेरिमेंट में एक से ज़्यादा पैरामीटर जोड़ने के लिए, इस चरण को दोहराया जा सकता है.

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

  6. खास वैरिएंट के लिए, एक या उससे ज़्यादा पैरामीटर बदलें. जिन पैरामीटर में कोई बदलाव नहीं किया गया है वे एक्सपेरिमेंट में शामिल न होने वाले उपयोगकर्ताओं के लिए भी एक जैसे होते हैं.

  7. वैरिएंट के ट्रैफ़िक को बड़ा करके, एक्सपेरिमेंट के लिए वैरिएंट का ट्रैफ़िक देखें या उसमें बदलाव करें. डिफ़ॉल्ट रूप से, हर वैरिएंट का वेट एक बराबर होता है. ध्यान दें, वैरिएंट के वेट को घटाने या बढ़ाने से डेटा कलेक्शन में लगने वाला समय बढ़ सकता है और एक्सपेरिमेंट शुरू होने के बाद, वेट में बदलाव नहीं किया जा सकता.

  8. Remote Config शर्तों का इस्तेमाल करके, अपने एक्सपेरिमेंट के लिए टारगेटिंग की शर्तें तय करें:

    • किसी मौजूदा शर्त का फिर से इस्तेमाल करना: अगर आपके Remote Config टेंप्लेट में मौजूद कोई शर्त, आपकी टारगेट ऑडियंस से पहले से ही मेल खाती है, तो उसे सूची से चुनें.

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

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

      इसके बाद, और पर क्लिक करके, उपयोगकर्ताओं के किसी खास सबसेट को टारगेट किया जा सकता है. इसके लिए, यहां दी गई सूची में से एक या उससे ज़्यादा विकल्प चुनें:

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

  10. ज़रूरत पड़ने पर, ऐक्टिवेशन इवेंट सेट करें. इससे यह पक्का किया जा सकेगा कि आपके एक्सपेरिमेंट में सिर्फ़ उन उपयोगकर्ताओं का डेटा शामिल किया जाए जिन्होंने पहली बार कोई Analytics इवेंट ट्रिगर किया है. ध्यान दें कि टारगेटिंग के पैरामीटर से मेल खाने वाले सभी उपयोगकर्ताओं को Remote Config एक्सपेरिमेंट की वैल्यू मिलेंगी. हालांकि, एक्सपेरिमेंट के नतीजों में सिर्फ़ वे उपयोगकर्ता शामिल होंगे जो ऐक्टिवेशन इवेंट को ट्रिगर करते हैं.

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

    • app_install
    • app_remove
    • app_update

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

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

  12. अपने एक्सपेरिमेंट को सेव करने के लिए, सेव करें पर क्लिक करें. एक्सपेरिमेंट शुरू करने के लिए, आपको टेम्पलेट पब्लिश करना होगा.

आपको हर प्रोजेक्ट के लिए ज़्यादा से ज़्यादा 300 एक्सपेरिमेंट (रोलआउट शामिल हैं) करने की अनुमति है. इनमें ज़्यादा से ज़्यादा 24 एक्सपेरिमेंट और रोलआउट शामिल हो सकते हैं. बाकी एक्सपेरिमेंट पूरे हो चुके होंगे.

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

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

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

किसी एक्सपेरिमेंट में बदलाव करना

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

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

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

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

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

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

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

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

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

अगर आपको लगता है कि किसी एक्सपेरिमेंट में, A/B Testing के लिए ज़रूरी संख्या में उपयोगकर्ता शामिल नहीं हैं, तो एक्सपेरिमेंट को ज़्यादा उपयोगकर्ताओं तक पहुंचाया जा सकता है. इससे, ऐप्लिकेशन इस्तेमाल करने वाले ज़्यादा लोगों को एक्सपेरिमेंट दिखाया जा सकेगा.

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

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

  1. Firebase कंसोल के नेविगेशन मेन्यू में, DevOps और यूज़र ऐक्टिविटी सेक्शन में जाकर, Remote Config पर क्लिक करें.
  2. A/B टेस्ट टैब पर क्लिक करें.
  3. चल रहे या पूरे हो चुके उस एक्सपेरिमेंट को चुनें जिसे आपको रोकना है.
  4. पूरा हो गया या चल रहा है पर क्लिक करें. इसके बाद, अपने एक्सपेरिमेंट पर पॉइंटर घुमाएं, कॉन्टेक्स्ट मेन्यू () पर क्लिक करें, और फिर एक्सपेरिमेंट डुप्लीकेट करें या एक्सपेरिमेंट रोकें पर क्लिक करें.

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

  1. Firebase कंसोल के नेविगेशन मेन्यू में, DevOps और यूज़र ऐक्टिविटी सेक्शन में जाकर, Remote Config पर क्लिक करें.
  2. A/B टेस्ट टैब पर क्लिक करें.
  3. चल रहे या पूरे हो चुके उस एक्सपेरिमेंट को चुनें जिसे आपको रोकना है.
  4. पूरा हो गया या चल रहा है पर क्लिक करें. इसके बाद, अपने एक्सपेरिमेंट पर पॉइंटर घुमाएं, कॉन्टेक्स्ट मेन्यू () पर क्लिक करें, और फिर एक्सपेरिमेंट रोकें पर क्लिक करें.

वेब क्लाइंट की पहचान और एक्सपेरिमेंट को बनाए रखना

जब कोई उपयोगकर्ता पहली बार किसी ब्राउज़र में Firebase A/B Testing का इस्तेमाल करके वेब ऐप्लिकेशन लॉन्च करता है, तो एक यूनीक Firebase इंस्टॉलेशन आईडी (एफ़आईडी) जनरेट होता है. इस FID को ब्राउज़र के IndexedDB में हमेशा के लिए सेव किया जाता है, ताकि अलग-अलग सेशन में ऐप्लिकेशन इंस्टेंस की पहचान की जा सके.

Firebase A/B Testing, उपयोगकर्ताओं को एक्सपेरिमेंट के वैरिएंट असाइन करने के लिए FID का इस्तेमाल करता है. साथ ही, Google Analytics इसका इस्तेमाल इवेंट एग्रीगेशन के लिए करता है, ताकि हर वैरिएंट में उपयोगकर्ता के व्यवहार को मेज़र और उसका विश्लेषण किया जा सके.

FID को IndexedDB में सेव किया जाता है. इसलिए, अगर कोई उपयोगकर्ता आपके ऐप्लिकेशन को किसी दूसरे ब्राउज़र या गुप्त विंडो से ऐक्सेस करता है या अपने ब्राउज़र के IndexedDB को मिटा देता है, तो Firebase A/B Testing उसे नया उपयोगकर्ता मानता है. इसका मतलब है कि अलग-अलग ब्राउज़र या ब्राउज़िंग सेशन का इस्तेमाल करने पर, किसी उपयोगकर्ता को एक्सपेरिमेंट के अलग-अलग वैरिएंट में शामिल किया जा सकता है.

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

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

Firebase कंसोल में, यहां दिए गए नियम टाइप इस्तेमाल किए जा सकते हैं. Remote Config REST API में, मिलती-जुलती सुविधाएं उपलब्ध हैं. इनके बारे में शर्त के साथ एक्सप्रेशन के रेफ़रंस में बताया गया है.

नियम का प्रकार ऑपरेटर वैल्यू ध्यान दें
ऐप्लिकेशन == अपने Firebase प्रोजेक्ट से जुड़े ऐप्लिकेशन के लिए, ऐप्लिकेशन आईडी की सूची में से कोई आईडी चुनें. Firebase में कोई ऐप्लिकेशन जोड़ते समय, आपको बंडल आईडी या Android पैकेज का नाम डालना होता है. इससे एक ऐसा एट्रिब्यूट तय होता है जो Remote Config नियमों में ऐप्लिकेशन आईडी के तौर पर दिखता है.

इस एट्रिब्यूट का इस्तेमाल इस तरह करें:
  • Apple प्लैटफ़ॉर्म के लिए: ऐप्लिकेशन के CFBundleIdentifier का इस्तेमाल करें. बंडल आइडेंटिफ़ायर, Xcode में ऐप्लिकेशन के प्राइमरी टारगेट के सामान्य टैब में देखा जा सकता है.
  • Android के लिए: ऐप्लिकेशन के applicationId का इस्तेमाल करें. आपको applicationId, ऐप्लिकेशन-लेवल की build.gradle(.kts) फ़ाइल में मिल सकता है.
ऐप्लिकेशन वर्शन स्ट्रिंग वैल्यू के लिए:
पूरी तरह से मेल खाता है,
शामिल है,
शामिल नहीं है,
रेगुलर एक्सप्रेशन शामिल है

संख्यात्मक वैल्यू के लिए:
<, <=, =, !=, >, >=

अपने ऐप्लिकेशन के उन वर्शन के बारे में बताएं जिन्हें टारगेट करना है.

इस नियम का इस्तेमाल करने से पहले, आपको ऐप्लिकेशन आईडी नियम का इस्तेमाल करके, अपने Firebase प्रोजेक्ट से जुड़ा कोई Android/Apple ऐप्लिकेशन चुनना होगा.

Apple प्लैटफ़ॉर्म के लिए: ऐप्लिकेशन के CFBundleShortVersionString का इस्तेमाल करें.

ध्यान दें: पक्का करें कि आपका Apple ऐप्लिकेशन, Firebase Apple प्लैटफ़ॉर्म SDK टूल के 6.24.0 या इसके बाद के वर्शन का इस्तेमाल कर रहा हो. ऐसा इसलिए, क्योंकि CFBundleShortVersionString को पहले के वर्शन में नहीं भेजा जा रहा है. ज़्यादा जानकारी के लिए, रिलीज़ नोट देखें.

Android के लिए: ऐप्लिकेशन के versionName का इस्तेमाल करें.

इस नियम के लिए स्ट्रिंग की तुलना करना, केस-सेंसिटिव (बड़े और छोटे अक्षरों में अंतर) होता है. पूरी तरह से मेल खाता है, इसमें शामिल है, इसमें शामिल नहीं है या रेगुलर एक्सप्रेशन शामिल है ऑपरेटर का इस्तेमाल करते समय, एक से ज़्यादा वैल्यू चुनी जा सकती हैं.

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

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

संख्यात्मक वैल्यू के लिए:
=, ≠, >, ≥, <, ≤

अपने ऐप्लिकेशन के उन बिल्ड के बारे में बताएं जिन्हें टारगेट करना है.

इस नियम का इस्तेमाल करने से पहले, आपको ऐप्लिकेशन आईडी नियम का इस्तेमाल करके, अपने Firebase प्रोजेक्ट से जुड़े Apple या Android ऐप्लिकेशन को चुनना होगा.

यह ऑपरेटर सिर्फ़ Apple और Android ऐप्लिकेशन के लिए उपलब्ध है. यह Apple के लिए ऐप्लिकेशन के CFBundleVersion और Android के लिए versionCode से मेल खाता है. इस नियम के लिए स्ट्रिंग की तुलना करना, केस-सेंसिटिव (बड़े और छोटे अक्षरों में अंतर) होता है.

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

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

प्लेटफ़ॉर्म == iOS
Android
वेब
 
ऑपरेटिंग सिस्टम ==

टारगेट किए जाने वाले ऑपरेटिंग सिस्टम चुनें.

इस नियम का इस्तेमाल करने से पहले, आपको ऐप्लिकेशन आईडी नियम का इस्तेमाल करके, अपने Firebase प्रोजेक्ट से जुड़ा वेब ऐप्लिकेशन चुनना होगा.

अगर ऑपरेटिंग सिस्टम और उसका वर्शन, दी गई सूची में मौजूद टारगेट वैल्यू से मेल खाता है, तो यह नियम किसी वेब ऐप्लिकेशन इंस्टेंस के लिए true के तौर पर काम करता है.
ब्राउज़र ==

टारगेट किए जाने वाले ब्राउज़र चुनें.

इस नियम का इस्तेमाल करने से पहले, आपको ऐप्लिकेशन आईडी नियम का इस्तेमाल करके, अपने Firebase प्रोजेक्ट से जुड़ा वेब ऐप्लिकेशन चुनना होगा.

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

इस नियम के लिए, ऐप्लिकेशन आईडी का नियम ज़रूरी है. इससे आपके Firebase प्रोजेक्ट से जुड़े ऐप्लिकेशन को चुना जा सकता है.

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

उपयोगकर्ता प्रॉपर्टी स्ट्रिंग वैल्यू के लिए:
contains,
does not contain,
exactly matches,
contains regular expression

संख्यात्मक वैल्यू के लिए:
=, ≠, >, ≥, <, ≤

ध्यान दें: क्लाइंट पर, उपयोगकर्ता की प्रॉपर्टी के लिए सिर्फ़ स्ट्रिंग वैल्यू सेट की जा सकती हैं. संख्या वाले ऑपरेटर का इस्तेमाल करने वाली शर्तों के लिए, Remote Config, उपयोगकर्ता प्रॉपर्टी की वैल्यू को पूर्णांक/फ़्लोट में बदलता है.
उपलब्ध Google Analytics उपयोगकर्ता प्रॉपर्टी की सूची में से चुनें. उपयोगकर्ता प्रॉपर्टी का इस्तेमाल करके, अपने ऐप्लिकेशन को उपयोगकर्ताओं के किसी खास सेगमेंट के हिसाब से कैसे बनाया जा सकता है, यह जानने के लिए Remote Config और उपयोगकर्ता प्रॉपर्टी लेख पढ़ें.

उपयोगकर्ता प्रॉपर्टी के बारे में ज़्यादा जानने के लिए, यहां दी गई गाइड देखें:

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

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

ध्यान दें: Remote Config की शर्तें बनाते समय, अपने-आप इकट्ठा होने वाली उपयोगकर्ता प्रॉपर्टी उपलब्ध नहीं होती हैं.
उपयोगकर्ताओं का रैंडम प्रतिशत स्लाइडर (Firebase कंसोल में). REST API, <=, >, और between ऑपरेटरों का इस्तेमाल करता है. 0-100

इस फ़ील्ड का इस्तेमाल करके, ऐप्लिकेशन इंस्टेंस के रैंडम सैंपल में बदलाव किया जा सकता है. सैंपल का साइज़ 0.0001% जितना छोटा हो सकता है. इसके लिए, स्लाइडर विजेट का इस्तेमाल करके, उपयोगकर्ताओं (ऐप्लिकेशन इंस्टेंस) को रैंडम तरीके से ग्रुप में बांटा जा सकता है.

हर ऐप्लिकेशन इंस्टेंस को, उस प्रोजेक्ट में तय किए गए सीड के हिसाब से, रैंडम पूर्णांक या भिन्न संख्या पर लगातार मैप किया जाता है.

जब तक सीड वैल्यू में बदलाव नहीं किया जाता, तब तक नियम में डिफ़ॉल्ट कुंजी का इस्तेमाल किया जाएगा. यह कुंजी, Firebase कंसोल में सीड में बदलाव करें के तौर पर दिखती है. सीड फ़ील्ड से वैल्यू हटाकर, किसी नियम को डिफ़ॉल्ट कुंजी का इस्तेमाल करने की सुविधा पर वापस लाया जा सकता है.

अगर आपको दिए गए प्रतिशत की रेंज में, एक ही ऐप्लिकेशन इंस्टेंस को लगातार टारगेट करना है, तो सभी शर्तों के लिए एक ही सीड वैल्यू का इस्तेमाल करें. इसके अलावा, किसी दिए गए प्रतिशत के लिए, ऐप्लिकेशन इंस्टेंस का नया ग्रुप चुनें. यह ग्रुप, रैंडम तरीके से असाइन किया जाता है. इसके लिए, नया सीड तय करें.

उदाहरण के लिए, अगर आपको दो ऐसी शर्तें बनानी हैं जो ऐप्लिकेशन के 5% उपयोगकर्ताओं पर लागू हों और एक-दूसरे से जुड़ी हों, तो एक शर्त को 0% से 5% के बीच के प्रतिशत से मैच करने के लिए कॉन्फ़िगर किया जा सकता है. वहीं, दूसरी शर्त को 5% से 10% के बीच की रेंज से मैच करने के लिए कॉन्फ़िगर किया जा सकता है. अगर आपको कुछ उपयोगकर्ताओं को दोनों ग्रुप में रैंडम तरीके से शामिल करना है, तो हर शर्त में मौजूद नियमों के लिए अलग-अलग सीड वैल्यू का इस्तेमाल करें.

इंपोर्ट किया गया सेगमेंट में है इंपोर्ट किए गए एक या उससे ज़्यादा सेगमेंट चुनें. इस नियम के लिए, कस्टम इंपोर्ट किए गए सेगमेंट सेट अप करना ज़रूरी है.
तिथि/समय पहले, बाद में तय की गई तारीख और समय. यह डिवाइस के टाइमज़ोन या तय किए गए किसी टाइमज़ोन में हो सकता है. जैसे, "(GMT+11) सिडनी का समय." यह कुकी, मौजूदा समय की तुलना डिवाइस के फ़ेच टाइम से करती है.
फ़र्स्ट ओपन रिपोर्ट पहले, बाद में

पहली बार आपका ऐप्लिकेशन खोलने वाले उपयोगकर्ताओं को टारगेट करें:

  • नए उपयोगकर्ता को चुनकर, उन उपयोगकर्ताओं को टारगेट करें जिन्होंने तय की गई तारीख और समय के बाद पहली बार आपका ऐप्लिकेशन खोला है.
  • समयसीमा चुनें. इससे उन उपयोगकर्ताओं को टारगेट किया जा सकेगा जिन्होंने आपकी तय की गई तारीख और समय से पहले या बाद में, पहली बार आपका ऐप्लिकेशन खोला है. किसी समयावधि में उपयोगकर्ताओं को टारगेट करने के लिए, पहले और बाद में की शर्तों को एक साथ इस्तेमाल करें.

Android, iOS या वेब ऐप्लिकेशन चुनने के बाद, पहली बार ऐप्लिकेशन खोलने के आधार पर उपयोगकर्ता को टारगेट करने की सुविधा उपलब्ध होती है.

इन एसडीके की ज़रूरत होती है:

  • Firebase SDK for Google Analytics
  • Apple प्लैटफ़ॉर्म SDK v9.0.0+ या Android SDK v21.1.1+ (Firebase BoM v30.3.0+) और JavaScript SDK v12.8.0+.

Analytics पहला इस्तेमाल के दौरान क्लाइंट पर भी चालू होना चाहिए.

इंस्टॉलेशन आईडी में है टारगेट करने के लिए, एक या उससे ज़्यादा इंस्टॉलेशन आईडी (ज़्यादा से ज़्यादा 50) डालें. अगर किसी इंस्टॉल का आईडी, कॉमा लगाकर अलग की गई वैल्यू की सूची में मौजूद है, तो यह नियम उस इंस्टॉल के लिए true के तौर पर काम करता है.

इंस्टॉलेशन आईडी पाने का तरीका जानने के लिए, क्लाइंट आइडेंटिफ़ायर वापस पाना लेख पढ़ें.
उपयोगकर्ता मौजूद है (कोई ऑपरेटर नहीं) यह मौजूदा प्रोजेक्ट में मौजूद सभी ऐप्लिकेशन के सभी उपयोगकर्ताओं को टारगेट करता है.

इस शर्त के नियम का इस्तेमाल करके, प्रोजेक्ट में शामिल सभी उपयोगकर्ताओं को मैच किया जा सकता है. भले ही, वे किसी भी ऐप्लिकेशन या प्लैटफ़ॉर्म का इस्तेमाल कर रहे हों.

कस्टम सिग्नल स्ट्रिंग वैल्यू के लिए:
contains,
does not contain,
exactly matches,
contains regular expression

संख्यात्मक वैल्यू के लिए:
=, ≠, >, ≥, <, ≤

वर्शन वैल्यू के लिए:
=, ≠, >, ≥, <, ≤

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

क्लाइंट एनवायरमेंट के लिए, इन डेटा टाइप का इस्तेमाल किया जा सकता है:
  • iOS: int, double
  • Android: int, long, double
  • वेब: संख्या

यह एक संख्या होती है, जो मैच करने के लिए वर्शन नंबर दिखाती है. उदाहरण के लिए, 2.1.0.

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

A/B Testing मेट्रिक

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

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

  • उपयोगकर्ता को अपने साथ जोड़े रखने की रोज़ाना और हफ़्ते के हिसाब से दर को ट्रैक करने के लिए, उपयोगकर्ता को अपने साथ जोड़े रखने की दर (दो से तीन दिन) और उपयोगकर्ता को अपने साथ जोड़े रखने की दर (चार से सात दिन) को जोड़ें.
  • गेम के दो फ़्लो के बीच स्टेबिलिटी की तुलना करने के लिए, क्रैश न होने की समस्या का सामना न करने वाले उपयोगकर्ता जोड़ें.
  • हर तरह के रेवेन्यू के बारे में ज़्यादा जानकारी पाने के लिए, खरीदारी से मिला रेवेन्यू और विज्ञापन से मिला अनुमानित रेवेन्यू जोड़ें.

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

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

मेट्रिक ब्यौरा
वे उपयोगकर्ता जिनके ऐप बंद नहीं हुए उन उपयोगकर्ताओं का प्रतिशत जिन्हें आपके ऐप्लिकेशन में ऐसी गड़बड़ियों का सामना नहीं करना पड़ा जिन्हें एक्सपेरिमेंट के दौरान Firebase Crashlytics एसडीके ने पता लगाया था.

ध्यान दें: Firebase Crashlytics का इस्तेमाल वेब ऐप्लिकेशन के लिए नहीं किया जा सकता.

विज्ञापन से मिलने वाला अनुमानित रेवेन्यू विज्ञापन से होने वाली अनुमानित कमाई.
अनुमानित कुल रेवेन्यू खरीदारी और विज्ञापन से मिले अनुमानित रेवेन्यू की कुल वैल्यू.
खरीदारी से हुई आय सभी purchase और in_app_purchase इवेंट की कुल वैल्यू.
रिटेंशन (एक दिन) ऐसे उपयोगकर्ताओं की संख्या जो हर दिन आपके ऐप्लिकेशन पर वापस आते हैं.
रिटेंशन (दो से तीन दिन) उन उपयोगकर्ताओं की संख्या जो दो से तीन दिनों के अंदर आपके ऐप्लिकेशन पर वापस आते हैं.
रिटेंशन (चार से सात दिन) उन उपयोगकर्ताओं की संख्या जो चार से सात दिनों के अंदर आपके ऐप्लिकेशन पर वापस आते हैं.
रिटेंशन (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 में डेटा एक्सपोर्ट करना

Firebase कंसोल में 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 कार्ड में, मैनेज करें पर क्लिक करें. इसके बाद, पुष्टि करें कि आपका प्रोजेक्ट, Analytics का डेटा BigQuery में एक्सपोर्ट कर रहा है.

    अगर कार्ड पर लिंक करें लिखा है, तो आपको एक्सपोर्ट सेट अप करना होगा. इसके लिए, अगले चरण पर जाएं.

  3. अगर आपको एक्सपोर्ट की सुविधा सेट अप करनी है, तो:

    1. Firebase को BigQuery से लिंक करने के बारे में जानकारी पढ़ें. इसके बाद, आगे बढ़ें पर क्लिक करें.

    2. इंटिग्रेशन कॉन्फ़िगर करें सेक्शन में जाकर, Google Analytics को चालू करें.

    3. कोई क्षेत्र चुनें और एक्सपोर्ट सेटिंग चुनें.

    4. 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 में दिखेगा. साथ ही, जब अपने प्रोजेक्ट के नाम को बड़ा करके Google Analytics इवेंट टेबल (project_name.analytics_000000000.events) का नाम दिखाया जाता है, तब यह BigQuery में भी दिखता है.
  • एक्सपेरिमेंट की तारीख: क्वेरी को तेज़ी से और ज़्यादा असरदार तरीके से कंपोज़ करने के लिए, यह सबसे सही तरीका है कि आप अपनी क्वेरी को 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. अपना प्रोजेक्ट चुनें. इसके बाद, एसक्यूएल क्वेरी बनाएं को चुनें.
  3. अपनी क्वेरी जोड़ें. क्वेरी के उदाहरण देखने के लिए, क्वेरी के उदाहरण एक्सप्लोर करें पर जाएं.
  4. Run पर क्लिक करें.
देखें.

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

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

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

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

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

  /*
    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

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

क्वेरी के उदाहरण एक्सप्लोर करें

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

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

एक्सपेरिमेंट के नतीजों के डेटा का इस्तेमाल करके, 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