जब आपको अपने उपयोगकर्ताओं से संपर्क करना हो या कोई नया मार्केटिंग कैंपेन शुरू करना हो, तो आपको यह पक्का करना होगा कि आपने सही तरीके से काम किया हो. A/B टेस्टिंग की मदद से, मैसेज के अलग-अलग वर्शन को उपयोगकर्ताओं के चुने गए हिस्सों पर टेस्ट करके, सबसे सही शब्दों और प्रज़ेंटेशन का पता लगाया जा सकता है. चाहे आपका लक्ष्य बेहतर उपयोगकर्ता बनाए रखना हो या किसी ऑफ़र पर कन्वर्ज़न बढ़ाना हो, A/B टेस्टिंग से आंकड़ों का विश्लेषण किया जा सकता है. इससे यह पता लगाया जा सकता है कि आपके चुने गए लक्ष्य के लिए, मैसेज का कोई वैरिएंट, बेसलाइन से बेहतर परफ़ॉर्म कर रहा है या नहीं.
बेसलाइन के साथ सुविधा के वैरिएंट का A/B टेस्ट करने के लिए, यह तरीका अपनाएं:
- अपना एक्सपेरिमेंट बनाएं.
- टेस्ट डिवाइस पर अपने एक्सपेरिमेंट की पुष्टि करें.
- अपने एक्सपेरिमेंट मैनेज करें.
एक प्रयोग बनाएं
सूचना कंपोज़र का इस्तेमाल करने वाले एक्सपेरिमेंट की मदद से, सूचना के एक मैसेज के कई वैरिएंट का आकलन किया जा सकता है.
Firebase कंसोल में साइन इन करें. इसके बाद, पुष्टि करें कि आपके प्रोजेक्ट में Google Analytics चालू है, ताकि एक्सपेरिमेंट को Analytics डेटा का ऐक्सेस मिल सके.
अगर आपने प्रोजेक्ट बनाते समय Google Analytics चालू नहीं किया था, तो इसे इंटिग्रेशन टैब पर जाकर चालू किया जा सकता है. इस टैब को ऐक्सेस करने के लिए, Firebase कंसोल में जाकर > प्रोजेक्ट सेटिंग पर जाएं.
Firebase कंसोल के नेविगेशन बार में मौजूद Engage सेक्शन में जाकर, A/B Testing पर क्लिक करें.
एक्सपेरिमेंट बनाएं पर क्लिक करें. इसके बाद, जिस सेवा के लिए एक्सपेरिमेंट करना है उसके लिए, सूचनाएं चुनें.
अपने एक्सपेरिमेंट के लिए नाम और जानकारी (ज़रूरी नहीं) डालें. इसके बाद, आगे बढ़ें पर क्लिक करें.
टारगेटिंग फ़ील्ड में जानकारी भरें. इसके लिए, सबसे पहले वह ऐप्लिकेशन चुनें जो आपके एक्सपेरिमेंट का इस्तेमाल करता है. अपने एक्सपेरिमेंट में हिस्सा लेने के लिए, उपयोगकर्ताओं के सबसेट को भी टारगेट किया जा सकता है. इसके लिए, यहां दिए गए विकल्प चुनें:
- वर्शन: आपके ऐप्लिकेशन का एक या उससे ज़्यादा वर्शन
- उपयोगकर्ता ऑडियंस: 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 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
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 कंसोल के नेविगेशन बार में, A/B टेस्टिंग पर क्लिक करें.
- ड्राफ़्ट पर क्लिक करें. इसके बाद, अपने एक्सपेरिमेंट पर कर्सर घुमाएं. इसके बाद, कॉन्टेक्स्ट मेन्यू (more_vert) पर क्लिक करें. इसके बाद, टेस्ट डिवाइस मैनेज करें पर क्लिक करें
- टेस्ट डिवाइस के लिए FCM टोकन डालें. इसके बाद, एक्सपेरिमेंट का वह वैरिएंट चुनें जिसे उस टेस्ट डिवाइस पर भेजना है.
- ऐप्लिकेशन चलाएं और पुष्टि करें कि चुने गए वैरिएंट को टेस्ट डिवाइस पर दिखाया जा रहा है.
एक्सपेरिमेंट मैनेज करना
Remote Config, सूचना कंपोज़र या Firebase In-App Messaging का इस्तेमाल करके एक्सपेरिमेंट बनाया जा सकता है. इसके बाद, एक्सपेरिमेंट की पुष्टि करके उसे शुरू किया जा सकता है. एक्सपेरिमेंट के चालू रहने के दौरान, उसे मॉनिटर किया जा सकता है. साथ ही, चालू एक्सपेरिमेंट में शामिल उपयोगकर्ताओं की संख्या बढ़ाई जा सकती है.
एक्सपेरिमेंट पूरा होने के बाद, सबसे अच्छा परफ़ॉर्म करने वाले वैरिएंट में इस्तेमाल की गई सेटिंग नोट की जा सकती हैं. इसके बाद, उन सेटिंग को सभी उपयोगकर्ताओं के लिए रोल आउट किया जा सकता है. इसके अलावा, कोई दूसरा एक्सपेरिमेंट भी चलाया जा सकता है.
एक प्रयोग शुरू करें
- Firebase कंसोल के नेविगेशन मेन्यू में मौजूद, उपयोगकर्ता गतिविधि सेक्शन में जाकर, A/B Testing पर क्लिक करें.
- ड्राफ़्ट पर क्लिक करें. इसके बाद, अपने एक्सपेरिमेंट के टाइटल पर क्लिक करें.
- यह पुष्टि करने के लिए कि आपके ऐप्लिकेशन के उपयोगकर्ताओं को एक्सपेरिमेंट में शामिल किया जाएगा, ड्राफ़्ट की जानकारी को बड़ा करें. इसके बाद, टारगेटिंग और डिस्ट्रिब्यूशन सेक्शन में 0% से ज़्यादा संख्या देखें. उदाहरण के लिए, ज़रूरी शर्तें पूरी करने वाले 1% उपयोगकर्ता.
- अपने एक्सपेरिमेंट में बदलाव करने के लिए, बदलाव करें पर क्लिक करें.
- अपना एक्सपेरिमेंट शुरू करने के लिए, एक्सपेरिमेंट शुरू करें पर क्लिक करें. हर प्रोजेक्ट के लिए एक साथ, ज़्यादा से ज़्यादा 24 एक्सपेरिमेंट चलाए जा सकते हैं.
किसी एक्सपेरिमेंट को मॉनिटर करना
जब कोई एक्सपेरिमेंट कुछ समय तक चल जाता है, तब उसकी प्रोग्रेस देखी जा सकती है. साथ ही, यह भी देखा जा सकता है कि एक्सपेरिमेंट में अब तक हिस्सा लेने वाले लोगों के लिए, नतीजे कैसे दिख रहे हैं.
- Firebase कंसोल के नेविगेशन मेन्यू में मौजूद, उपयोगकर्ता गतिविधि सेक्शन में जाकर, A/B Testing पर क्लिक करें.
चल रहा है पर क्लिक करें. इसके बाद, अपने एक्सपेरिमेंट के टाइटल पर क्लिक करें या उसे खोजें. इस पेज पर, आपको अपने चालू एक्सपेरिमेंट के बारे में अलग-अलग तरह के आंकड़े दिख सकते हैं. इनमें ये शामिल हैं:
- बेसलाइन से% अंतर: यह किसी मेट्रिक में हुए सुधार का मेज़रमेंट है. यह मेज़रमेंट, किसी वैरिएंट की तुलना में बेसलाइन के लिए किया जाता है. इसकी गणना, वैरिएंट की वैल्यू रेंज की तुलना बेसलाइन की वैल्यू रेंज से करके की जाती है.
- बुनियादी लाइन को पीछे छोड़ने की संभावना: यह अनुमानित संभावना है कि कोई वैरिएंट, चुनी गई मेट्रिक के लिए बुनियादी लाइन को पीछे छोड़ देगा.
- observed_metric हर उपयोगकर्ता के हिसाब से: एक्सपेरिमेंट के नतीजों के आधार पर, यह अनुमानित रेंज है. इसमें समय के साथ मेट्रिक की वैल्यू शामिल होगी.
- कुल observed_metric: यह बेसलाइन या वैरिएंट के लिए, देखी गई कुल वैल्यू है. इस वैल्यू का इस्तेमाल यह मेज़र करने के लिए किया जाता है कि एक्सपेरिमेंट का हर वैरिएंट कैसा परफ़ॉर्म करता है. साथ ही, इसका इस्तेमाल बेहतर परफ़ॉर्मेंस, वैल्यू रेंज, बेसलाइन से बेहतर परफ़ॉर्म करने की संभावना, और सबसे अच्छा वैरिएंट होने की संभावना का हिसाब लगाने के लिए किया जाता है. मेजर की जा रही मेट्रिक के आधार पर, इस कॉलम को "हर उपयोगकर्ता के लिए अवधि," "हर उपयोगकर्ता के लिए रेवेन्यू," "उपयोगकर्ताओं को बनाए रखने की दर" या "कन्वर्ज़न रेट" के तौर पर लेबल किया जा सकता है.
एक्सपेरिमेंट के कुछ समय (FCM और In-App Messaging के लिए कम से कम सात दिन या Remote Config के लिए 14 दिन) तक चलने के बाद, इस पेज पर मौजूद डेटा से पता चलता है कि कौनसे वैरिएंट ने सबसे अच्छा परफ़ॉर्म किया है. कुछ मेज़रमेंट के साथ एक बार चार्ट भी दिया जाता है. यह चार्ट, डेटा को विज़ुअल फ़ॉर्मैट में दिखाता है.
सभी उपयोगकर्ताओं के लिए एक्सपेरिमेंट रोल आउट करना
जब एक्सपेरिमेंट को इतना समय हो जाए कि आपको लक्ष्य से जुड़ी मेट्रिक के लिए सबसे सही या "लीडर" वैरिएंट मिल जाए, तब उसे अपने सभी उपयोगकर्ताओं को दिखाया जा सकता है. इससे आने वाले समय में, आपको सभी उपयोगकर्ताओं को शामिल करने के लिए, कोई वैरिएंट चुनने की सुविधा मिलती है. अगर आपको अपने एक्सपेरिमेंट में सबसे सही वैरिएंट नहीं मिला है, तो भी सभी उपयोगकर्ताओं के लिए किसी एक वैरिएंट को रिलीज़ किया जा सकता है.
- Firebase कंसोल के नेविगेशन मेन्यू में मौजूद, उपयोगकर्ता गतिविधि सेक्शन में जाकर, A/B Testing पर क्लिक करें.
- पूरा हो गया या चल रहा है पर क्लिक करें. इसके बाद, उस एक्सपेरिमेंट पर क्लिक करें जिसे आपको सभी उपयोगकर्ताओं के लिए रिलीज़ करना है. इसके बाद, कॉन्टेक्स्ट मेन्यू ( ) वेरिएंट रोल आउट करें पर क्लिक करें.
इनमें से कोई एक तरीका अपनाकर, अपने एक्सपेरिमेंट को सभी उपयोगकर्ताओं के लिए रोल आउट करें:
- सूचना कंपोज़र का इस्तेमाल करने वाले एक्सपेरिमेंट के लिए, लॉन्च करने के लिए मैसेज डायलॉग का इस्तेमाल करें. इससे, टारगेट किए गए उन बाकी उपयोगकर्ताओं को मैसेज भेजा जा सकेगा जो एक्सपेरिमेंट का हिस्सा नहीं थे.
- Remote Config एक्सपेरिमेंट के लिए, कोई वैरिएंट चुनें, ताकि यह तय किया जा सके कि Remote Config पैरामीटर की किन वैल्यू को अपडेट करना है. एक्सपेरिमेंट बनाते समय तय की गई टारगेटिंग की शर्तों को नई शर्त के तौर पर आपके टेंप्लेट में जोड़ दिया जाता है, ताकि यह पक्का किया जा सके कि रोल आउट, सिर्फ़ एक्सपेरिमेंट के लिए चुने गए उपयोगकर्ताओं को दिखे. बदलावों को देखने के लिए, रिमोट कॉन्फ़िगरेशन में देखें पर क्लिक करें. इसके बाद, बदलावों को पब्लिश करें पर क्लिक करके, रोल आउट को पूरा करें.
- In-App Messaging एक्सपेरिमेंट के लिए, डायलॉग का इस्तेमाल करके यह तय करें कि किस वैरिएंट को स्टैंडअलोन In-App Messaging कैंपेन के तौर पर रोल आउट करना है. इसे चुनने के बाद, आपको FIAM की कंपोज़ स्क्रीन पर रीडायरेक्ट कर दिया जाता है. यहां आपको पब्लिश करने से पहले, कोई भी बदलाव करने का विकल्प मिलता है.
एक्सपेरिमेंट को बड़ा करना
अगर आपको लगता है कि किसी एक्सपेरिमेंट में, A/B Testing के लिए ज़रूरी संख्या में उपयोगकर्ता शामिल नहीं हो रहे हैं, तो एक्सपेरिमेंट को ज़्यादा से ज़्यादा लोगों तक पहुंचाया जा सकता है. इससे, ऐप्लिकेशन इस्तेमाल करने वाले ज़्यादा से ज़्यादा लोग एक्सपेरिमेंट में शामिल हो पाएंगे.
- Firebase कंसोल के नेविगेशन मेन्यू में मौजूद, उपयोगकर्ता गतिविधि सेक्शन में जाकर, A/B Testing पर क्लिक करें.
- वह एक्सपेरिमेंट चुनें जिसमें आपको बदलाव करना है.
- एक्सपेरिमेंट की खास जानकारी में, कॉन्टेक्स्ट मेन्यू ( ) पर क्लिक करें. इसके बाद, चल रहे एक्सपेरिमेंट में बदलाव करें पर क्लिक करें.
- टारगेटिंग डायलॉग में, एक्सपेरिमेंट में शामिल उपयोगकर्ताओं का प्रतिशत बढ़ाने का विकल्प दिखता है. मौजूदा प्रतिशत से ज़्यादा कोई संख्या चुनें और पब्लिश करें पर क्लिक करें. एक्सपेरिमेंट को, आपके तय किए गए प्रतिशत के हिसाब से उपयोगकर्ताओं के लिए रोल आउट किया जाएगा.
किसी एक्सपेरिमेंट को डुप्लीकेट करना या उसे रोकना
- Firebase कंसोल के नेविगेशन मेन्यू में मौजूद, उपयोगकर्ता गतिविधि सेक्शन में जाकर, A/B Testing पर क्लिक करें.
- पूरे हो चुके या चल रहे हैं पर क्लिक करें. इसके बाद, अपने एक्सपेरिमेंट पर पॉइंटर घुमाएं, कॉन्टेक्स्ट मेन्यू ( ) पर क्लिक करें, और फिर एक्सपेरिमेंट डुप्लीकेट करें या एक्सपेरिमेंट रोकें पर क्लिक करें.
उपयोगकर्ता को टारगेट करना
उपयोगकर्ता को टारगेट करने से जुड़ी इन शर्तों का इस्तेमाल करके, उन उपयोगकर्ताओं को टारगेट किया जा सकता है जिन्हें आपको अपने एक्सपेरिमेंट में शामिल करना है.
टारगेटिंग का मानदंड | ऑपरेटर | वैल्यू | ध्यान दें |
---|---|---|---|
वर्शन | शामिल है,
शामिल नहीं है, पूरी तरह से मैच करता है, रेगुलर एक्सप्रेशन शामिल है |
ऐप्लिकेशन के एक या उससे ज़्यादा वर्शन के लिए वैल्यू डालें. इन वर्शन को आपको एक्सपेरिमेंट में शामिल करना है. |
शामिल है, शामिल नहीं है या पूरी तरह से मेल खाता है ऑपरेटर में से किसी का भी इस्तेमाल करते समय, कॉमा लगाकर अलग की गई वैल्यू की सूची दी जा सकती है. contains regex ऑपरेटर का इस्तेमाल करते समय, RE2 फ़ॉर्मैट में रेगुलर एक्सप्रेशन बनाए जा सकते हैं. आपका रेगुलर एक्सप्रेशन, टारगेट वर्शन स्ट्रिंग के सभी या कुछ हिस्से से मैच कर सकता है. टारगेट स्ट्रिंग की शुरुआत, आखिर या पूरे हिस्से से मेल खाने के लिए, ^ और $ ऐंकर का इस्तेमाल भी किया जा सकता है. |
उपयोगकर्ता ऑडियंस | इनमें से सभी शामिल हैं, इनमें से कम से कम एक शामिल है, इनमें से सभी शामिल नहीं हैं, इनमें से कम से कम एक शामिल नहीं है |
उन उपयोगकर्ताओं को टारगेट करने के लिए एक या उससे ज़्यादा Analytics ऑडियंस चुनें जिन्हें आपके एक्सपेरिमेंट में शामिल किया जा सकता है. | Google Analytics ऑडियंस को टारगेट करने वाले कुछ एक्सपेरिमेंट के लिए, डेटा इकट्ठा होने में कुछ दिन लग सकते हैं. ऐसा इसलिए, क्योंकि इन पर Analytics डेटा प्रोसेसिंग में लगने वाला समय लागू होता है. आपको यह देरी नए उपयोगकर्ताओं के साथ देखने को मिल सकती है. आम तौर पर, इन उपयोगकर्ताओं को ऑडियंस की ज़रूरी शर्तें पूरी करने वाली ऑडियंस में शामिल होने के 24 से 48 घंटे बाद शामिल किया जाता है. इसके अलावा, यह देरी हाल ही में बनाई गई ऑडियंस के साथ भी देखने को मिल सकती है. |
उपयोगकर्ता प्रॉपर्टी | टेक्स्ट के लिए:
शामिल है, शामिल नहीं है, पूरी तरह से मेल खाता है, रेगुलर एक्सप्रेशन शामिल है संख्याओं के लिए: <, ≤, =, ≥, > |
Analytics उपयोगकर्ता प्रॉपर्टी का इस्तेमाल, उन उपयोगकर्ताओं को चुनने के लिए किया जाता है जिन्हें किसी एक्सपेरिमेंट में शामिल किया जा सकता है. इसमें उपयोगकर्ता प्रॉपर्टी की वैल्यू चुनने के लिए कई विकल्प होते हैं.
क्लाइंट पर, उपयोगकर्ता प्रॉपर्टी के लिए सिर्फ़ स्ट्रिंग वैल्यू सेट की जा सकती हैं. जिन शर्तों में संख्या वाले ऑपरेटर इस्तेमाल किए जाते हैं उनके लिए, Remote Config सेवा, उपयोगकर्ता प्रॉपर्टी की वैल्यू को पूर्णांक/फ़्लोट में बदल देती है. |
contains regex ऑपरेटर का इस्तेमाल करते समय, RE2 फ़ॉर्मैट में रेगुलर एक्सप्रेशन बनाए जा सकते हैं. आपका रेगुलर एक्सप्रेशन, टारगेट वर्शन स्ट्रिंग के सभी या कुछ हिस्से से मैच कर सकता है. टारगेट स्ट्रिंग की शुरुआत, आखिर या पूरे हिस्से से मेल खाने के लिए, ^ और $ ऐंकर का इस्तेमाल भी किया जा सकता है. |
देश/क्षेत्र | लागू नहीं | एक या उससे ज़्यादा देशों या इलाकों का इस्तेमाल करके, उन उपयोगकर्ताओं को चुना जाता है जिन्हें एक्सपेरिमेंट में शामिल किया जा सकता है. | |
भाषाएं | लागू नहीं | एक या उससे ज़्यादा भाषाओं और स्थान-भाषाओं का इस्तेमाल करके, उन उपयोगकर्ताओं को चुना जाता है जिन्हें एक्सपेरिमेंट में शामिल किया जा सकता है. | |
फ़र्स्ट ओपन रिपोर्ट |
से ज़्यादा से कम के बीच |
उन उपयोगकर्ताओं को टारगेट करें जिन्होंने पहली बार आपका ऐप्लिकेशन खोला है. इसके लिए, दिनों की संख्या तय करें. | |
पिछली बार ऐप्लिकेशन इस्तेमाल करने वाले उपयोगकर्ता |
से ज़्यादा से कम के बीच |
उन उपयोगकर्ताओं को टारगेट करें जिन्होंने आखिरी बार आपके ऐप्लिकेशन का इस्तेमाल कब किया था. यह जानकारी दिनों में दी जाती है. |
A/B Testing मेट्रिक
एक्सपेरिमेंट बनाते समय, आपको एक प्राइमरी या लक्ष्य मेट्रिक चुननी होती है. इसका इस्तेमाल, सबसे अच्छा परफ़ॉर्म करने वाले वैरिएंट का पता लगाने के लिए किया जाता है. आपको अन्य मेट्रिक भी ट्रैक करनी चाहिए, ताकि आपको हर एक्सपेरिमेंट वर्शन की परफ़ॉर्मेंस को बेहतर ढंग से समझने में मदद मिल सके. साथ ही, उन अहम रुझानों को ट्रैक किया जा सके जो हर वर्शन के लिए अलग-अलग हो सकते हैं. जैसे, उपयोगकर्ता को बनाए रखना, ऐप्लिकेशन की स्थिरता, और इन-ऐप खरीदारी से मिलने वाला रेवेन्यू. अपने एक्सपेरिमेंट में, ज़्यादा से ज़्यादा पांच नॉन-गोल मेट्रिक ट्रैक की जा सकती हैं.
उदाहरण के लिए, मान लें कि आपने अपने ऐप्लिकेशन में इन-ऐप्लिकेशन खरीदारी की नई सुविधाएं जोड़ी हैं और आपको "ध्यान खींचने" वाले दो अलग-अलग मैसेज की परफ़ॉर्मेंस की तुलना करनी है. इस मामले में, खरीदारी से मिलने वाला रेवेन्यू को अपनी लक्ष्य मेट्रिक के तौर पर सेट किया जा सकता है. ऐसा इसलिए, क्योंकि आपको यह पता लगाना है कि किस सूचना से सबसे ज़्यादा इन-ऐप्लिकेशन खरीदारी हुई. आपको यह भी ट्रैक करना है कि किस वैरिएंट से आने वाले समय में ज़्यादा कन्वर्ज़न हुए और उपयोगकर्ताओं को जोड़े रखने में मदद मिली. इसलिए, ट्रैक करने के लिए अन्य मेट्रिक में ये मेट्रिक जोड़ी जा सकती हैं:- अनुमानित कुल रेवेन्यू से पता चलता है कि दोनों वैरिएंट के बीच, ऐप्लिकेशन में की गई खरीदारी और विज्ञापन से मिलने वाले रेवेन्यू में कितना अंतर है
- ग्राहक बनाए रखना (एक दिन), ग्राहक बनाए रखना (दो से तीन दिन), ग्राहक बनाए रखना (चार से सात दिन), ताकि हर दिन/हर हफ़्ते ग्राहक बनाए रखने की दर को ट्रैक किया जा सके
यहां दी गई टेबल में, लक्ष्य की मेट्रिक और अन्य मेट्रिक के कैलकुलेट होने के तरीके के बारे में जानकारी दी गई है.
लक्ष्य मेट्रिक
मेट्रिक | ब्यौरा |
---|---|
वे उपयोगकर्ता जिनके ऐप बंद नहीं हुए | उन उपयोगकर्ताओं का प्रतिशत जिन्हें आपके ऐप्लिकेशन में ऐसी गड़बड़ियों का सामना नहीं करना पड़ा जिन्हें एक्सपेरिमेंट के दौरान 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 के नतीजों की पुष्टि अलग से करने की सुविधा मिलती है.
शुरू करने के लिए, इस गाइड में बताए गए तरीके से ये काम करें:
- Firebase कंसोल में, Google Analytics के लिए BigQuery एक्सपोर्ट करने की सुविधा चालू करना
- BigQuery का इस्तेमाल करके A/B Testing का डेटा ऐक्सेस करना
- क्वेरी के उदाहरण देखें
Firebase कंसोल में, Google Analytics के लिए BigQuery एक्सपोर्ट करने की सुविधा चालू करना
अगर आपने Spark प्लान लिया है, तो BigQuery सैंडबॉक्स का इस्तेमाल करके, बिना किसी शुल्क के BigQuery को ऐक्सेस किया जा सकता है. हालांकि, ऐसा सैंडबॉक्स की सीमाओं के तहत किया जा सकता है. ज़्यादा जानकारी के लिए, कीमत और BigQuery सैंडबॉक्स देखें.
सबसे पहले, पक्का करें कि Analytics का डेटा BigQuery में एक्सपोर्ट किया जा रहा हो:
- इंटिग्रेशन टैब खोलें. इसे ऐक्सेस करने के लिए, Firebase कंसोल में जाकर > प्रोजेक्ट सेटिंग पर जाएं.
- अगर BigQuery का इस्तेमाल पहले से ही Firebase की अन्य सेवाओं के साथ किया जा रहा है, तो मैनेज करें पर क्लिक करें. अगर आपको ऐसा नहीं करना है, तो जोड़ें पर क्लिक करें.
- 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 में दिखेगा. साथ ही, जब अपने प्रोजेक्ट के नाम को बड़ा करके 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
इवेंट.
क्वेरी जनरेट करने के लिए ज़रूरी जानकारी इकट्ठा करने के बाद:
- Google Cloud कंसोल में BigQuery खोलें.
- अपना प्रोजेक्ट चुनें. इसके बाद, एसक्यूएल क्वेरी बनाएं चुनें.
- अपनी क्वेरी जोड़ें. क्वेरी के उदाहरण देखने के लिए, क्वेरी के उदाहरण देखें पर जाएं.
- Run पर क्लिक करें.
Firebase कंसोल की अपने-आप जनरेट हुई क्वेरी का इस्तेमाल करके, एक्सपेरिमेंट के डेटा को क्वेरी करना
अगर Blaze प्लान का इस्तेमाल किया जा रहा है, तो एक्सपेरिमेंट की खास जानकारी पेज पर एक सैंपल क्वेरी दी जाती है. इससे आपको एक्सपेरिमेंट का नाम, वैरिएंट, इवेंट के नाम, और देखे जा रहे एक्सपेरिमेंट के लिए इवेंट की संख्या मिलती है.
अपने-आप जनरेट हुई क्वेरी को पाने और चलाने के लिए:
- Firebase कंसोल में, A/B Testing खोलें. इसके बाद, वह A/B Testing एक्सपेरिमेंट चुनें जिसके बारे में आपको क्वेरी करनी है. इससे एक्सपेरिमेंट की खास जानकारी खुल जाएगी.
- विकल्प मेन्यू में, 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 इवेंट टेबल से 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