สร้างการทดสอบการกำหนดค่าระยะไกลของ Firebase พร้อมการทดสอบ A/B

เมื่อใช้ Firebase Remote Config เพื่อทําให้การตั้งค่าสําหรับแอปพลิเคชันที่มีฐานผู้ใช้ที่ใช้งานอยู่ใช้งานได้ คุณควรตรวจสอบว่าได้ทําอย่างถูกต้อง คุณสามารถใช้การทดสอบ A/B Testing รายการเพื่อพิจารณาสิ่งต่อไปนี้ได้

  • วิธีที่ดีที่สุดในการใช้ฟีเจอร์เพื่อเพิ่มประสิทธิภาพประสบการณ์ของผู้ใช้ และบ่อยครั้งที่นักพัฒนาแอป จะไม่ทราบว่าผู้ใช้ไม่ชอบฟีเจอร์ใหม่หรือประสบการณ์ของผู้ใช้ที่อัปเดตใหม่จนกว่าคะแนนของแอปใน App Store จะลดลง การทดสอบ A/B จะช่วยวัดว่าผู้ใช้ชอบฟีเจอร์ใหม่ๆ ของฟีเจอร์ใหม่ๆ หรือไม่ หรือชอบแอปแบบเดียวกับที่มีอยู่ นอกจากนี้ การรักษาผู้ใช้ส่วนใหญ่ไว้ในกลุ่มฐานช่วยให้มั่นใจได้ว่าฐานผู้ใช้ส่วนใหญ่จะใช้แอปต่อไปได้โดยไม่ต้องเห็นการเปลี่ยนแปลงลักษณะการทำงานหรือลักษณะที่ปรากฏจนกว่าการทดสอบจะสิ้นสุดลง
  • วิธีที่ดีที่สุดในการเพิ่มประสิทธิภาพประสบการณ์ของผู้ใช้เพื่อเป้าหมายทางธุรกิจ บางครั้งคุณอาจใช้การเปลี่ยนแปลงผลิตภัณฑ์เพื่อเพิ่มเมตริกสูงสุด เช่น รายได้หรือการรักษาผู้ใช้ เมื่อใช้การทดสอบ A/B คุณจะเป็นผู้กำหนดวัตถุประสงค์ทางธุรกิจ จากนั้น Firebase จะดำเนินการวิเคราะห์เชิงสถิติเพื่อพิจารณาว่าตัวแปรหนึ่งมีประสิทธิภาพดีกว่าเกณฑ์พื้นฐานสำหรับวัตถุประสงค์ที่เลือกไว้หรือไม่

ในการทดสอบ A/B ตัวแปรฟีเจอร์ด้วยเกณฑ์พื้นฐาน ให้ทำดังนี้

  1. สร้างการทดสอบ
  2. ตรวจสอบการทดสอบในอุปกรณ์ทดสอบ
  3. จัดการการทดสอบ

สร้างการทดสอบ

การทดสอบ Remote Config ช่วยให้คุณประเมินตัวแปรหลายรายการด้วยพารามิเตอร์ Remote Config 1 รายการขึ้นไป

  1. ลงชื่อเข้าใช้คอนโซล Firebase และยืนยันว่ามีการเปิดใช้ Google Analytics ในโปรเจ็กต์เพื่อให้การทดสอบมีสิทธิ์เข้าถึงข้อมูล Analytics

    หากไม่ได้เปิดใช้ Google Analytics เมื่อสร้างโปรเจ็กต์ คุณสามารถเปิดใช้ได้ในแท็บการผสานรวม ซึ่งเข้าถึงได้โดยใช้ > การตั้งค่าโปรเจ็กต์ในคอนโซล Firebase

  2. ในส่วนมีส่วนร่วมของเมนูการนำทางคอนโซล Firebase ให้คลิกA/B Testing

  3. คลิกสร้างการทดสอบ จากนั้นเลือก Remote Config เมื่อได้รับข้อความแจ้งสำหรับบริการที่คุณต้องการทดสอบ

  4. ป้อนชื่อและคําอธิบาย (ไม่บังคับ) ของการทดสอบ แล้วคลิกถัดไป

  5. กรอกข้อมูลในช่องการกำหนดเป้าหมาย แล้วเลือกแอปที่ใช้การทดสอบก่อน นอกจากนี้คุณยังกำหนดเป้าหมายผู้ใช้กลุ่มย่อยให้เข้าร่วมในการทดสอบได้โดยคลิก และ จากนั้นเลือกตัวเลือกจากรายการต่อไปนี้

    • เวอร์ชัน: แอปของคุณอย่างน้อย 1 เวอร์ชัน
    • หมายเลขบิลด์: รหัสเวอร์ชันของแอป
    • ภาษา: ภาษาและภาษาท้องถิ่นอย่างน้อย 1 รายการที่ใช้เลือกผู้ใช้ที่อาจรวมอยู่ในการทดสอบ
    • ประเทศ/ภูมิภาค: ประเทศหรือภูมิภาคอย่างน้อย 1 แห่งสําหรับเลือกผู้ใช้ที่ควรรวมอยู่ในการทดสอบ
    • กลุ่มเป้าหมายของผู้ใช้: กลุ่มเป้าหมาย Analytics ที่ใช้กําหนดเป้าหมายผู้ใช้ที่อาจรวมอยู่ในการทดสอบ
    • พร็อพเพอร์ตี้ผู้ใช้: พร็อพเพอร์ตี้ผู้ใช้ Analytics อย่างน้อย 1 รายการสําหรับเลือกผู้ใช้ที่อาจรวมอยู่ในการทดสอบ
    • การเปิดครั้งแรก: กําหนดเป้าหมายผู้ใช้ตามครั้งแรกที่ผู้ใช้เปิดแอปของคุณ

      การกําหนดเป้าหมายผู้ใช้ตามเวลาเปิดแอปครั้งแรกจะพร้อมใช้งานหลังจากที่คุณเลือกแอป Android หรือ iOS โดย Remote Config SDK เวอร์ชันต่อไปนี้รองรับการกําหนดเป้าหมายนี้ ได้แก่ Apple Platforms SDK เวอร์ชัน 9.0.0 ขึ้นไป และ Android SDK เวอร์ชัน 21.1.1 ขึ้นไป (Firebase BoM เวอร์ชัน 30.3.0 ขึ้นไป)

      นอกจากนี้ Analytics จะต้องเปิดใช้ในไคลเอ็นต์ด้วยในระหว่างเหตุการณ์ที่เปิดขึ้นครั้งแรก

  6. ตั้งค่าเปอร์เซ็นต์ของผู้ใช้เป้าหมาย: ป้อนเปอร์เซ็นต์ฐานผู้ใช้ของแอปที่ตรงกับเกณฑ์ที่กำหนดไว้ในส่วนผู้ใช้เป้าหมายซึ่งคุณต้องการแบ่งเท่าๆ กันระหว่างกลุ่มฐานและตัวแปรอย่างน้อย 1 รายการในการทดสอบ ซึ่งอาจเป็นเปอร์เซ็นต์ใดก็ได้ระหว่าง 0.01% ถึง 100% ระบบจะกําหนดผู้ใช้ให้กับการทดสอบแต่ละรายการแบบสุ่ม รวมถึงการทดสอบที่ซ้ำกัน

  7. (ไม่บังคับ) ตั้งค่าเหตุการณ์การเปิดใช้งานเพื่อให้แน่ใจว่าระบบจะนับเฉพาะข้อมูลจากผู้ใช้ที่เรียกเหตุการณ์ Analytics บางอย่างเป็นครั้งแรกในการทดสอบ โปรดทราบว่าผู้ใช้ทั้งหมดที่ตรงกับพารามิเตอร์การกําหนดเป้าหมายของคุณจะได้รับค่าการทดสอบ Remote Config แต่เฉพาะผู้ใช้ที่ทริกเกอร์เหตุการณ์การเปิดใช้งานเท่านั้นที่จะรวมอยู่ในผลการทดสอบ

    ตรวจสอบว่าเหตุการณ์ที่คุณเลือกเกิดขึ้นหลังจากแอปเปิดใช้งานค่าการกําหนดค่าที่ดึงข้อมูลแล้ว เพื่อให้การทดสอบถูกต้อง นอกจากนี้ คุณจะใช้เหตุการณ์ต่อไปนี้ไม่ได้เนื่องจากเหตุการณ์เหล่านี้เกิดขึ้นก่อนการเปิดใช้งานค่าที่ดึงข้อมูลเสมอ

    • app_install
    • app_remove
    • app_update
    • dynamic_link_first_open
  8. สำหรับเป้าหมายของการทดสอบ ให้เลือกเมตริกหลักที่จะติดตาม และเพิ่มเมตริกอื่นๆ ที่ต้องการติดตามจากรายการ ซึ่งรวมถึงวัตถุประสงค์ในตัว (การซื้อ รายได้ การคงผู้ใช้ไว้ ผู้ใช้ที่ไม่มีข้อขัดข้อง เป็นต้น) Analytics เหตุการณ์ Conversion และเหตุการณ์อื่นๆAnalytics คลิกถัดไปเมื่อเสร็จสิ้น

  9. ในส่วนตัวแปร ให้เลือกเกณฑ์พื้นฐานและตัวแปรอย่างน้อย 1 ตัวแปรสําหรับการทดสอบ ใช้รายการเลือกหรือสร้างใหม่เพื่อเพิ่มพารามิเตอร์อย่างน้อย 1 รายการเพื่อทดสอบ คุณสามารถสร้างพารามิเตอร์ที่ไม่เคยใช้ในคอนโซล Firebase มาก่อนได้ แต่พารามิเตอร์ดังกล่าวต้องอยู่ในแอปของคุณจึงจะมีผล คุณสามารถทำขั้นตอนนี้ซ้ำเพื่อเพิ่มพารามิเตอร์หลายรายการในการทดสอบ

  10. (ไม่บังคับ) หากต้องการเพิ่มมากกว่า 1 ตัวแปรในการทดสอบ ให้คลิกเพิ่มตัวแปรอื่น

  11. เปลี่ยนพารามิเตอร์อย่างน้อย 1 รายการสำหรับตัวแปรที่เฉพาะเจาะจง พารามิเตอร์ที่ไม่มีการเปลี่ยนแปลงจะเหมือนกันสําหรับผู้ใช้ที่ไม่ได้รวมอยู่ในการทดสอบ

  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<std::string>& 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. คลิกการทดสอบ A/B ในแถบนําทางของFirebaseคอนโซล
  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: ค่าสะสมที่พบสำหรับเกณฑ์พื้นฐานหรือตัวแปร ค่านี้ใช้วัดประสิทธิภาพของตัวแปรการทดสอบแต่ละรายการ และใช้ในการคํานวณการปรับปรุง ช่วงค่า ความน่าจะเป็นที่จะได้ดีกว่าเกณฑ์พื้นฐาน และความน่าจะเป็นที่จะเป็นตัวแปรที่ดีที่สุด คอลัมน์นี้อาจมีป้ายกํากับว่า "ระยะเวลาต่อผู้ใช้" "รายได้ต่อผู้ใช้" "อัตราการคงผู้ใช้ไว้" หรือ "อัตรา Conversion" ทั้งนี้ขึ้นอยู่กับเมตริกที่วัด
  3. หลังจากการทดสอบทํางานไประยะหนึ่งแล้ว (อย่างน้อย 7 วันสําหรับ FCM และ In-App Messaging หรือ 14 วันสําหรับ Remote Config) ข้อมูลในหน้านี้จะระบุตัวแปรที่ "มีประสิทธิภาพดีที่สุด" (หากมี) การวัดค่าบางอย่างจะมีแผนภูมิแท่งแสดงข้อมูลในรูปแบบภาพ

เปิดตัวการทดสอบกับผู้ใช้ทั้งหมด

หลังจากการทดสอบทํางานนานพอที่จะมี "ผู้นำ" หรือตัวแปรที่ได้ผลดีที่สุดสําหรับเมตริกเป้าหมายแล้ว คุณสามารถเผยแพร่การทดสอบกับผู้ใช้ทั้ง 100% ได้ ซึ่งจะช่วยให้คุณเลือกตัวแปรที่จะเผยแพร่ให้กับผู้ใช้ทุกคนนับจากนี้เป็นต้นไปได้ แม้ว่าการทดสอบจะไม่ได้สร้างผู้ชนะที่ชัดเจน แต่คุณก็ยังคงเลือกที่จะเผยแพร่ตัวแปรให้ผู้ใช้ทุกคนได้

  1. ในส่วนมีส่วนร่วมของเมนูการนำทางคอนโซล Firebase ให้คลิกA/B Testing
  2. คลิกเสร็จสิ้นหรือกำลังทำงาน คลิกการทดสอบที่คุณต้องการเผยแพร่ต่อผู้ใช้ทั้งหมด คลิกเมนูตามบริบท () เปิดตัวตัวแปร
  3. เปิดตัวการทดสอบกับผู้ใช้ทั้งหมดโดยทําอย่างใดอย่างหนึ่งต่อไปนี้

    • สําหรับการทดสอบที่ใช้เครื่องมือเขียนข้อความแจ้งเตือน ให้ใช้กล่องโต้ตอบเปิดตัวข้อความเพื่อส่งข้อความไปยังผู้ใช้เป้าหมายที่เหลือซึ่งไม่ได้เข้าร่วมการทดสอบ
    • สำหรับการทดสอบ Remote Config ให้เลือกตัวแปรเพื่อกำหนดค่าพารามิเตอร์ Remote Config ที่ต้องการอัปเดต ระบบจะเพิ่มเกณฑ์การกำหนดเป้าหมายที่กําหนดไว้เมื่อสร้างการทดสอบเป็นเงื่อนไขใหม่ในเทมเพลต เพื่อให้แน่ใจว่าการเปิดตัวจะส่งผลต่อผู้ใช้ที่กําหนดเป้าหมายโดยเวอร์ชันทดลองเท่านั้น หลังจากคลิกตรวจสอบในการกําหนดค่าระยะไกลเพื่อตรวจสอบการเปลี่ยนแปลงแล้ว ให้คลิกเผยแพร่การเปลี่ยนแปลงเพื่อให้การเปิดตัวเสร็จสมบูรณ์
    • สําหรับการทดสอบ In-App Messaging ให้ใช้กล่องโต้ตอบเพื่อระบุว่าต้องเปิดตัวตัวแปรใดเป็นแคมเปญ In-App Messaging แบบสแตนด์อโลน เมื่อเลือกแล้ว ระบบจะเปลี่ยนเส้นทางคุณไปยังหน้าจอเขียนของ FIAM เพื่อให้ทำการเปลี่ยนแปลง (หากจำเป็น) ก่อนเผยแพร่

ขยายการทดสอบ

หากพบว่าการทดสอบไม่ได้ดึงดูดผู้ใช้มามากพอที่ A/B Testing จะประกาศผู้ชนะได้ ให้เพิ่มการเผยแพร่การทดสอบเพื่อเข้าถึงฐานผู้ใช้แอปในเปอร์เซ็นต์ที่มากขึ้น

  1. ในส่วนมีส่วนร่วมของเมนูการนำทางคอนโซล Firebase ให้คลิกA/B Testing
  2. เลือกการทดสอบที่ทํางานอยู่ซึ่งคุณต้องการแก้ไข
  3. ในภาพรวมการทดสอบ ให้คลิกเมนูบริบท () แล้วคลิกแก้ไขการทดสอบที่ทํางานอยู่
  4. กล่องโต้ตอบการกําหนดเป้าหมายจะแสดงตัวเลือกในการเพิ่มเปอร์เซ็นต์ของผู้ใช้ที่อยู่ในการทดสอบที่ทํางานอยู่ เลือกตัวเลขที่มากกว่าเปอร์เซ็นต์ปัจจุบัน แล้วคลิกเผยแพร่ ระบบจะขยายการทดสอบไปยังเปอร์เซ็นต์ของผู้ใช้ที่คุณได้ระบุไว้

ทำซ้ำหรือหยุดการทดสอบ

  1. ในส่วนมีส่วนร่วมของเมนูการนำทางคอนโซล Firebase ให้คลิกA/B Testing
  2. คลิกเสร็จสมบูรณ์หรือทํางานอยู่ วางเคอร์เซอร์เหนือการทดสอบ คลิกเมนูบริบท () แล้วคลิกทําซ้ำการทดสอบหรือหยุดการทดสอบ

การกำหนดเป้าหมายผู้ใช้

คุณสามารถกําหนดเป้าหมายผู้ใช้ที่จะรวมไว้ในการทดสอบได้โดยใช้เกณฑ์การกําหนดเป้าหมายผู้ใช้ต่อไปนี้

เกณฑ์การกําหนดเป้าหมาย ผู้ให้บริการ ค่า หมายเหตุ
เวอร์ชัน มี
ไม่มี
ตรงกันทั้งหมด
มีนิพจน์ทั่วไป
ป้อนค่าสำหรับเวอร์ชันแอปอย่างน้อย 1 เวอร์ชันที่ต้องการรวมไว้ในการทดสอบ

เมื่อใช้โอเปอเรเตอร์มี ไม่มี หรือตรงกันทั้งหมด คุณสามารถระบุรายการค่าที่คั่นด้วยคอมมาได้

เมื่อใช้โอเปอเรเตอร์ มี regex คุณจะสร้างนิพจน์ทั่วไปในรูปแบบ RE2 ได้ นิพจน์ทั่วไปสามารถจับคู่กับสตริงเวอร์ชันเป้าหมายได้ทั้งหมดหรือบางส่วน นอกจากนี้ คุณยังใช้เครื่องหมายเริ่มต้น ^ และเครื่องหมายสิ้นสุด $ เพื่อจับคู่กับตอนต้น ตอนท้าย หรือทั้งสตริงเป้าหมายได้ด้วย

กลุ่มเป้าหมายที่เป็นผู้ใช้ รวมทั้งหมด
รวมอย่างน้อย 1 รายการจาก
ไม่รวมทั้งหมด
ไม่รวมอย่างน้อย 1 รายการจาก
เลือกกลุ่มเป้าหมาย Analytics อย่างน้อย 1 กลุ่มเพื่อกําหนดเป้าหมายผู้ใช้ที่อาจรวมอยู่ในการทดสอบของคุณ การทดสอบบางอย่างที่กำหนดเป้าหมายเป็นกลุ่มเป้าหมาย Google Analytics อาจใช้เวลา 2-3 วันในการรวบรวมข้อมูล เนื่องจากอยู่ภายใต้Analyticsเวลาในการตอบสนองของการประมวลผลข้อมูล เป็นไปได้อย่างยิ่งที่คุณจะพบกับความล่าช้านี้สำหรับผู้ใช้ใหม่ ซึ่งโดยปกติแล้วจะลงทะเบียนเข้าสู่กลุ่มเป้าหมายที่มีคุณสมบัติตามเกณฑ์ 24-48 ชั่วโมงหลังการสร้าง หรือสำหรับกลุ่มเป้าหมายที่สร้างขึ้นล่าสุด

สําหรับ Remote Config หมายความว่าแม้ว่าผู้ใช้จะมีสิทธิ์ตามเทคนิคในการเข้าร่วมกลุ่มเป้าหมาย แต่หาก Analytics ยังไม่ได้เพิ่มผู้ใช้ในกลุ่มเป้าหมายเมื่อเรียกใช้ `fetchAndActivate()` ผู้ใช้จะไม่รวมอยู่ในการทดสอบ

พร็อพเพอร์ตี้ผู้ใช้ สำหรับข้อความ:
มี,
ไม่มี,
ตรงกันทุกประการ,
มีนิพจน์ทั่วไป

สำหรับตัวเลข:
<, ≤, =, ≥, >
ระบบจะใช้พร็อพเพอร์ตี้ผู้ใช้ Analytics เพื่อเลือกผู้ใช้ที่อาจรวมอยู่ในการทดสอบ โดยมีตัวเลือกต่างๆ ให้เลือกค่าพร็อพเพอร์ตี้ผู้ใช้

ในไคลเอ็นต์ คุณจะตั้งค่าได้เฉพาะค่าสตริงสําหรับพร็อพเพอร์ตี้ผู้ใช้ สําหรับเงื่อนไขที่ใช้โอเปอเรเตอร์ตัวเลข บริการ Remote Config จะแปลงค่าของพร็อพเพอร์ตี้ผู้ใช้ที่เกี่ยวข้องเป็นจํานวนเต็ม/ทศนิยม
เมื่อใช้โอเปอเรเตอร์ contains regex คุณสามารถสร้างนิพจน์ทั่วไปในรูปแบบ RE2 ได้ นิพจน์ทั่วไปอาจตรงกับสตริงเวอร์ชันเป้าหมายทั้งหมดหรือบางส่วน นอกจากนี้ คุณยังสามารถใช้จุดยึด ^ และ $ เพื่อจับคู่ จุดเริ่มต้น จุดสิ้นสุด หรือทั้งหมดของสตริงเป้าหมาย
ประเทศ/ภูมิภาค ไม่มี ประเทศหรือภูมิภาคอย่างน้อย 1 แห่งที่ใช้เลือกผู้ใช้ที่อาจรวมอยู่ในการทดสอบ  
ภาษา ไม่มี ภาษาและภาษาท้องถิ่นอย่างน้อย 1 รายการที่ใช้เลือกผู้ใช้ที่อาจรวมอยู่ในการทดสอบ  
การเปิดครั้งแรก ก่อน
หลัง

กำหนดเป้าหมายผู้ใช้ตามครั้งแรกที่ผู้ใช้เปิดแอปของคุณ โดยทำดังนี้

  • เลือกผู้ใช้ใหม่เพื่อกําหนดเป้าหมายผู้ใช้ที่เปิดแอปเป็นครั้งแรกหลังจากวันที่และเวลาในอนาคตที่ระบุ
  • เลือกช่วงเวลาเพื่อกำหนดเป้าหมายผู้ใช้ที่เปิดแอปของคุณเป็นครั้งแรกภายในช่วงก่อนหรือหลังวันที่และเวลาที่คุณระบุ รวมเงื่อนไข ก่อน และ หลัง เพื่อกำหนดเป้าหมายผู้ใช้ภายในช่วงเวลาที่ต้องการ

การกําหนดเป้าหมายผู้ใช้ตามการเปิดครั้งแรกจะพร้อมใช้งานหลังจากที่คุณเลือกแอป Android หรือ iOS ปัจจุบันRemote Config SDK เวอร์ชันต่อไปนี้รองรับการกําหนดเป้าหมายนี้ ได้แก่ SDK แพลตฟอร์ม Apple เวอร์ชัน 9.0.0 ขึ้นไปและ Android SDK เวอร์ชัน 21.1.1 ขึ้นไป (Firebase BoM เวอร์ชัน 30.3.0 ขึ้นไป)

Analytics จะต้องเปิดใช้ในไคลเอ็นต์ระหว่างเหตุการณ์การเปิดครั้งแรกด้วย

เมตริก A/B Testing รายการ

เมื่อสร้างการทดสอบ คุณจะเลือกเมตริกหลักหรือเป้าหมายที่จะใช้ในการระบุตัวแปรที่ได้ผลดีที่สุด นอกจากนี้ คุณควรติดตามเมตริกอื่นๆ เพื่อช่วยให้คุณเข้าใจประสิทธิภาพของตัวแปรการทดสอบแต่ละรายการได้ดียิ่งขึ้น รวมถึงติดตามแนวโน้มที่สําคัญซึ่งอาจแตกต่างกันไปในแต่ละตัวแปร เช่น การคงผู้ใช้ไว้ ความเสถียรของแอป และรายได้จากการซื้อในแอป คุณสามารถติดตามเมตริกที่ไม่ใช่เป้าหมายได้สูงสุด 5 รายการในการทดสอบ

ตัวอย่างเช่น สมมติว่าคุณใช้ Remote Config เพื่อเปิดตัวเกม 2 แพลตฟอร์มที่แตกต่างกันในแอป และต้องการเพิ่มประสิทธิภาพเพื่อการซื้อในแอปและรายได้จากโฆษณา แต่ก็ต้องการติดตามความเสถียรและการคงผู้ใช้ไว้ของแต่ละตัวแปรด้วย ในกรณีนี้ คุณอาจพิจารณาเลือกรายได้ทั้งหมดโดยประมาณเป็นเมตริกเป้าหมาย เนื่องจากรวมรายได้จากการซื้อในแอปและรายได้จากโฆษณาไว้ด้วย จากนั้นสําหรับเมตริกอื่นๆ ที่จะติดตาม คุณอาจเพิ่มเมตริกต่อไปนี้

  • หากต้องการติดตามการคงผู้ใช้ไว้รายวันและรายสัปดาห์ ให้เพิ่มการคงผู้ใช้ไว้ (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 วันหรือมากกว่านับตั้งแต่ที่ใช้แอปครั้งล่าสุด
first_open เหตุการณ์ Analytics ที่ทริกเกอร์เมื่อผู้ใช้เปิดแอปเป็นครั้งแรกหลังจากติดตั้งหรือติดตั้งอีกครั้ง ใช้เป็นส่วนหนึ่งของ Funnel Conversion

เมตริกอื่นๆ

เมตริก คำอธิบาย
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 แยกต่างหาก แต่ระบบจะจัดเก็บการเป็นสมาชิกของเวอร์ชันทดลองและตัวแปรไว้ในเหตุการณ์ Google Analytics ทั้งหมดภายในตารางเหตุการณ์ Analytics

พร็อพเพอร์ตี้ผู้ใช้ที่มีข้อมูลการทดสอบอยู่ในรูปแบบ userProperty.key like "firebase_exp_%" หรือ userProperty.key = "firebase_exp_01" โดยที่ 01 คือรหัสการทดสอบ และ userProperty.value.string_value มีดัชนี (ฐาน 0) ของตัวแปรการทดสอบ

คุณสามารถใช้พร็อพเพอร์ตี้ผู้ใช้การทดสอบเหล่านี้เพื่อดึงข้อมูลการทดสอบได้ วิธีนี้ช่วยให้คุณแบ่งผลการทดสอบได้หลายวิธี และยืนยันผลลัพธ์ของ A/B Testing ได้อย่างอิสระ

หากต้องการเริ่มต้นใช้งาน ให้ทำตามขั้นตอนต่อไปนี้ตามที่อธิบายไว้ในคู่มือนี้

  1. เปิดใช้การส่งออก BigQuery สำหรับ Google Analytics ในคอนโซล Firebase
  2. เข้าถึงข้อมูล A/B Testing โดยใช้ BigQuery
  3. ดูตัวอย่างการค้นหา

เปิดใช้การส่งออก BigQuery สำหรับ Google Analytics ในคอนโซล Firebase

หากใช้แพ็กเกจ Spark คุณจะใช้แซนด์บ็อกซ์ BigQuery เพื่อเข้าถึง BigQuery ได้โดยไม่มีค่าใช้จ่าย โดยขึ้นอยู่กับขีดจำกัดของแซนด์บ็อกซ์ ดูข้อมูลเพิ่มเติมได้ที่ราคาและแซนด์บ็อกซ์ของ BigQuery

ก่อนอื่น ให้ตรวจสอบว่าคุณส่งออกข้อมูล Analytics ไปยัง BigQuery โดยทำดังนี้

  1. เปิดแท็บการผสานรวม ซึ่งเข้าถึงได้โดยใช้ > การตั้งค่าโปรเจ็กต์ในคอนโซล Firebase
  2. หากคุณใช้ BigQuery กับบริการอื่นๆ ของ Firebase อยู่แล้ว ให้คลิกจัดการ หรือคลิกลิงก์
  3. อ่านเกี่ยวกับการลิงก์ Firebase กับ BigQuery แล้วคลิกถัดไป
  4. ในส่วนกำหนดค่าการผสานรวม ให้เปิดใช้ปุ่มสลับ Google Analytics
  5. เลือกภูมิภาคและเลือกการตั้งค่าการส่งออก

  6. คลิกลิงก์กับ BigQuery

ระบบอาจใช้เวลาถึง 1 วันเพื่อให้ตารางพร้อมใช้งาน ทั้งนี้ขึ้นอยู่กับวิธีที่คุณเลือกส่งออกข้อมูล ดูข้อมูลเพิ่มเติมเกี่ยวกับการส่งออกข้อมูลโปรเจ็กต์ไปยัง BigQuery ได้ที่ส่งออกข้อมูลโปรเจ็กต์ไปยัง BigQuery

เข้าถึงข้อมูล A/B Testing ใน BigQuery

ก่อนค้นหาข้อมูลสําหรับการทดสอบที่เฉพาะเจาะจง คุณควรได้รับข้อมูลต่อไปนี้บางส่วนหรือทั้งหมดเพื่อใช้ในการค้นหา

  • รหัสการทดสอบ: คุณดูรหัสนี้ได้จาก URL ของหน้าภาพรวมการทดสอบ เช่น หาก URL มีลักษณะดังนี้ https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25 รหัสการทดสอบคือ 25
  • รหัสพร็อพเพอร์ตี้ Google Analytics: รหัสพร็อพเพอร์ตี้ Google Analytics 9 หลัก คุณจะพบข้อมูลนี้ได้ใน 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 events, ad_impression หรือ user_retention events

หลังจากรวบรวมข้อมูลที่จำเป็นในการสร้างการค้นหาแล้ว ให้ทำดังนี้

  1. เปิด BigQuery ในคอนโซล Google Cloud
  2. เลือกโปรเจ็กต์ แล้วเลือกสร้างการค้นหา SQL
  3. เพิ่มข้อความค้นหา ดูตัวอย่างคําค้นหาที่จะเรียกใช้ได้ที่หัวข้อสํารวจตัวอย่างคําค้นหา
  4. คลิกเรียกใช้

ค้นหาข้อมูลการทดสอบโดยใช้คำค้นหาที่สร้างขึ้นโดยอัตโนมัติของคอนโซล Firebase

หากคุณใช้แพ็กเกจ Blaze หน้าภาพรวมการทดสอบจะมีตัวอย่างการค้นหาที่แสดงชื่อการทดสอบ ตัวแปร ชื่อเหตุการณ์ และจํานวนเหตุการณ์สําหรับการทดสอบที่คุณกําลังดู

วิธีรับและเรียกใช้การค้นหาที่สร้างขึ้นโดยอัตโนมัติ

  1. จากคอนโซล Firebase ให้เปิด A/B Testing แล้วเลือกการทดสอบ A/B Testing ที่ต้องการค้นหาเพื่อเปิดภาพรวมการทดสอบ
  2. จากเมนูตัวเลือก ใต้การผสานรวม BigQuery ให้เลือกค้นหาข้อมูลการทดสอบ ซึ่งจะเปิดโปรเจ็กต์ใน BigQuery ภายในคอนโซล Google Cloud และแสดงการค้นหาพื้นฐานที่คุณใช้เพื่อค้นหาข้อมูลการทดสอบได้

ตัวอย่างต่อไปนี้แสดงคําค้นหาที่สร้างขึ้นสําหรับการทดสอบที่มีตัวแปร 3 รายการ (รวมถึงกลุ่มฐาน) ชื่อ "การทดสอบต้อนรับช่วงฤดูหนาว" โดยจะแสดงผลชื่อการทดสอบที่ทำงานอยู่ ชื่อตัวแปร เหตุการณ์ที่ไม่ซ้ำ และจำนวนเหตุการณ์สำหรับแต่ละเหตุการณ์ โปรดทราบว่าเครื่องมือสร้างคําค้นหาไม่ได้ระบุชื่อโปรเจ็กต์ในชื่อตาราง เนื่องจากจะเปิดภายในโปรเจ็กต์โดยตรง

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

ดูตัวอย่างการค้นหาเพิ่มเติมได้ในส่วนสํารวจการค้นหาตัวอย่าง

ดูตัวอย่างการค้นหา

ส่วนต่อไปนี้จะมีตัวอย่างคำค้นหาที่คุณใช้เพื่อดึงข้อมูลการทดสอบ A/B Testing จากตารางเหตุการณ์ Google Analytics ตารางได้

ดึงค่าความเบี่ยงเบนมาตรฐานของการซื้อและการทดสอบจากการทดสอบทั้งหมด

คุณสามารถใช้ข้อมูลผลการทดสอบเพื่อยืนยันFirebase A/B Testingผลลัพธ์อย่างอิสระได้ BigQuery คำสั่ง SQL ต่อไปนี้จะดึงข้อมูลตัวแปรการทดสอบ, จํานวนผู้ใช้ที่ไม่ซ้ำกันในแต่ละตัวแปร และสรุปรายได้ทั้งหมดจากเหตุการณ์ in_app_purchase และ ecommerce_purchase รวมถึงค่าเบี่ยงเบนมาตรฐานสําหรับการทดสอบทั้งหมดภายในช่วงวันที่ที่ระบุเป็นวันที่เริ่มต้นและวันที่สิ้นสุด _TABLE_SUFFIX คุณสามารถใช้ข้อมูลที่ได้จากคําค้นหานี้กับเครื่องมือสร้างนัยสําคัญทางสถิติสําหรับการทดสอบ 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