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

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

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

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

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

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

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

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

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

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

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

  4. अपने प्रयोग के लिए एक नाम और वैकल्पिक विवरण डालें और क्लिक करें आगे बढ़ें पर टैप करें.

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

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

      पहली बार खुलने के समय के हिसाब से उपयोगकर्ता टारगेटिंग की सुविधा, आपके नीचे दिए गए विकल्पों को चुनने के बाद उपलब्ध होगी Android या iOS ऐप्लिकेशन. यह SDK टूल का Remote Config वर्शन: Apple प्लैटफ़ॉर्म SDK टूल v9.0.0+ और Android SDK v21.1.1+ (Firebase BoM v30.3.0+).

      पहली बार इस दौरान क्लाइंट के लिए Analytics चालू होना चाहिए इवेंट खोलें.

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

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

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

    • app_install
    • app_remove
    • app_update
    • dynamic_link_first_open
  8. एक्सपेरिमेंट के लिए लक्ष्य, मुख्य फ़ील्ड चुनें मेट्रिक को ट्रैक कर सकते हैं, और कोई भी अतिरिक्त मीट्रिक जोड़ सकते हैं, जिसे आप सूची. इनमें पहले से मौजूद मकसद, जैसे कि खरीदारी, रेवेन्यू, उपयोगकर्ताओं को अपने साथ जोड़े रखना, ऐसे उपयोगकर्ता जिनके ऐप्लिकेशन बंद नहीं हुए, वगैरह), Analytics कन्वर्ज़न इवेंट और अन्य Analytics इवेंट. काम पूरा हो जाने के बाद, आगे बढ़ें पर क्लिक करें.

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

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

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

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

  13. अपने प्रयोग को सेव करने के लिए, समीक्षा करें पर क्लिक करें.

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

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

हर Firebase इंस्टॉलेशन के लिए, आपके पास इंस्टॉलेशन की पुष्टि करने वाला टोकन फिर से पाने का विकल्प होता है से जुड़ी हुई हैं. इस टोकन का इस्तेमाल, एक्सपेरिमेंट के कुछ वैरिएंट को टेस्ट करने के लिए किया जा सकता है जिस टेस्ट डिवाइस में आपका ऐप्लिकेशन इंस्टॉल है. किसी टेस्ट डिवाइस के तौर पर डाउनलोड करने के लिए, ये काम करें:

  1. इंस्टॉलेशन की पुष्टि करने वाला टोकन इस तरह पाएं:

    Swift

    do {
      let result = try await Installations.installations()
        .authTokenForcingRefresh(true)
      print("Installation auth token: \(result.authToken)")
    } catch {
      print("Error fetching token: \(error)")
    }
    

    Objective-C

    [[FIRInstallations installations] authTokenForcingRefresh:true
                                                   completion:^(FIRInstallationsAuthTokenResult *result, NSError *error) {
      if (error != nil) {
        NSLog(@"Error fetching Installation token %@", error);
        return;
      }
      NSLog(@"Installation auth token: %@", [result authToken]);
    }];
    

    Java

    FirebaseInstallations.getInstance().getToken(/* forceRefresh */true)
            .addOnCompleteListener(new OnCompleteListener<InstallationTokenResult>() {
        @Override
        public void onComplete(@NonNull Task<InstallationTokenResult> task) {
            if (task.isSuccessful() && task.getResult() != null) {
                Log.d("Installations", "Installation auth token: " + task.getResult().getToken());
            } else {
                Log.e("Installations", "Unable to get Installation auth token");
            }
        }
    });

    Kotlin+KTX

    val forceRefresh = true
    FirebaseInstallations.getInstance().getToken(forceRefresh)
        .addOnCompleteListener { task ->
            if (task.isSuccessful) {
                Log.d("Installations", "Installation auth token: " + task.result?.token)
            } else {
                Log.e("Installations", "Unable to get Installation auth token")
            }
        }

    C++

    firebase::InitResult init_result;
    auto* installations_object = firebase::installations::Installations::GetInstance(
        firebase::App::GetInstance(), &init_result);
    installations_object->GetToken().OnCompletion(
        [](const firebase::Future& future) {
          if (future.status() == kFutureStatusComplete &&
              future.error() == firebase::installations::kErrorNone) {
            printf("Installations Auth Token %s\n", future.result()->c_str());
          }
        });
    
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

    Unity

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

Firebase इंस्टॉलेशन के बारे में ज़्यादा जानने के लिए, यहां जाएं Firebase इंस्टॉलेशन मैनेज करें.

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

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

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

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

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

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

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

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

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

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

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

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

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

प्रयोग को बड़ा करें

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

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

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

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

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

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

टारगेटिंग (विज्ञापन के लिए सही दर्शक चुनना) की शर्त ऑपरेटर मान ध्यान दें
वर्शन इसमें शामिल है,
इसमें शामिल नहीं है,
एग्ज़ैक्ट मैच करता है,
रेगुलर एक्सप्रेशन शामिल है
एक या ज़्यादा ऐप्लिकेशन वर्शन के लिए कोई मान डालें जिसे आप प्रयोग.

किसी भी इसमें शामिल है, इसमें शामिल नहीं है का इस्तेमाल करते समय या पूरी तरह से मेल खाता है, तो आप कॉमा लगाकर अलग की गई वैल्यू.

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

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

Remote Config के लिए, इसका मतलब यह है कि भले ही कोई उपयोगकर्ता, तकनीकी तौर पर ज़रूरी शर्तें पूरी करता हो एक ऑडियंस, अगर Analytics ने उपयोगकर्ता को `फ़ेचAndActivate()` को लागू किया जाता है. उपयोगकर्ता को प्रयोग.

उपयोगकर्ता प्रॉपर्टी टेक्स्ट के लिए:
में ये शामिल हैं,
में यह शामिल नहीं है,
एग्ज़ैक्ट मैच करती है,
रेगुलर एक्सप्रेशन में शामिल है

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

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

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

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

Android या iOS को चुनने के बाद, फ़र्स्ट ओपन के हिसाब से उपयोगकर्ता को टारगेट करने की सुविधा उपलब्ध होगी है. फ़िलहाल, यह टूल Remote Config SDK टूल के साथ काम करता है वर्शन: Apple प्लैटफ़ॉर्म SDK v9.0.0+ और Android SDK v21.1.1+ (Firebase BoM v30.3.0 के बाद का वर्शन).

Analytics के पास ये भी होना चाहिए पहले ओपन इवेंट के दौरान क्लाइंट पर चालू किया जा चुका है.

A/B Testing मेट्रिक

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

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

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

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

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

मेट्रिक ब्यौरा
वे उपयोगकर्ता जिनके ऐप बंद नहीं हुए उन उपयोगकर्ताओं का प्रतिशत जिन्हें आपके ऐप्लिकेशन में कोई गड़बड़ी नहीं मिली एक्सपेरिमेंट के दौरान, Firebase Crashlytics SDK टूल ने इन गड़बड़ियों का पता लगाया.
विज्ञापन से मिलने वाला अनुमानित रेवेन्यू विज्ञापन से अनुमानित आमदनी.
अनुमानित कुल रेवेन्यू खरीदारी और विज्ञापन से होने वाली अनुमानित आय का कुल मान.
खरीदारी से हुई आय सभी 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 का डेटा एक्सपोर्ट करना

इसमें A/B Testing के प्रयोग का डेटा देखने के अलावा Firebase कंसोल की मदद से, अपने एक्सपेरिमेंट के डेटा की जांच और विश्लेषण किया जा सकता है 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. अगर पहले से ही अन्य Firebase सेवाओं के साथ BigQuery का इस्तेमाल किया जा रहा है, मैनेज करें पर क्लिक करें. अगर ऐसा नहीं है, तो लिंक करें पर क्लिक करें.
  3. Firebase को BigQuery से लिंक करने के बारे में जानकारी देखें. इसके बाद, आगे बढ़ें पर क्लिक करें.
  4. इंटिग्रेशन कॉन्फ़िगर करें सेक्शन में, Google Analytics टॉगल.
  5. कोई क्षेत्र चुनें और एक्सपोर्ट सेटिंग चुनें.

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

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

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

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

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

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

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

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

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

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

  1. Firebase कंसोल से, खोलें A/B Testing और वह A/B Testing प्रयोग चुनें जिसकी क्वेरी करनी है. एक्सपेरिमेंट के बारे में खास जानकारी.
  2. विकल्प मेन्यू से, 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

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

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

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

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

एक्सपेरिमेंट के नतीजों के डेटा का इस्तेमाल करके, अलग से पुष्टि की जा सकती है Firebase A/B Testing नतीजे. यह BigQuery एसक्यूएल स्टेटमेंट एक्सट्रैक्ट करता प्रयोग वैरिएंट, हर वैरिएंट में यूनीक उपयोगकर्ताओं की संख्या, और कुल रेवेन्यू का योग in_app_purchase और ecommerce_purchase इवेंट और स्टैंडर्ड डेविएशन से _TABLE_SUFFIX से शुरू होने वाली, चुनी गई समयसीमा के अंदर सभी एक्सपेरिमेंट के लिए और खत्म होने की तारीखें. इस क्वेरी से मिले डेटा का इस्तेमाल वन टेल t-टेस्ट के लिए स्टैटिस्टिक्स सिग्नेचर जनरेटर, ताकि यह पुष्टि की जा सके कि जो 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