जब अपने उपयोगकर्ताओं से संपर्क किया जाता है या कोई नया मार्केटिंग कैंपेन शुरू किया जाता है, तो आपको यह पक्का करना होता है कि सब कुछ सही हो. A/B टेस्टिंग की मदद से, मैसेज के लिए सबसे सही शब्दों और प्रज़ेंटेशन का पता लगाया जा सकता है. इसके लिए, उपयोगकर्ताओं के चुने गए ग्रुप पर मैसेज के अलग-अलग वैरिएंट की जांच की जाती है. चाहे आपका लक्ष्य, उपयोगकर्ताओं को बनाए रखना हो या किसी ऑफ़र पर कन्वर्ज़न बढ़ाना हो, A/B टेस्टिंग की मदद से आंकड़ों का विश्लेषण किया जा सकता है. इससे यह पता चलता है कि मैसेज का कोई वैरिएंट, आपके चुने गए लक्ष्य के लिए बेसलाइन से बेहतर परफ़ॉर्म कर रहा है या नहीं.
किसी बेसलाइन के साथ सुविधा के वैरिएंट की A/B टेस्टिंग करने के लिए, यह तरीका अपनाएं:
- अपना एक्सपेरिमेंट तैयार करें.
- किसी टेस्ट डिवाइस पर अपने एक्सपेरिमेंट की पुष्टि करें.
- अपने एक्सपेरिमेंट को मैनेज करें.
एक प्रयोग बनाएं
सूचना बनाने की सुविधा का इस्तेमाल करने वाले एक्सपेरिमेंट की मदद से, एक ही सूचना के कई वैरिएंट का आकलन किया जा सकता है.
पुष्टि करें कि आपके प्रोजेक्ट में Google Analytics चालू है, ताकि एक्सपेरिमेंट के पास Analytics डेटा का ऐक्सेस हो.
अगर आपने प्रोजेक्ट बनाते समय Google Analytics को चालू नहीं किया है, तो इसे Firebase कंसोल के
सेटिंग > इंटिग्रेशन टैब में जाकर चालू किया जा सकता है.Firebase कंसोल में, DevOps और यूज़र ऐक्टिविटी > A/B टेस्टिंग पर जाएं.
एक्सपेरिमेंट बनाएं पर क्लिक करें. इसके बाद, जिस सेवा के लिए आपको एक्सपेरिमेंट करना है उसके बारे में पूछे जाने पर, सूचनाएं चुनें.
अपने एक्सपेरिमेंट के लिए नाम और जानकारी (ज़रूरी नहीं) डालें. इसके बाद, आगे बढ़ें पर क्लिक करें.
टारगेटिंग फ़ील्ड भरें. इसके लिए, सबसे पहले वह ऐप्लिकेशन चुनें जो आपके एक्सपेरिमेंट का इस्तेमाल करता है. अपने उपयोगकर्ताओं के सबसेट को भी एक्सपेरिमेंट में शामिल होने के लिए टारगेट किया जा सकता है. इसके लिए, यहां दिए गए विकल्प चुनें:
- वर्शन: आपके ऐप्लिकेशन का एक या उससे ज़्यादा वर्शन
- उपयोगकर्ता ऑडियंस: Analytics ऑडियंस का इस्तेमाल, उन उपयोगकर्ताओं को टारगेट करने के लिए किया जाता है जिन्हें एक्सपेरिमेंट में शामिल किया जा सकता है
- उपयोगकर्ता प्रॉपर्टी: एक या उससे ज़्यादा Analytics उपयोगकर्ता प्रॉपर्टी, ताकि उन उपयोगकर्ताओं को चुना जा सके जिन्हें प्रयोग में शामिल किया जा सकता है
- देश/इलाका: एक या इससे ज़्यादा देश या इलाके, ताकि उन उपयोगकर्ताओं को चुना जा सके जिन्हें एक्सपेरिमेंट में शामिल किया जा सकता है
- डिवाइस की भाषा: एक या उससे ज़्यादा भाषाएं और स्थान-भाषा, जिनका इस्तेमाल करके उन उपयोगकर्ताओं को चुना जाता है जिन्हें एक्सपेरिमेंट में शामिल किया जा सकता है
- पहली बार ऐप्लिकेशन खोलने के आधार पर: उपयोगकर्ताओं को इस आधार पर टारगेट करें कि उन्होंने पहली बार आपका ऐप्लिकेशन कब खोला था
- ऐप्लिकेशन में पिछली बार हुई यूज़र ऐक्टिविटी: उपयोगकर्ताओं को इस आधार पर टारगेट करें कि उन्होंने पिछली बार आपके ऐप्लिकेशन से कब इंटरैक्ट किया था
टारगेट किए गए उपयोगकर्ताओं का प्रतिशत सेट करें: अपने ऐप्लिकेशन के उपयोगकर्ताओं के ग्रुप का वह प्रतिशत चुनें जो टारगेट किए गए उपयोगकर्ताओं के लिए सेट की गई शर्तों को पूरा करता हो. इस प्रतिशत को आपको अपने एक्सपेरिमेंट में, बेसलाइन और एक या उससे ज़्यादा वैरिएंट के बीच बराबर बांटना होगा. यह 0.01% से 100% के बीच कोई भी प्रतिशत हो सकता है. हर एक्सपेरिमेंट के लिए, उपयोगकर्ताओं को रैंडम तरीके से प्रतिशत फिर से असाइन किए जाते हैं. इनमें डुप्लीकेट एक्सपेरिमेंट भी शामिल हैं.
वैरिएंट सेक्शन में, मैसेज का टेक्स्ट डालें फ़ील्ड में जाकर, बेसलाइन ग्रुप को भेजने के लिए कोई मैसेज टाइप करें. अगर आपको बेसलाइन ग्रुप को कोई मैसेज नहीं भेजना है, तो इस फ़ील्ड को खाली छोड़ दें.
(ज़रूरी नहीं) अपने एक्सपेरिमेंट में एक से ज़्यादा वैरिएंट जोड़ने के लिए, वैरिएंट जोड़ें पर क्लिक करें. डिफ़ॉल्ट रूप से, एक्सपेरिमेंट में एक बेसलाइन और एक वैरिएंट होता है.
(ज़रूरी नहीं) अपने एक्सपेरिमेंट में हर वैरिएंट के लिए कोई नाम डालें, ताकि वैरिएंट A, वैरिएंट B वगैरह जैसे नामों को बदला जा सके.
अपने एक्सपेरिमेंट के लिए, लक्ष्य की मेट्रिक तय करें. इसका इस्तेमाल, एक्सपेरिमेंट के वैरिएंट का आकलन करते समय किया जाएगा. साथ ही, ड्रॉपडाउन मेन्यू से अपनी पसंद की अन्य मेट्रिक भी चुनी जा सकती हैं. इन मेट्रिक में, पहले से मौजूद लक्ष्य (यूज़र ऐक्टिविटी, खरीदारी, रेवेन्यू, यूज़र ऐक्टिविटी बनाए रखना वगैरह), Analytics कन्वर्ज़न इवेंट, और अन्य Analytics इवेंट शामिल होते हैं.
अपने मैसेज के लिए विकल्प चुनें:
- डिलीवरी की तारीख: सेव करने के तुरंत बाद अपना एक्सपेरिमेंट लॉन्च करने के लिए, अभी भेजें चुनें या आने वाले समय में अपना एक्सपेरिमेंट लॉन्च करने का समय तय करने के लिए, शेड्यूल किया गया चुनें.
- बेहतर विकल्प: अपने एक्सपेरिमेंट में शामिल सभी सूचनाओं के लिए बेहतर विकल्प चुनने के लिए, बेहतर विकल्प को बड़ा करें. इसके बाद, सूची में दिए गए किसी भी मैसेज के विकल्प को बदलें.
अपना एक्सपेरिमेंट सेव करने के लिए, समीक्षा करें पर क्लिक करें.
हर प्रोजेक्ट के लिए, ज़्यादा से ज़्यादा 300 एक्सपेरिमेंट किए जा सकते हैं. इनमें रोल आउट भी शामिल हैं. इनमें, ज़्यादा से ज़्यादा 24 एक्सपेरिमेंट और रोल आउट चालू हो सकते हैं. बाकी एक्सपेरिमेंट पूरे हो चुके होने चाहिए.
किसी टेस्ट डिवाइस पर अपने एक्सपेरिमेंट की पुष्टि करना
हर Firebase इंस्टॉलेशन के लिए, उससे जुड़ा FCM रजिस्ट्रेशन टोकन वापस पाया जा सकता है. इस टोकन का इस्तेमाल करके, टेस्ट डिवाइस पर एक्सपेरिमेंट के खास वैरिएंट की जांच की जा सकती है. इसके लिए, टेस्ट डिवाइस पर आपका ऐप्लिकेशन इंस्टॉल होना चाहिए. किसी टेस्ट डिवाइस पर अपने एक्सपेरिमेंट की पुष्टि करने के लिए, यह तरीका अपनाएं:
- FCM रजिस्ट्रेशन टोकन पाने के लिए, यह तरीका अपनाएं:
Swift
Messaging.messaging().token { token, error in if let error = error { print("Error fetching remote FCM registration token: \(error)") } else if let token = token { print("Remote instance ID token: \(token)") } }
Objective-C
[[FIRMessaging messaging] tokenWithCompletion:^(NSString * _Nullable token, NSError * _Nullable error) { if (error != nil) { NSLog(@"Error fetching the remote FCM registration token: %@", error); } else { NSLog(@"Remote FCM registration token: %@", token); NSString* message = [NSString stringWithFormat:@"FCM registration token: %@", token]; // display message NSLog(@"%@", message); } }];
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
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)); } });
- Firebase कंसोल में, DevOps और यूज़र ऐक्टिविटी > A/B टेस्टिंग पर जाएं.
- ड्राफ़्ट पर क्लिक करें. इसके बाद, अपने एक्सपेरिमेंट पर कर्सर घुमाएं और कॉन्टेक्स्ट मेन्यू (more_vert) पर क्लिक करें. इसके बाद, टेस्ट डिवाइस मैनेज करें पर क्लिक करें
- टेस्ट डिवाइस के लिए FCM टोकन डालें. इसके बाद, उस टेस्ट डिवाइस पर भेजने के लिए, एक्सपेरिमेंट का वैरिएंट चुनें.
- ऐप्लिकेशन चलाएं और पुष्टि करें कि टेस्ट डिवाइस पर, चुना गया वैरिएंट मिल रहा है.
एक्सपेरिमेंट मैनेज करना
चाहे आपने Remote Config, सूचना बनाने की सुविधा या Firebase In-App Messaging का इस्तेमाल करके एक्सपेरिमेंट बनाया हो, आपके पास उसे पुष्टि करने और शुरू करने का विकल्प होता है. साथ ही, एक्सपेरिमेंट के चलने के दौरान उस पर नज़र रखी जा सकती है और उसमें शामिल उपयोगकर्ताओं की संख्या बढ़ाई जा सकती है.
एक्सपेरिमेंट पूरा होने के बाद, सबसे अच्छा परफ़ॉर्म करने वाले वैरिएंट की सेटिंग को नोट किया जा सकता है. इसके बाद, उन सेटिंग को सभी उपयोगकर्ताओं के लिए रोल आउट किया जा सकता है. इसके अलावा, कोई दूसरा एक्सपेरिमेंट चलाया जा सकता है.
एक प्रयोग शुरू करें
- Firebase कंसोल में, DevOps और यूज़र ऐक्टिविटी > A/B टेस्टिंग पर जाएं.
- ड्राफ़्ट पर क्लिक करें. इसके बाद, अपने एक्सपेरिमेंट के टाइटल पर क्लिक करें.
- यह पुष्टि करने के लिए कि आपके ऐप्लिकेशन के पास ऐसे उपयोगकर्ता हैं जिन्हें आपके एक्सपेरिमेंट में शामिल किया जाएगा, ड्राफ़्ट की जानकारी को बड़ा करें. इसके बाद, टारगेटिंग और डिस्ट्रिब्यूशन सेक्शन में जाकर, 0% से ज़्यादा संख्या देखें. उदाहरण के लिए, शर्तों से मैच करने वाले 1% उपयोगकर्ता.
- अपने एक्सपेरिमेंट में बदलाव करने के लिए, बदलाव करें पर क्लिक करें.
- एक्सपेरिमेंट शुरू करने के लिए, एक्सपेरिमेंट शुरू करें पर क्लिक करें. हर प्रोजेक्ट के लिए एक समय में, ज़्यादा से ज़्यादा 24 एक्सपेरिमेंट चलाए जा सकते हैं.
किसी एक्सपेरिमेंट को मॉनिटर करना
प्रयोग को कुछ समय तक चलाने के बाद, उसकी प्रोग्रेस देखी जा सकती है. साथ ही, यह देखा जा सकता है कि प्रयोग में हिस्सा लेने वाले उपयोगकर्ताओं के लिए, आपके नतीजे कैसे दिखते हैं.
- Firebase कंसोल में, DevOps और यूज़र ऐक्टिविटी > A/B टेस्टिंग पर जाएं.
चल रहा है पर क्लिक करें. इसके बाद, अपने एक्सपेरिमेंट के टाइटल पर क्लिक करें या उसे खोजें. इस पेज पर, चल रहे एक्सपेरिमेंट के बारे में मॉनिटर किए गए और अनुमानित आंकड़ों को देखा जा सकता है. इनमें ये शामिल हैं:
- बेसलाइन से प्रतिशत में अंतर: बेसलाइन की तुलना में, किसी वैरिएंट के लिए मेट्रिक में हुए सुधार का आकलन. वैरिएंट की वैल्यू रेंज की तुलना बेसलाइन की वैल्यू रेंज से करके, इसकी गणना की जाती है.
- बुनियादी रेखा को पीछे छोड़ने की संभावना: यह अनुमानित संभावना है कि कोई वैरिएंट, चुनी गई मेट्रिक के लिए बुनियादी रेखा को पीछे छोड़ देगा.
- observed_metric हर उपयोगकर्ता के लिए: एक्सपेरिमेंट के नतीजों के आधार पर, यह अनुमानित रेंज है जिसमें समय के साथ मेट्रिक की वैल्यू आएगी.
- कुल observed_metric: बेसलाइन या वैरिएंट के लिए, कुल वैल्यू. इस वैल्यू का इस्तेमाल यह मेज़र करने के लिए किया जाता है कि एक्सपेरिमेंट का हर वैरिएंट कैसा परफ़ॉर्म करता है. साथ ही, इसका इस्तेमाल सुधार, वैल्यू रेंज, बुनियादी रेखा को पीछे छोड़ने की संभावना, और सबसे अच्छा वैरिएंट होने की संभावना का हिसाब लगाने के लिए किया जाता है. मापी जा रही मेट्रिक के आधार पर, इस कॉलम को "हर उपयोगकर्ता के लिए अवधि," "हर उपयोगकर्ता से मिलने वाला रेवेन्यू," "उपयोगकर्ताओं के बने रहने की दर" या "कन्वर्ज़न रेट" के तौर पर लेबल किया जा सकता है.
एक्सपेरिमेंट को कुछ समय तक चलाने के बाद, इस पेज पर मौजूद डेटा से पता चलता है कि कौनसा वैरिएंट "लीडर" है. FCM और In-App Messaging के लिए, एक्सपेरिमेंट को कम से कम सात दिनों तक चलाना ज़रूरी है. वहीं, Remote Config के लिए, इसे कम से कम 14 दिनों तक चलाना ज़रूरी है. कुछ मेज़रमेंट के साथ एक बार चार्ट होता है, जो डेटा को विज़ुअल फ़ॉर्मैट में दिखाता है.
सभी उपयोगकर्ताओं के लिए एक्सपेरिमेंट रोल आउट करना
जब कोई एक्सपेरिमेंट इतने समय तक चल चुका हो कि आपको अपने लक्ष्य से जुड़ी मेट्रिक के लिए सबसे सही या "लीडर" वैरिएंट मिल जाए, तब उसे अपने सभी उपयोगकर्ताओं के लिए रिलीज़ किया जा सकता है. इससे आने वाले समय में, आपको सभी उपयोगकर्ताओं को शामिल करने के लिए, कोई वैरिएंट चुनने की सुविधा मिलती है. अगर आपको अपने एक्सपेरिमेंट में सबसे सही वैरिएंट नहीं मिला है, तो भी सभी उपयोगकर्ताओं के लिए किसी एक वैरिएंट को रिलीज़ किया जा सकता है.
- Firebase कंसोल में, DevOps और यूज़र ऐक्टिविटी > A/B टेस्टिंग पर जाएं.
- पूरा हो गया या चल रहा है पर क्लिक करें. इसके बाद, उस एक्सपेरिमेंट पर क्लिक करें जिसे आपको सभी उपयोगकर्ताओं के लिए रिलीज़ करना है. फिर, कॉन्टेक्स्ट मेन्यू () वैरिएंट रोल आउट करें पर क्लिक करें.
इनमें से कोई एक तरीका अपनाकर, अपने एक्सपेरिमेंट को सभी उपयोगकर्ताओं के लिए रोल आउट करें:
- सूचना बनाने की सुविधा का इस्तेमाल करने वाले एक्सपेरिमेंट के लिए, मैसेज रोल आउट करें डायलॉग का इस्तेमाल करें. इससे, टारगेट किए गए उन उपयोगकर्ताओं को मैसेज भेजा जा सकता है जो एक्सपेरिमेंट का हिस्सा नहीं थे.
- Remote Config एक्सपेरिमेंट के लिए, कोई वैरिएंट चुनें, ताकि यह तय किया जा सके कि Remote Config के किन पैरामीटर की वैल्यू को अपडेट करना है. एक्सपेरिमेंट बनाते समय तय की गई टारगेटिंग की शर्तों को नई शर्त के तौर पर आपके टेंप्लेट में जोड़ दिया जाता है, ताकि यह पक्का किया जा सके कि रोल आउट, सिर्फ़ एक्सपेरिमेंट के लिए चुने गए उपयोगकर्ताओं को दिखे. बदलावों को देखने के लिए, रिमोट कॉन्फ़िगरेशन में देखें पर क्लिक करें. इसके बाद, बदलावों को पब्लिश करें पर क्लिक करके, रोल आउट को पूरा करें.
- In-App Messaging एक्सपेरिमेंट के लिए, डायलॉग बॉक्स का इस्तेमाल करके यह तय करें कि किस वैरिएंट को स्टैंडअलोन In-App Messaging कैंपेन के तौर पर रोल आउट करना है. चुनने के बाद, आपको FIAM कंपोज़ स्क्रीन पर रीडायरेक्ट कर दिया जाएगा. यहां पब्लिश करने से पहले, ज़रूरत के हिसाब से बदलाव किए जा सकते हैं.
एक्सपेरिमेंट को बड़ा करना
अगर आपको लगता है कि किसी एक्सपेरिमेंट में A/B Testing को लीडर घोषित करने के लिए ज़रूरत के मुताबिक उपयोगकर्ता नहीं मिल रहे हैं, तो एक्सपेरिमेंट को ज़्यादा लोगों तक पहुंचाया जा सकता है. इससे ऐप्लिकेशन के उपयोगकर्ताओं के ज़्यादा प्रतिशत तक पहुंचा जा सकता है.
- Firebase कंसोल में, DevOps और यूज़र ऐक्टिविटी > A/B टेस्टिंग पर जाएं.
- चल रहे उस एक्सपेरिमेंट को चुनें जिसमें आपको बदलाव करना है.
- एक्सपेरिमेंट की खास जानकारी में जाकर, कॉन्टेक्स्ट मेन्यू () पर क्लिक करें. इसके बाद, चल रहे एक्सपेरिमेंट में बदलाव करें पर क्लिक करें.
- टारगेटिंग डायलॉग बॉक्स में, चल रहे एक्सपेरिमेंट में शामिल उपयोगकर्ताओं का प्रतिशत बढ़ाने का विकल्प दिखता है. मौजूदा प्रतिशत से ज़्यादा की संख्या चुनें और पब्लिश करें पर क्लिक करें. एक्सपेरिमेंट को आपके तय किए गए प्रतिशत के हिसाब से उपयोगकर्ताओं को दिखाया जाएगा.
किसी एक्सपेरिमेंट का डुप्लीकेट बनाना या उसे रोकना
- Firebase कंसोल में, DevOps और यूज़र ऐक्टिविटी > A/B टेस्टिंग पर जाएं.
- पूरा हो गया या चल रहा है पर क्लिक करें. इसके बाद, अपने एक्सपेरिमेंट पर पॉइंटर को रखें, कॉन्टेक्स्ट मेन्यू () पर क्लिक करें, और फिर एक्सपेरिमेंट डुप्लीकेट करें या एक्सपेरिमेंट रोकें पर क्लिक करें.
उपयोगकर्ता को टारगेट करना
उपयोगकर्ताओं को टारगेट करने की इन शर्तों का इस्तेमाल करके, अपने एक्सपेरिमेंट में शामिल करने के लिए उपयोगकर्ताओं को टारगेट किया जा सकता है.
| टारगेटिंग की शर्त | ऑपरेटर | वैल्यू | ध्यान दें |
|---|---|---|---|
| वर्शन | शामिल है,
शामिल नहीं है, पूरी तरह से मेल खाता है, रेगुलर एक्सप्रेशन (regex) शामिल है |
ऐप्लिकेशन के उन एक या उससे ज़्यादा वर्शन के लिए कोई वैल्यू डालें जिन्हें आपको एक्सपेरिमेंट में शामिल करना है. |
शामिल है, शामिल नहीं है या पूरी तरह से मैच करता है ऑपरेटर का इस्तेमाल करते समय, कॉमा लगाकर अलग की गई वैल्यू की सूची दी जा सकती है. रेगुलर एक्सप्रेशन शामिल है ऑपरेटर का इस्तेमाल करते समय, RE2 फ़ॉर्मैट में रेगुलर एक्सप्रेशन बनाए जा सकते हैं. आपका रेगुलर एक्सप्रेशन, टारगेट वर्शन स्ट्रिंग के सभी या कुछ हिस्से से मैच हो सकता है. टारगेट स्ट्रिंग की शुरुआत, आखिर या पूरी स्ट्रिंग से मैच करने के लिए, ^ और $ ऐंकर का भी इस्तेमाल किया जा सकता है. |
| उपयोगकर्ता ऑडियंस | सभी शामिल हैं,
कम से कम एक शामिल है, सभी शामिल नहीं हैं, कम से कम एक शामिल नहीं है |
एक या उससे ज़्यादा Analytics ऑडियंस चुनें, ताकि उन उपयोगकर्ताओं को टारगेट किया जा सके जो आपके एक्सपेरिमेंट में शामिल हो सकते हैं. | Google Analytics ऑडियंस को टारगेट करने वाले कुछ एक्सपेरिमेंट में, डेटा इकट्ठा करने में कुछ दिन लग सकते हैं. ऐसा इसलिए होता है, क्योंकि वे Analytics डेटा प्रोसेसिंग में लगने वाले समय के हिसाब से काम करते हैं. आपको नए उपयोगकर्ताओं के साथ इस देरी का सामना करना पड़ सकता है. आम तौर पर, नए उपयोगकर्ताओं को ज़रूरी शर्तें पूरी करने वाली ऑडियंस में, ऑडियंस बनाने के 24 से 48 घंटे बाद शामिल किया जाता है. इसके अलावा, हाल ही में बनाई गई ऑडियंस के साथ भी ऐसा हो सकता है. |
| उपयोगकर्ता प्रॉपर्टी | टेक्स्ट के लिए:
शामिल है, शामिल नहीं है, एग्ज़ैक्ट मैच, रेगुलर एक्सप्रेशन (regex) शामिल है संख्याओं के लिए: <, ≤, =, ≥, > |
Analytics उपयोगकर्ता प्रॉपर्टी का इस्तेमाल, उन उपयोगकर्ताओं को चुनने के लिए किया जाता है जिन्हें किसी एक्सपेरिमेंट में शामिल किया जा सकता है. इसके लिए, उपयोगकर्ता प्रॉपर्टी की वैल्यू चुनने के कई विकल्प होते हैं.
क्लाइंट पर, उपयोगकर्ता प्रॉपर्टी के लिए सिर्फ़ स्ट्रिंग वैल्यू सेट की जा सकती हैं. न्यूमेरिक ऑपरेटर का इस्तेमाल करने वाली शर्तों के लिए, Remote Config सेवा, उपयोगकर्ता प्रॉपर्टी की वैल्यू को पूर्णांक/फ़्लोट में बदल देती है. |
रेगुलर एक्सप्रेशन शामिल है ऑपरेटर का इस्तेमाल करते समय, RE2 फ़ॉर्मैट में रेगुलर एक्सप्रेशन बनाए जा सकते हैं. आपका रेगुलर एक्सप्रेशन, टारगेट वर्शन स्ट्रिंग के सभी या कुछ हिस्से से मैच हो सकता है. टारगेट स्ट्रिंग की शुरुआत, आखिर या पूरी स्ट्रिंग से मैच करने के लिए, ^ और $ ऐंकर का भी इस्तेमाल किया जा सकता है. |
| देश/क्षेत्र | लागू नहीं | एक या इससे ज़्यादा देश या इलाके, जिनका इस्तेमाल उन उपयोगकर्ताओं को चुनने के लिए किया जाता है जिन्हें एक्सपेरिमेंट में शामिल किया जा सकता है. | |
| भाषाएं | लागू नहीं | एक या इससे ज़्यादा भाषाएं और स्थान-भाषाएं, जिनका इस्तेमाल उन उपयोगकर्ताओं को चुनने के लिए किया जाता है जिन्हें एक्सपेरिमेंट में शामिल किया जा सकता है. | |
| फ़र्स्ट ओपन रिपोर्ट |
से ज़्यादा
से कम के बीच |
उपयोगकर्ताओं को इस आधार पर टारगेट करें कि उन्होंने पहली बार आपका ऐप्लिकेशन कब खोला था. यह जानकारी दिनों में दी जाती है. | |
| पिछली बार ऐप्लिकेशन इस्तेमाल करने वाले उपयोगकर्ता |
से ज़्यादा
से कम के बीच |
उपयोगकर्ताओं को इस आधार पर टारगेट करें कि उन्होंने आखिरी बार आपके ऐप्लिकेशन का इस्तेमाल कब किया था. यह जानकारी दिनों में दी जाती है. |
A/B Testing मेट्रिक
एक्सपेरिमेंट बनाते समय, आपको एक प्राइमरी या लक्ष्य मेट्रिक चुननी होती है. इसका इस्तेमाल, सबसे अच्छा परफ़ॉर्म करने वाले वैरिएंट का पता लगाने के लिए किया जाता है. आपको अन्य मेट्रिक भी ट्रैक करनी चाहिए, ताकि आप हर एक्सपेरिमेंट वैरिएंट की परफ़ॉर्मेंस को बेहतर तरीके से समझ सकें. साथ ही, उन अहम रुझानों को ट्रैक कर सकें जो हर वैरिएंट के लिए अलग-अलग हो सकते हैं. जैसे, उपयोगकर्ता को अपने साथ जोड़े रखना, ऐप्लिकेशन की परफ़ॉर्मेंस, और इन-ऐप्लिकेशन खरीदारी से मिलने वाला रेवेन्यू. अपने एक्सपेरिमेंट में, लक्ष्य से बाहर की ज़्यादा से ज़्यादा पांच मेट्रिक ट्रैक की जा सकती हैं.
उदाहरण के लिए, मान लें कि आपने अपने ऐप्लिकेशन में नई इन-ऐप्लिकेशन खरीदारी जोड़ी हैं और आपको दो अलग-अलग "नज" मैसेज की असरदार होने की तुलना करनी है. इस मामले में, आपके पास खरीदारी से मिलने वाले रेवेन्यू को लक्ष्य मेट्रिक के तौर पर सेट करने का विकल्प होता है. ऐसा इसलिए, क्योंकि आपको सबसे अच्छा परफ़ॉर्म करने वाले वैरिएंट के तौर पर, उस सूचना को दिखाना है जिससे इन-ऐप्लिकेशन खरीदारी से मिलने वाला रेवेन्यू सबसे ज़्यादा हो. साथ ही, आपको यह भी ट्रैक करना है कि किस वैरिएंट की वजह से आने वाले समय में ज़्यादा कन्वर्ज़न मिले और उपयोगकर्ताओं को जोड़े रखा गया. इसके लिए, ट्रैक करने के लिए अन्य मेट्रिक में ये मेट्रिक जोड़ी जा सकती हैं:
- कुल अनुमानित रेवेन्यू, ताकि यह देखा जा सके कि दोनों वैरिएंट के लिए, इन-ऐप्लिकेशन खरीदारी और विज्ञापन से मिलने वाले रेवेन्यू में क्या अंतर है.
- उपयोगकर्ता को अपने साथ जोड़े रखना (1 दिन), उपयोगकर्ता को अपने साथ जोड़े रखना (2-3 दिन), उपयोगकर्ता को अपने साथ जोड़े रखना (4-7 दिन), ताकि हर दिन या हर हफ़्ते उपयोगकर्ता को अपने साथ जोड़े रखने की दर को ट्रैक किया जा सके.
यहां दी गई टेबल में, लक्ष्य मेट्रिक और अन्य मेट्रिक का हिसाब लगाने के तरीके के बारे में जानकारी दी गई है.
लक्ष्य मेट्रिक
| मेट्रिक | ब्यौरा |
|---|---|
| वे उपयोगकर्ता जिनके ऐप बंद नहीं हुए | उन उपयोगकर्ताओं का प्रतिशत जिन्हें आपके ऐप्लिकेशन में ऐसी गड़बड़ियों का सामना नहीं करना पड़ा जिनका पता एक्सपेरिमेंट के दौरान Firebase Crashlytics SDK टूल ने लगाया था.
ध्यान दें: Firebase Crashlytics का इस्तेमाल वेब ऐप्लिकेशन के लिए नहीं किया जा सकता. |
| विज्ञापन से मिलने वाला अनुमानित रेवेन्यू | विज्ञापन से होने वाली अनुमानित आय. |
| अनुमानित कुल रेवेन्यू | खरीदारी और विज्ञापन से मिलने वाले अनुमानित रेवेन्यू की कुल वैल्यू. |
| खरीदारी से हुई आय | सभी purchase और
in_app_purchase इवेंट की कुल वैल्यू.
|
| रिटेंशन (1 दिन) | ऐसे उपयोगकर्ताओं की संख्या जो रोज़ाना आपके ऐप्लिकेशन पर वापस आते हैं. |
| रिटेंशन (दो से तीन दिन) | ऐसे उपयोगकर्ताओं की संख्या जो दो से तीन दिनों के अंदर आपके ऐप्लिकेशन पर वापस आते हैं. |
| रिटेंशन (चार से सात दिन) | ऐसे उपयोगकर्ताओं की संख्या जो चार से सात दिनों के अंदर आपके ऐप्लिकेशन पर वापस आते हैं. |
| रिटेंशन (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 के नतीजों की पुष्टि करने की सुविधा मिलती है.
शुरू करने के लिए, इस गाइड में बताए गए तरीके से ये काम करें:
- Firebase कंसोल में, Google Analytics के लिए BigQuery एक्सपोर्ट करने की सुविधा चालू करें
- BigQuery का इस्तेमाल करके A/B Testing डेटा ऐक्सेस करना
- क्वेरी के उदाहरण देखें
Firebase कंसोल में, Google Analytics के लिए BigQuery एक्सपोर्ट करने की सुविधा चालू करें
अगर आपके पास Spark प्लान है, तो BigQuery सैंडबॉक्स का इस्तेमाल करके, BigQuery को बिना किसी शुल्क के ऐक्सेस किया जा सकता है. हालांकि, इसके लिए सैंडबॉक्स की सीमाएं लागू होंगी. ज़्यादा जानकारी के लिए, कीमत और BigQuery सैंडबॉक्स देखें.
सबसे पहले, पक्का करें कि Analytics का डेटा BigQuery में एक्सपोर्ट किया जा रहा हो:
Firebase कंसोल में,
सेटिंग > इंटिग्रेशन टैब पर जाएं.BigQuery कार्ड में, मैनेज करें पर क्लिक करें. इसके बाद, पुष्टि करें कि आपका प्रोजेक्ट, BigQuery में Analytics डेटा एक्सपोर्ट कर रहा है.
अगर कार्ड पर लिंक करें लिखा है, तो आपको एक्सपोर्ट सेट अप करना होगा. इसके लिए, अगले चरण पर जाएं.
अगर आपको एक्सपोर्ट की सुविधा सेट अप करनी है, तो:
Firebase को BigQuery से लिंक करने के बारे में जानकारी पढ़ें. इसके बाद, आगे बढ़ें पर क्लिक करें.
इंटिग्रेशन कॉन्फ़िगर करें सेक्शन में, Google Analytics को चालू करें.
कोई क्षेत्र चुनें और एक्सपोर्ट सेटिंग चुनें.
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 फ़रवरी, 2026 से 2 मई, 2026 तक चला, तो आपको_TABLE_SUFFIX between '20260202' AND '20260502'तय करना होगा. उदाहरण के लिए, किसी खास एक्सपेरिमेंट की वैल्यू चुनें देखें. - इवेंट के नाम: आम तौर पर, ये आपकी उन लक्ष्य मेट्रिक से मेल खाते हैं जिन्हें आपने एक्सपेरिमेंट में कॉन्फ़िगर किया है. उदाहरण के लिए,
in_app_purchaseइवेंट,ad_impressionयाuser_retentionइवेंट.
क्वेरी जनरेट करने के लिए ज़रूरी जानकारी इकट्ठा करने के बाद:
- Google Cloud कंसोल में, BigQuery पर जाएं.
- अपना प्रोजेक्ट चुनें. इसके बाद, एसक्यूएल क्वेरी बनाएं को चुनें.
- अपनी क्वेरी जोड़ें. क्वेरी के उदाहरण देखने के लिए, क्वेरी के उदाहरण एक्सप्लोर करें पर जाएं.
- Run पर क्लिक करें.
Firebase कंसोल की अपने-आप जनरेट हुई क्वेरी का इस्तेमाल करके, एक्सपेरिमेंट का डेटा देखना
अगर Blaze प्लान का इस्तेमाल किया जा रहा है, तो एक्सपेरिमेंट की खास जानकारी वाले पेज पर एक सैंपल क्वेरी मिलती है. इससे, आपको एक्सपेरिमेंट का नाम, वैरिएंट, इवेंट के नाम, और एक्सपेरिमेंट के लिए इवेंट की संख्या की जानकारी मिलती है.
अपने-आप जनरेट हुई क्वेरी पाने और उसे चलाने के लिए:
- Firebase कंसोल में, DevOps और यूज़र ऐक्टिविटी > A/B टेस्टिंग पर जाएं.
- A/B Testing का वह एक्सपेरिमेंट चुनें जिसकी क्वेरी करनी है. इसके बाद, एक्सपेरिमेंट की खास जानकारी खोलें.
- विकल्प मेन्यू में, 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 '20260202' AND '20260502')
AND userProperty.key = 'firebase_exp_25'
GROUP BY
experimentVariant, eventName
क्वेरी के अन्य उदाहरणों के लिए, क्वेरी के उदाहरण एक्सप्लोर करें पर जाएं.
क्वेरी के उदाहरण एक्सप्लोर करें
यहां दिए गए सेक्शन में, उन क्वेरी के उदाहरण दिए गए हैं जिनका इस्तेमाल करके, Google Analytics इवेंट टेबल से A/B Testing एक्सपेरिमेंट का डेटा निकाला जा सकता है.
सभी एक्सपेरिमेंट से, खरीदारी और एक्सपेरिमेंट के स्टैंडर्ड डेविएशन की वैल्यू निकालना
एक्सपेरिमेंट के नतीजों के डेटा का इस्तेमाल करके, Firebase A/B Testing के नतीजों की पुष्टि की जा सकती है. यहां दिया गया BigQuery एसक्यूएल स्टेटमेंट, एक्सपेरिमेंट के वैरिएंट और हर वैरिएंट में यूनीक उपयोगकर्ताओं की संख्या को एक्सट्रैक्ट करता है. साथ ही, 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