A/B পরীক্ষার মাধ্যমে মেসেজিং পরীক্ষা তৈরি করুন

আপনি যখন আপনার ব্যবহারকারীদের কাছে পৌঁছাচ্ছেন বা একটি নতুন বিপণন প্রচারাভিযান শুরু করছেন, তখন আপনি নিশ্চিত করতে চান যে আপনি এটি সঠিকভাবে পেয়েছেন। A/B পরীক্ষা আপনাকে আপনার ব্যবহারকারী বেসের নির্বাচিত অংশে বার্তা বৈকল্পিক পরীক্ষা করে সর্বোত্তম শব্দ এবং উপস্থাপনা খুঁজে পেতে সাহায্য করতে পারে। আপনার লক্ষ্য ভালোভাবে ধরে রাখা বা একটি অফারে রূপান্তর করা হোক না কেন, A/B টেস্টিং পরিসংখ্যানগত বিশ্লেষণ করতে পারে তা নির্ধারণ করতে একটি বার্তা বৈকল্পিক আপনার নির্বাচিত উদ্দেশ্যের জন্য বেসলাইনকে ছাড়িয়ে যাচ্ছে কিনা।

একটি বেসলাইন সহ A/B পরীক্ষা বৈশিষ্ট্য বৈকল্পিক, নিম্নলিখিত করুন:

  1. আপনার পরীক্ষা তৈরি করুন.
  2. একটি পরীক্ষা ডিভাইসে আপনার পরীক্ষা যাচাই করুন.
  3. আপনার পরীক্ষা পরিচালনা করুন.

একটি পরীক্ষা তৈরি করুন

বিজ্ঞপ্তি কম্পোজার ব্যবহার করে এমন একটি পরীক্ষা আপনাকে একক বিজ্ঞপ্তি বার্তায় একাধিক বৈকল্পিক মূল্যায়ন করতে দেয়।

  1. Firebase কনসোলে সাইন ইন করুন এবং যাচাই করুন যে আপনার প্রোজেক্টে Google Analytics সক্ষম করা আছে যাতে পরীক্ষাটি Analytics ডেটাতে অ্যাক্সেস করতে পারে।

    আপনি যদি আপনার প্রোজেক্ট তৈরি করার সময় Google Analytics সক্ষম না করে থাকেন, তাহলে আপনি ইন্টিগ্রেশন ট্যাবে এটি সক্ষম করতে পারেন, যেটি আপনি Firebase কনসোলে > প্রকল্প সেটিংস ব্যবহার করে অ্যাক্সেস করতে পারেন।

  2. Firebase কনসোল নেভিগেশন বারের এনগেজ বিভাগে, A/B Testing ক্লিক করুন।

  3. পরীক্ষা তৈরি করুন ক্লিক করুন, এবং তারপরে আপনি যে পরিষেবাটির সাথে পরীক্ষা করতে চান তার জন্য অনুরোধ করা হলে বিজ্ঞপ্তিগুলি নির্বাচন করুন৷

  4. আপনার পরীক্ষার জন্য একটি নাম এবং ঐচ্ছিক বিবরণ লিখুন এবং পরবর্তীতে ক্লিক করুন।

  5. প্রথমে আপনার পরীক্ষা ব্যবহার করে এমন অ্যাপটি বেছে নিয়ে টার্গেটিং ক্ষেত্রগুলি পূরণ করুন। আপনি নিম্নলিখিতগুলি অন্তর্ভুক্ত করে এমন বিকল্পগুলি বেছে নিয়ে আপনার পরীক্ষায় অংশগ্রহণের জন্য আপনার ব্যবহারকারীদের একটি উপসেটকে লক্ষ্য করতে পারেন:

    • সংস্করণ: আপনার অ্যাপের এক বা একাধিক সংস্করণ
    • ব্যবহারকারী শ্রোতা: পরীক্ষায় অন্তর্ভুক্ত হতে পারে এমন ব্যবহারকারীদের লক্ষ্য করতে ব্যবহৃত Analytics শ্রোতা
    • ব্যবহারকারীর সম্পত্তি: পরীক্ষায় অন্তর্ভুক্ত হতে পারে এমন ব্যবহারকারীদের নির্বাচন করার জন্য এক বা একাধিক Analytics ব্যবহারকারীর বৈশিষ্ট্য
    • দেশ/অঞ্চল: পরীক্ষায় অন্তর্ভুক্ত হতে পারে এমন ব্যবহারকারীদের নির্বাচন করার জন্য এক বা একাধিক দেশ বা অঞ্চল
    • ডিভাইসের ভাষা: পরীক্ষায় অন্তর্ভুক্ত হতে পারে এমন ব্যবহারকারীদের নির্বাচন করতে ব্যবহৃত এক বা একাধিক ভাষা এবং লোকেল
    • প্রথম ওপেন: প্রথমবার আপনার অ্যাপ খোলার ভিত্তিতে ব্যবহারকারীদের লক্ষ্য করুন
    • শেষ অ্যাপ্লিকেশানের ব্যস্ততা: ব্যবহারকারীরা আপনার অ্যাপের সাথে শেষ কবে জড়িত ছিল তার উপর ভিত্তি করে লক্ষ্য করুন৷
  6. লক্ষ্য ব্যবহারকারীদের শতাংশ সেট করুন: লক্ষ্য ব্যবহারকারীদের অধীনে সেট করা মানদণ্ডের সাথে মেলে আপনার অ্যাপের ব্যবহারকারী বেসের শতাংশ নির্বাচন করুন যা আপনি আপনার পরীক্ষায় বেসলাইন এবং এক বা একাধিক রূপের মধ্যে সমানভাবে ভাগ করতে চান। এটি 0.01% এবং 100% এর মধ্যে যেকোনো শতাংশ হতে পারে। ডুপ্লিকেট পরীক্ষা সহ প্রতিটি পরীক্ষার জন্য শতকরা এলোমেলোভাবে ব্যবহারকারীদের জন্য পুনরায় বরাদ্দ করা হয়।

  7. ভেরিয়েন্ট বিভাগে, বার্তা লিখুন পাঠ্য ক্ষেত্রে বেসলাইন গ্রুপে পাঠানোর জন্য একটি বার্তা টাইপ করুন। বেসলাইন গ্রুপে কোনো বার্তা না পাঠাতে, এই ক্ষেত্রটি ফাঁকা রাখুন।

  8. (ঐচ্ছিক) আপনার পরীক্ষায় একাধিক বৈকল্পিক যোগ করতে, বৈকল্পিক যোগ করুন ক্লিক করুন। ডিফল্টরূপে, পরীক্ষাগুলির একটি বেসলাইন এবং একটি বৈকল্পিক থাকে৷

  9. (ঐচ্ছিক) ভেরিয়েন্ট A , ভেরিয়েন্ট B , ইত্যাদি নামগুলি প্রতিস্থাপন করতে আপনার পরীক্ষায় প্রতিটি ভেরিয়েন্টের জন্য একটি নাম লিখুন৷

  10. ড্রপডাউন তালিকা থেকে যেকোনো পছন্দসই অতিরিক্ত মেট্রিক সহ পরীক্ষার বৈকল্পিক মূল্যায়ন করার সময় আপনার পরীক্ষার জন্য একটি লক্ষ্য মেট্রিক সংজ্ঞায়িত করুন। এই মেট্রিকগুলির মধ্যে অন্তর্নির্মিত উদ্দেশ্যগুলি (নিযুক্তি, কেনাকাটা, রাজস্ব, ধারণ, ইত্যাদি), Analytics রূপান্তর ইভেন্ট এবং অন্যান্য Analytics ইভেন্টগুলি অন্তর্ভুক্ত রয়েছে৷

  11. আপনার বার্তার জন্য বিকল্পগুলি চয়ন করুন:

    • ডেলিভারির তারিখ: হয় সেভ করার সাথে সাথেই আপনার এক্সপেরিমেন্ট লঞ্চ করতে এখনই পাঠান বেছে নিন, অথবা ভবিষ্যতে আপনার এক্সপেরিমেন্ট লঞ্চ করার সময় নির্দিষ্ট করার জন্য নির্ধারিত করুন
    • উন্নত বিকল্পগুলি: আপনার পরীক্ষায় অন্তর্ভুক্ত সমস্ত বিজ্ঞপ্তিগুলির জন্য উন্নত বিকল্পগুলি বেছে নিতে, উন্নত বিকল্পগুলি প্রসারিত করুন এবং তারপরে তালিকাভুক্ত বার্তা বিকল্পগুলির যেকোনো একটি পরিবর্তন করুন৷
  12. আপনার পরীক্ষা সংরক্ষণ করতে পর্যালোচনা ক্লিক করুন.

আপনি প্রতি প্রকল্পে 300টি পর্যন্ত পরীক্ষা-নিরীক্ষা করতে পারবেন, যার মধ্যে 24টি পর্যন্ত চলমান পরীক্ষা থাকতে পারে, বাকিগুলি খসড়া হিসাবে বা সম্পূর্ণ।

একটি পরীক্ষা ডিভাইসে আপনার পরীক্ষা যাচাই করুন

প্রতিটি ফায়ারবেস ইনস্টলেশনের জন্য আপনি এটির সাথে যুক্ত FCM রেজিস্ট্রেশন টোকেন পুনরুদ্ধার করতে পারেন। আপনি এই টোকেনটি ব্যবহার করে আপনার অ্যাপ ইনস্টল করা একটি টেস্ট ডিভাইসে নির্দিষ্ট পরীক্ষার ভেরিয়েন্ট পরীক্ষা করতে পারেন। একটি পরীক্ষা ডিভাইসে আপনার পরীক্ষা যাচাই করতে, নিম্নলিখিতগুলি করুন:

  1. নিম্নরূপ FCM নিবন্ধন টোকেন পান:

    সুইফট

    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)"
      }
    }

    উদ্দেশ্য-C

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

    Java

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

    Kotlin+KTX

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

    সি++

    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());
          }
        });

    ঐক্য

    Firebase.Messaging.FirebaseMessaging.DefaultInstance.GetTokenAsync().ContinueWith(
      task => {
        if (!(task.IsCanceled || task.IsFaulted) && task.IsCompleted) {
          UnityEngine.Debug.Log(System.String.Format("FCM registration token {0}", task.Result));
        }
      });
  2. Firebase কনসোল নেভিগেশন বারে, A/B টেস্টিং-এ ক্লিক করুন।
  3. ড্রাফ্ট-এ ক্লিক করুন, আপনার পরীক্ষার উপরে হোভার করুন, প্রসঙ্গ মেনুতে ক্লিক করুন ( ), এবং তারপরে পরীক্ষা ডিভাইসগুলি পরিচালনা করুন ক্লিক করুন
  4. একটি পরীক্ষা ডিভাইসের জন্য FCM টোকেন লিখুন এবং সেই পরীক্ষা ডিভাইসে পাঠানোর জন্য পরীক্ষার বৈকল্পিক চয়ন করুন।
  5. অ্যাপটি চালান এবং নিশ্চিত করুন যে নির্বাচিত বৈকল্পিক পরীক্ষা ডিভাইসে গৃহীত হচ্ছে।

আপনার পরীক্ষা পরিচালনা করুন

আপনি Remote Config , নোটিফিকেশন কম্পোজার, বা Firebase In-App Messaging দিয়ে একটি পরীক্ষা তৈরি করুন না কেন, আপনি তারপরে আপনার পরীক্ষাটি যাচাই করতে এবং শুরু করতে পারেন, এটি চলমান থাকাকালীন আপনার পরীক্ষা নিরীক্ষণ করতে পারেন এবং আপনার চলমান পরীক্ষায় অন্তর্ভুক্ত ব্যবহারকারীর সংখ্যা বাড়াতে পারেন৷

আপনার পরীক্ষা শেষ হলে, আপনি বিজয়ী ভেরিয়েন্টের দ্বারা ব্যবহৃত সেটিংসের নোট নিতে পারেন, এবং তারপর সেই সেটিংস সমস্ত ব্যবহারকারীর কাছে তুলে ধরতে পারেন৷ অথবা, আপনি অন্য পরীক্ষা চালাতে পারেন।

একটি পরীক্ষা শুরু করুন

  1. Firebase কনসোল নেভিগেশন মেনুর Engage বিভাগে, A/B Testing ক্লিক করুন।
  2. খসড়া ক্লিক করুন, এবং তারপর আপনার পরীক্ষার শিরোনাম ক্লিক করুন.
  3. আপনার অ্যাপে এমন ব্যবহারকারী আছে যারা আপনার পরীক্ষায় অন্তর্ভুক্ত হবে তা যাচাই করতে, খসড়ার বিশদ বিবরণ প্রসারিত করুন এবং লক্ষ্য নির্ধারণ এবং বিতরণ বিভাগে 0%-এর বেশি একটি সংখ্যা পরীক্ষা করুন (উদাহরণস্বরূপ, মানদণ্ডের সাথে মেলে 1% ব্যবহারকারী )।
  4. আপনার পরীক্ষা পরিবর্তন করতে, সম্পাদনা ক্লিক করুন।
  5. আপনার পরীক্ষা শুরু করতে, পরীক্ষা শুরু করুন ক্লিক করুন। আপনি একবারে প্রতি প্রকল্পে 24টি পর্যন্ত পরীক্ষা চালাতে পারেন।

একটি পরীক্ষা নিরীক্ষণ

একবার একটি পরীক্ষা কিছুক্ষণের জন্য চললে, আপনি তার অগ্রগতি পরীক্ষা করে দেখতে পারেন এবং এখন পর্যন্ত আপনার পরীক্ষায় অংশগ্রহণকারী ব্যবহারকারীদের জন্য আপনার ফলাফলগুলি কেমন তা দেখতে পারেন৷

  1. Firebase কনসোল নেভিগেশন মেনুর Engage বিভাগে, A/B Testing ক্লিক করুন।
  2. রানিং এ ক্লিক করুন এবং তারপরে আপনার পরীক্ষার শিরোনামে ক্লিক করুন বা অনুসন্ধান করুন। এই পৃষ্ঠায়, আপনি নিম্নলিখিতগুলি সহ আপনার চলমান পরীক্ষা সম্পর্কে বিভিন্ন পর্যবেক্ষণ এবং মডেল করা পরিসংখ্যান দেখতে পারেন:

    • বেসলাইন থেকে % পার্থক্য : বেসলাইনের তুলনায় একটি প্রদত্ত বৈকল্পিকের জন্য একটি মেট্রিকের উন্নতির পরিমাপ। বেসলাইনের মান পরিসরের সাথে বৈকল্পিকের মান পরিসরের তুলনা করে গণনা করা হয়।
    • বেসলাইনকে হারানোর সম্ভাবনা : আনুমানিক সম্ভাব্যতা যে একটি প্রদত্ত বৈকল্পিক নির্বাচিত মেট্রিকের জন্য বেসলাইনকে হারায়।
    • ব্যবহারকারী প্রতি observed_metric : পরীক্ষার ফলাফলের উপর ভিত্তি করে, এটি হল পূর্বাভাসিত পরিসর যে মেট্রিক মান সময়ের সাথে সাথে পড়বে।
    • মোট observed_metric : বেসলাইন বা বৈকল্পিকের জন্য পর্যবেক্ষিত ক্রমবর্ধমান মান। মানটি প্রতিটি পরীক্ষার বৈকল্পিক কতটা ভাল কাজ করে তা পরিমাপ করতে ব্যবহৃত হয় এবং উন্নতি , মান পরিসীমা , বেসলাইনকে হারানোর সম্ভাবনা এবং সেরা বৈকল্পিক হওয়ার সম্ভাবনা গণনা করতে ব্যবহৃত হয়। পরিমাপ করা মেট্রিকের উপর নির্ভর করে, এই কলামটিকে "ব্যবহারকারী প্রতি সময়কাল", "ব্যবহারকারী প্রতি আয়", "ধারণ হার" বা "রূপান্তর হার" লেবেল করা হতে পারে।
  3. আপনার পরীক্ষা কিছুক্ষণ চলার পরে ( FCM এবং In-App Messaging জন্য কমপক্ষে 7 দিন বা Remote Config জন্য 14 দিন), এই পৃষ্ঠার ডেটা নির্দেশ করে যে কোন বৈকল্পিকটি, যদি থাকে, তাহলে "লিডার"৷ কিছু পরিমাপের সাথে একটি বার চার্ট থাকে যা একটি ভিজ্যুয়াল বিন্যাসে ডেটা উপস্থাপন করে।

সমস্ত ব্যবহারকারীদের জন্য একটি পরীক্ষা রোল আউট

আপনার লক্ষ্য মেট্রিকের জন্য আপনার একটি "লিডার" বা বিজয়ী ভেরিয়েন্ট থাকার পর একটি পরীক্ষা যথেষ্ট দীর্ঘ হয়ে যাওয়ার পর, আপনি 100% ব্যবহারকারীর কাছে পরীক্ষাটি প্রকাশ করতে পারেন। এটি আপনাকে অগ্রসর হওয়া সমস্ত ব্যবহারকারীদের কাছে প্রকাশ করার জন্য একটি বৈকল্পিক নির্বাচন করতে দেয়৷ এমনকি যদি আপনার পরীক্ষা একটি স্পষ্ট বিজয়ী তৈরি না করে, তবুও আপনি আপনার সমস্ত ব্যবহারকারীদের জন্য একটি বৈকল্পিক প্রকাশ করতে পারেন৷

  1. Firebase কনসোল নেভিগেশন মেনুর Engage বিভাগে, A/B Testing ক্লিক করুন।
  2. সম্পূর্ণ বা চলমান ক্লিক করুন, এমন একটি পরীক্ষায় ক্লিক করুন যা আপনি সমস্ত ব্যবহারকারীর কাছে প্রকাশ করতে চান, প্রসঙ্গ মেনুতে ক্লিক করুন ( ) রোল আউট ভেরিয়েন্ট
  3. নিম্নলিখিতগুলির মধ্যে একটি করে সমস্ত ব্যবহারকারীর কাছে আপনার পরীক্ষাটি রোল আউট করুন:

    • নোটিফিকেশন কম্পোজার ব্যবহার করে এমন একটি পরীক্ষার জন্য, বাকী টার্গেট করা ব্যবহারকারীদের কাছে বার্তা পাঠাতে রোল আউট মেসেজ ডায়ালগ ব্যবহার করুন যারা পরীক্ষার অংশ ছিল না।
    • Remote Config পরীক্ষার জন্য, কোন Remote Config প্যারামিটার মান আপডেট করতে হবে তা নির্ধারণ করতে একটি বৈকল্পিক নির্বাচন করুন। পরীক্ষাটি তৈরি করার সময় সংজ্ঞায়িত টার্গেটিং মানদণ্ড আপনার টেমপ্লেটে একটি নতুন শর্ত হিসাবে যোগ করা হয়েছে, যাতে রোলআউট শুধুমাত্র পরীক্ষার দ্বারা লক্ষ্য করা ব্যবহারকারীদের প্রভাবিত করে। পরিবর্তনগুলি পর্যালোচনা করতে রিমোট কনফিগে রিভিউ ক্লিক করার পরে, রোলআউটটি সম্পূর্ণ করতে পরিবর্তনগুলি প্রকাশ করুন ক্লিক করুন৷
    • একটি In-App Messaging পরীক্ষার জন্য, একটি স্বতন্ত্র In-App Messaging প্রচারাভিযান হিসাবে কোন বৈকল্পিকটি রোল আউট করা প্রয়োজন তা নির্ধারণ করতে ডায়ালগটি ব্যবহার করুন৷ একবার নির্বাচিত হয়ে গেলে, প্রকাশের আগে যেকোনো পরিবর্তন (যদি প্রয়োজন হয়) করার জন্য আপনাকে FIAM রচনা স্ক্রিনে পুনঃনির্দেশিত করা হবে।

একটি পরীক্ষা প্রসারিত করুন

আপনি যদি দেখেন যে একটি পরীক্ষা একজন নেতা ঘোষণা করার জন্য A/B Testing জন্য পর্যাপ্ত ব্যবহারকারী আনছে না, আপনি অ্যাপের ব্যবহারকারী বেসের একটি বড় শতাংশে পৌঁছানোর জন্য আপনার পরীক্ষার বিতরণ বাড়াতে পারেন।

  1. Firebase কনসোল নেভিগেশন মেনুর Engage বিভাগে, A/B Testing ক্লিক করুন।
  2. আপনি যে চলমান পরীক্ষাটি সম্পাদনা করতে চান সেটি নির্বাচন করুন।
  3. পরীক্ষা ওভারভিউতে , প্রসঙ্গ মেনুতে ক্লিক করুন ( ), এবং তারপরে চলমান পরীক্ষা সম্পাদনা করুন ক্লিক করুন।
  4. টার্গেটিং ডায়ালগ চলমান পরীক্ষায় থাকা ব্যবহারকারীদের শতাংশ বাড়ানোর একটি বিকল্প প্রদর্শন করে। বর্তমান শতাংশের চেয়ে বড় একটি সংখ্যা নির্বাচন করুন এবং প্রকাশ করুন ক্লিক করুন। পরীক্ষাটি আপনার নির্দিষ্ট করা ব্যবহারকারীদের শতাংশে পুশ করা হবে।

নকল বা একটি পরীক্ষা বন্ধ করুন

  1. Firebase কনসোল নেভিগেশন মেনুর Engage বিভাগে, A/B Testing ক্লিক করুন।
  2. সমাপ্ত বা চলমান ক্লিক করুন, আপনার পরীক্ষার উপরে পয়েন্টার ধরে রাখুন, প্রসঙ্গ মেনুতে ক্লিক করুন ( ), এবং তারপরে ডুপ্লিকেট পরীক্ষা বা পরীক্ষা বন্ধ করুন ক্লিক করুন।

ব্যবহারকারী টার্গেটিং

আপনি নিম্নলিখিত ব্যবহারকারী-টার্গেটিং মানদণ্ড ব্যবহার করে আপনার পরীক্ষায় অন্তর্ভুক্ত করার জন্য ব্যবহারকারীদের লক্ষ্য করতে পারেন।

টার্গেটিং মাপদণ্ড অপারেটর(গুলি) মান(গুলি) দ্রষ্টব্য
সংস্করণ রয়েছে,
ধারণ করে না,
ঠিক মেলে,
regex রয়েছে
আপনি পরীক্ষায় অন্তর্ভুক্ত করতে চান এমন এক বা একাধিক অ্যাপ সংস্করণের জন্য একটি মান লিখুন।

ধারণ করে , ধারণ করে না , বা অপারেটরগুলির সাথে হুবহু মেলে , ব্যবহার করার সময় আপনি মানগুলির একটি কমা দ্বারা পৃথক করা তালিকা প্রদান করতে পারেন।

Cons regex অপারেটর ব্যবহার করার সময়, আপনি RE2 ফরম্যাটে রেগুলার এক্সপ্রেশন তৈরি করতে পারেন। আপনার রেগুলার এক্সপ্রেশন টার্গেট ভার্সন স্ট্রিং এর সমস্ত বা অংশের সাথে মেলে। আপনি একটি টার্গেট স্ট্রিং এর শুরু, শেষ বা সম্পূর্ণতার সাথে মেলাতে ^ এবং $ অ্যাঙ্কর ব্যবহার করতে পারেন।

ব্যবহারকারী দর্শক(গুলি) সব অন্তর্ভুক্ত,
অন্তত একটি অন্তর্ভুক্ত,
সব অন্তর্ভুক্ত নয়,
অন্তত একটি অন্তর্ভুক্ত না
আপনার পরীক্ষায় অন্তর্ভুক্ত হতে পারে এমন ব্যবহারকারীদের লক্ষ্য করতে এক বা একাধিক Analytics অডিয়েন্স নির্বাচন করুন। কিছু পরীক্ষা যা Google Analytics শ্রোতাদের লক্ষ্য করে সেগুলিকে ডেটা জমা করতে কয়েক দিনের প্রয়োজন হতে পারে কারণ সেগুলি Analytics ডেটা প্রসেসিং লেটেন্সির বিষয়। আপনি সম্ভবত নতুন ব্যবহারকারীদের সাথে এই বিলম্বের সম্মুখীন হতে পারেন, যারা সাধারণত তৈরির 24-48 ঘন্টা পরে, বা সম্প্রতি তৈরি করা দর্শকদের জন্য যোগ্য দর্শকদের মধ্যে নথিভুক্ত হন।
ব্যবহারকারীর সম্পত্তি পাঠ্যের জন্য:
রয়েছে,
ধারণ করে না,
হুবহু মিলে যায়,
regex রয়েছে

সংখ্যার জন্য:
<, ≤, =, ≥, >
একটি Analytics ইউজার প্রপার্টি ব্যবহার করা হয় এমন ব্যবহারকারীদের বেছে নেওয়ার জন্য যারা পরীক্ষায় অন্তর্ভুক্ত হতে পারে, ব্যবহারকারীর সম্পত্তির মান নির্বাচন করার জন্য বিভিন্ন বিকল্পের সাথে।

ক্লায়েন্টে, আপনি ব্যবহারকারীর বৈশিষ্ট্যগুলির জন্য শুধুমাত্র স্ট্রিং মান সেট করতে পারেন। সাংখ্যিক অপারেটরগুলি ব্যবহার করে এমন শর্তগুলির জন্য, Remote Config পরিষেবা সংশ্লিষ্ট ব্যবহারকারীর সম্পত্তির মানকে একটি পূর্ণসংখ্যা/ফ্লোটে রূপান্তর করে।
Cons regex অপারেটর ব্যবহার করার সময়, আপনি RE2 ফরম্যাটে রেগুলার এক্সপ্রেশন তৈরি করতে পারেন। আপনার রেগুলার এক্সপ্রেশন টার্গেট ভার্সন স্ট্রিং এর সমস্ত বা অংশের সাথে মেলে। আপনি একটি টার্গেট স্ট্রিং এর শুরু, শেষ বা সম্পূর্ণতার সাথে মেলাতে ^ এবং $ অ্যাঙ্কর ব্যবহার করতে পারেন।
দেশ/অঞ্চল N/A পরীক্ষায় অন্তর্ভুক্ত হতে পারে এমন ব্যবহারকারীদের নির্বাচন করতে ব্যবহৃত এক বা একাধিক দেশ বা অঞ্চল।
ভাষা N/A পরীক্ষায় অন্তর্ভুক্ত হতে পারে এমন ব্যবহারকারীদের নির্বাচন করতে ব্যবহৃত এক বা একাধিক ভাষা এবং লোকেল।
প্রথম খোলা এর চেয়ে বেশি
থেকে কম
মধ্যে
ব্যবহারকারীরা প্রথমবার কখন আপনার অ্যাপ খুলেছে তার উপর ভিত্তি করে টার্গেট করুন, দিনগুলিতে নির্দিষ্ট করা হয়েছে৷
শেষ অ্যাপ এনগেজমেন্ট এর চেয়ে বেশি
থেকে কম
মধ্যে
ব্যবহারকারীদের টার্গেট করুন তারা শেষবার আপনার অ্যাপের সাথে কতবার নিযুক্ত ছিল তার উপর ভিত্তি করে নির্দিষ্ট দিনগুলিতে।

A/B Testing মেট্রিক্স

আপনি যখন আপনার পরীক্ষা তৈরি করেন, আপনি একটি প্রাথমিক বা লক্ষ্য মেট্রিক চয়ন করেন, যা বিজয়ী বৈকল্পিক নির্ধারণ করতে ব্যবহৃত হয়। প্রতিটি পরীক্ষার বৈকল্পিকের কার্যকারিতা আরও ভালভাবে বুঝতে এবং ব্যবহারকারীর ধারণ, অ্যাপের স্থায়িত্ব এবং অ্যাপ-মধ্যস্থ কেনাকাটার আয়ের মতো প্রতিটি ভেরিয়েন্টের জন্য আলাদা হতে পারে এমন গুরুত্বপূর্ণ প্রবণতাগুলিকে ট্র্যাক করতে সাহায্য করার জন্য আপনাকে অন্যান্য মেট্রিকগুলিও ট্র্যাক করা উচিত। আপনি আপনার পরীক্ষায় পাঁচটি অ-লক্ষ্য মেট্রিক ট্র্যাক করতে পারেন৷

উদাহরণস্বরূপ, বলুন আপনি আপনার অ্যাপে নতুন অ্যাপ-মধ্যস্থ কেনাকাটা যোগ করেছেন এবং দুটি ভিন্ন "নজ" বার্তার কার্যকারিতা তুলনা করতে চান। এই ক্ষেত্রে, আপনি আপনার লক্ষ্য মেট্রিক হিসাবে ক্রয় আয় সেট করার সিদ্ধান্ত নিতে পারেন কারণ আপনি চান যে বিজয়ী ভেরিয়েন্টটি সেই বিজ্ঞপ্তির প্রতিনিধিত্ব করুক যার ফলে অ্যাপ-মধ্যস্থ কেনাকাটার সর্বোচ্চ আয় হয়। এবং যেহেতু আপনি ট্র্যাক করতে চান কোন ভেরিয়েন্টের ফলে ভবিষ্যতে আরও বেশি রূপান্তর হয়েছে এবং ব্যবহারকারীদের ধরে রাখা হয়েছে, আপনি ট্র্যাক করতে অন্যান্য মেট্রিক্সে নিম্নলিখিতগুলি যোগ করতে পারেন:

  • আপনার সম্মিলিত ইন-অ্যাপ ক্রয় এবং বিজ্ঞাপনের আয় দুটি ভেরিয়েন্টের মধ্যে কীভাবে আলাদা তা দেখতে আনুমানিক মোট আয়
  • আপনার দৈনিক/সাপ্তাহিক ব্যবহারকারীর ধারণ ট্র্যাক করতে ধরে রাখা (1 দিন) , ধরে রাখা (2-3 দিন) , ধরে রাখা (4-7 দিন)

লক্ষ্য মেট্রিক এবং অন্যান্য মেট্রিকগুলি কীভাবে গণনা করা হয় তার বিশদ বিবরণ নিম্নলিখিত সারণীগুলি প্রদান করে৷

লক্ষ্য মেট্রিক্স

মেট্রিক বর্ণনা
ক্র্যাশ-মুক্ত ব্যবহারকারী পরীক্ষা চলাকালীন Firebase Crashlytics SDK দ্বারা শনাক্ত করা আপনার অ্যাপে ত্রুটির সম্মুখীন না হওয়া ব্যবহারকারীদের শতাংশ।
আনুমানিক বিজ্ঞাপন আয় আনুমানিক বিজ্ঞাপন উপার্জন.
আনুমানিক মোট আয় ক্রয় এবং আনুমানিক বিজ্ঞাপন আয়ের জন্য সম্মিলিত মূল্য।
ক্রয় রাজস্ব সমস্ত purchase এবং in_app_purchase ইভেন্টের জন্য সম্মিলিত মান।
ধরে রাখা (1 দিন) দৈনিক ভিত্তিতে আপনার অ্যাপে ফিরে আসা ব্যবহারকারীর সংখ্যা।
ধরে রাখা (2-3 দিন) 2-3 দিনের মধ্যে আপনার অ্যাপে ফিরে আসা ব্যবহারকারীর সংখ্যা।
ধরে রাখা (4-7 দিন) 4-7 দিনের মধ্যে আপনার অ্যাপে ফিরে আসা ব্যবহারকারীর সংখ্যা।
ধরে রাখা (8-14 দিন) 8-14 দিনের মধ্যে আপনার অ্যাপে ফিরে আসা ব্যবহারকারীর সংখ্যা।
ধরে রাখা (15+ দিন) ব্যবহারকারীদের সংখ্যা যারা আপনার অ্যাপটি শেষবার ব্যবহার করার 15 বা তার বেশি দিন পরে ফিরে আসে।
প্রথম_খোলা একটি Analytics ইভেন্ট যেটি ট্রিগার হয় যখন একজন ব্যবহারকারী প্রথমবার একটি অ্যাপ খোলে সেটি ইনস্টল বা পুনরায় ইনস্টল করার পরে। একটি রূপান্তর ফানেল অংশ হিসাবে ব্যবহৃত.

অন্যান্য মেট্রিক্স

মেট্রিক বর্ণনা
বিজ্ঞপ্তি_খারিজ একটি Analytics ইভেন্ট যা ট্রিগার করে যখন নোটিফিকেশন কম্পোজার দ্বারা প্রেরিত একটি বিজ্ঞপ্তি খারিজ করা হয় (শুধুমাত্র Android)।
বিজ্ঞপ্তি_গ্রহণ একটি Analytics ইভেন্ট যা ট্রিগার করে যখন অ্যাপটি ব্যাকগ্রাউন্ডে থাকাকালীন নোটিফিকেশন কম্পোজার কর্তৃক প্রেরিত একটি বিজ্ঞপ্তি প্রাপ্ত হয় (শুধুমাত্র অ্যান্ড্রয়েড)।
os_update একটি Analytics ইভেন্ট যা ট্র্যাক করে যখন ডিভাইস অপারেটিং সিস্টেমটি একটি নতুন সংস্করণে আপডেট করা হয়৷ আরও জানতে, স্বয়ংক্রিয়ভাবে সংগৃহীত ইভেন্টগুলি দেখুন৷
স্ক্রিন_ভিউ একটি Analytics ইভেন্ট যা আপনার অ্যাপের মধ্যে দেখা স্ক্রীন ট্র্যাক করে। আরও জানতে, ট্র্যাক স্ক্রিনভিউ দেখুন।
অধিবেশন_শুরু একটি 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 এক্সপোর্ট চালু করুন

আপনি যদি স্পার্ক প্ল্যানে থাকেন, তাহলে আপনি স্যান্ডবক্স সীমা সাপেক্ষে বিনা খরচে BigQuery অ্যাক্সেস করতে BigQuery স্যান্ডবক্স ব্যবহার করতে পারেন। আরও তথ্যের জন্য মূল্য নির্ধারণ এবং BigQuery স্যান্ডবক্স দেখুন।

প্রথমে নিশ্চিত করুন যে আপনি আপনার Analytics ডেটা BigQuery এ এক্সপোর্ট করছেন:

  1. ইন্টিগ্রেশন ট্যাবটি খুলুন, যা আপনি Firebase কনসোলে > প্রকল্প সেটিংস ব্যবহার করে অ্যাক্সেস করতে পারবেন।
  2. আপনি যদি ইতিমধ্যেই অন্যান্য ফায়ারবেস পরিষেবাগুলির সাথে BigQuery ব্যবহার করে থাকেন তবে পরিচালনা ক্লিক করুন৷ অন্যথায়, লিঙ্কে ক্লিক করুন।
  3. BigQuery এর সাথে Firebase লিঙ্ক করার বিষয়ে পর্যালোচনা করুন, তারপর Next এ ক্লিক করুন।
  4. কনফিগার ইন্টিগ্রেশন বিভাগে, Google Analytics টগল সক্ষম করুন।
  5. একটি অঞ্চল নির্বাচন করুন এবং রপ্তানি সেটিংস চয়ন করুন।

  6. BigQuery এর লিঙ্কে ক্লিক করুন।

আপনি কীভাবে ডেটা রপ্তানি করতে বেছে নিয়েছেন তার উপর নির্ভর করে, টেবিলগুলি উপলব্ধ হতে এক দিন পর্যন্ত সময় লাগতে পারে। BigQuery এ প্রকল্পের ডেটা রপ্তানি করার বিষয়ে আরও তথ্যের জন্য, BigQuery এ প্রকল্পের ডেটা রপ্তানি করুন দেখুন।

BigQueryA/B Testing ডেটা অ্যাক্সেস করুন

একটি নির্দিষ্ট পরীক্ষার জন্য ডেটার জন্য ক্যোয়ারী করার আগে, আপনি আপনার ক্যোয়ারীতে ব্যবহার করার জন্য নিম্নলিখিত কিছু বা সবগুলি পেতে চাইবেন:

  • পরীক্ষা আইডি: আপনি পরীক্ষা ওভারভিউ পৃষ্ঠার URL থেকে এটি পেতে পারেন। উদাহরণস্বরূপ, যদি আপনার URLটি https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25 এর মতো দেখায়, তাহলে পরীক্ষার ID হল 25
  • Google Analytics প্রপার্টি ID : এটি আপনার 9-সংখ্যার 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. রান এ ক্লিক করুন।

ফায়ারবেস কনসোলের স্বয়ংক্রিয়-উত্পন্ন ক্যোয়ারী ব্যবহার করে পরীক্ষার ডেটা জিজ্ঞাসা করুন

আপনি যদি ব্লেজ প্ল্যান ব্যবহার করেন, পরীক্ষা ওভারভিউ পৃষ্ঠাটি একটি নমুনা কোয়েরি প্রদান করে যা পরীক্ষার নাম, রূপ, ইভেন্টের নাম এবং আপনি যে পরীক্ষাটি দেখছেন তার ইভেন্টের সংখ্যা প্রদান করে।

স্বয়ংক্রিয়ভাবে জেনারেটেড ক্যোয়ারী পেতে এবং চালাতে:

  1. Firebase কনসোল থেকে, A/B Testing খুলুন এবং পরীক্ষা ওভারভিউ খুলতে আপনি যে A/B Testing পরীক্ষা করতে চান তা নির্বাচন করুন।
  2. বিকল্প মেনু থেকে, BigQuery ইন্টিগ্রেশনের নীচে, কোয়েরি পরীক্ষার ডেটা নির্বাচন করুন। এটি Google Cloud কনসোল কনসোলের মধ্যে BigQuery এ আপনার প্রোজেক্ট খোলে এবং একটি মৌলিক কোয়েরি প্রদান করে যা আপনি আপনার পরীক্ষার ডেটা জিজ্ঞাসা করতে ব্যবহার করতে পারেন।

নিম্নলিখিত উদাহরণটি "শীতকালীন স্বাগত পরীক্ষা" নামে তিনটি রূপের (বেসলাইন সহ) একটি পরীক্ষার জন্য একটি জেনারেট করা প্রশ্ন দেখায়৷ এটি প্রতিটি ইভেন্টের জন্য সক্রিয় পরীক্ষার নাম, বৈকল্পিক নাম, অনন্য ইভেন্ট এবং ইভেন্ট গণনা প্রদান করে। মনে রাখবেন যে ক্যোয়ারী নির্মাতা টেবিলের নামে আপনার প্রকল্পের নাম নির্দিষ্ট করে না, কারণ এটি সরাসরি আপনার প্রকল্পের মধ্যে খোলে।

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

অতিরিক্ত ক্যোয়ারী উদাহরণের জন্য, এক্সপ্লোর নমুনা প্রশ্নে এগিয়ে যান।

উদাহরণ প্রশ্ন অন্বেষণ

নিম্নলিখিত বিভাগগুলি আপনি Google Analytics ইভেন্ট টেবিল থেকে A/B Testing পরীক্ষার ডেটা বের করতে ব্যবহার করতে পারেন এমন প্রশ্নের উদাহরণগুলি প্রদান করে৷

সমস্ত পরীক্ষা থেকে ক্রয় এবং পরীক্ষা করুন স্ট্যান্ডার্ড বিচ্যুতি মান

আপনি স্বাধীনভাবে Firebase A/B Testing ফলাফল যাচাই করতে পরীক্ষার ফলাফলের ডেটা ব্যবহার করতে পারেন। নিম্নলিখিত BigQuery SQL স্টেটমেন্ট পরীক্ষার ভেরিয়েন্ট, প্রতিটি ভেরিয়েন্টে অনন্য ব্যবহারকারীর সংখ্যা এবং in_app_purchase এবং ecommerce_purchase ইভেন্ট থেকে মোট আয় এবং _TABLE_SUFFIX শুরু এবং শেষ তারিখ হিসাবে নির্দিষ্ট সময়সীমার মধ্যে সমস্ত পরীক্ষার জন্য স্ট্যান্ডার্ড বিচ্যুতির যোগফল বের করে। আপনি এই ক্যোয়ারী থেকে প্রাপ্ত ডেটা ব্যবহার করতে পারেন একটি পরিসংখ্যানগত তাত্পর্য জেনারেটরের সাথে এক-টেইলড টি-টেস্টের জন্য যে ফলাফলগুলি Firebase প্রদান করে তা আপনার নিজের বিশ্লেষণের সাথে মেলে।

A/B Testing কীভাবে অনুমান গণনা করে সে সম্পর্কে আরও তথ্যের জন্য, পরীক্ষার ফলাফল ব্যাখ্যা করুন দেখুন।

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

একটি নির্দিষ্ট পরীক্ষার মান নির্বাচন করুন

নিম্নলিখিত উদাহরণ কোয়েরিটি ব্যাখ্যা করে কিভাবে BigQuery এ একটি নির্দিষ্ট পরীক্ষার জন্য ডেটা পাওয়া যায়। এই নমুনা ক্যোয়ারী পরীক্ষার নাম, ভেরিয়েন্টের নাম (বেসলাইন সহ), ইভেন্টের নাম এবং ইভেন্টের সংখ্যা প্রদান করে।

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