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

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

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

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

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

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

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

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

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

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

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

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

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

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

      การกำหนดเป้าหมายผู้ใช้ตามเวลาเปิดครั้งแรกจะพร้อมใช้งานหลังจากที่เลือกแอป Android หรือ iOS แอปนี้รองรับโดย SDK การกำหนดค่าระยะไกลเวอร์ชันต่อไปนี้ Apple Platform SDK v9.0.0 ขึ้นไป และ Android SDK v21.1.1+ (Firebase BoM v30.3.0 ขึ้นไป)

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

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

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

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

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

  9. ในส่วนตัวแปร ให้เลือกเกณฑ์พื้นฐานและตัวแปรอย่างน้อย 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& 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

จัดการการทดสอบ

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

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

เริ่มการทดสอบ

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

ติดตามการทดสอบ

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

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

    • % ความแตกต่างจากเกณฑ์พื้นฐาน: การวัดการปรับปรุงเมตริกสำหรับตัวแปรที่ระบุเมื่อเทียบกับเกณฑ์พื้นฐาน คำนวณโดยการเปรียบเทียบช่วงค่าสำหรับตัวแปรกับช่วงค่าสำหรับเกณฑ์พื้นฐาน
    • ความน่าจะเป็นที่จะผ่านเกณฑ์พื้นฐาน: ความน่าจะเป็นโดยประมาณที่ตัวแปรที่กำหนดจะสูงกว่าเกณฑ์พื้นฐานของเมตริกที่เลือก
    • observed_metric ต่อผู้ใช้: ตามผลการทดสอบ นี่คือช่วงที่คาดการณ์ไว้ว่าค่าเมตริกจะคงอยู่เมื่อเวลาผ่านไป
    • ทั้งหมด observed_metric: ค่าสะสมที่พบสำหรับเกณฑ์พื้นฐานหรือตัวแปร ระบบจะใช้ค่าเพื่อวัดประสิทธิภาพของแต่ละตัวแปรการทดสอบ และใช้ในการคํานวณการปรับปรุง ช่วงค่า ความน่าจะเป็นที่จะผ่านเกณฑ์พื้นฐาน และความน่าจะเป็นในการเป็นตัวแปรที่ดีที่สุด คอลัมน์นี้อาจมีป้ายกํากับว่า "ระยะเวลาต่อผู้ใช้" "รายได้ต่อผู้ใช้" "อัตราการรักษาผู้ใช้" หรือ "อัตรา Conversion" ทั้งนี้ขึ้นอยู่กับเมตริกที่วัด
  3. หลังจากทำการทดสอบไปสักระยะหนึ่งแล้ว (อย่างน้อย 7 วันสำหรับ FCM และการรับส่งข้อความในแอป หรือ 14 วันสำหรับการกำหนดค่าระยะไกล) ข้อมูลในหน้านี้จะระบุตัวแปรที่เป็น "ผู้นำ" (หากมี) ผลการวัดบางอย่างมาพร้อมกับแผนภูมิแท่งที่นำเสนอข้อมูลในรูปแบบภาพ

เริ่มการทดสอบกับผู้ใช้ทุกคน

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

การกำหนดเป้าหมายผู้ใช้ด้วยการเปิดครั้งแรกจะพร้อมใช้งานหลังจากที่คุณเลือกแอป Android หรือ iOS ปัจจุบัน SDK เวอร์ชันการกำหนดค่าระยะไกลรองรับ ได้แก่ Apple Platform SDK v9.0.0 ขึ้นไปและ Android SDK v21.1.1 ขึ้นไป (Firebase BoM v30.3.0 ขึ้นไป)

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

เมตริกการทดสอบ A/B

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

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

เมตริกอื่นๆ

เมตริก คำอธิบาย
notification_dismiss เหตุการณ์ Analytics ที่ทริกเกอร์เมื่อปิดการแจ้งเตือนจากผู้เขียนการแจ้งเตือน (Android เท่านั้น)
notification_receive เหตุการณ์ Analytics ที่ทริกเกอร์เมื่อได้รับการแจ้งเตือนที่ส่งโดย คนเขียนการแจ้งเตือนขณะที่แอปอยู่ในเบื้องหลัง (Android เท่านั้น)
os_update เหตุการณ์ Analytics ที่ติดตามเมื่อระบบปฏิบัติการของอุปกรณ์อัปเดตเป็นเวอร์ชันใหม่ ดูข้อมูลเพิ่มเติมได้ที่เหตุการณ์ที่รวบรวมโดยอัตโนมัติ
screen_view เหตุการณ์ Analytics ที่ติดตามหน้าจอที่ผู้ใช้ดูภายในแอป ดูข้อมูลเพิ่มเติมได้ที่ติดตามการดูหน้าจอ
session_start เหตุการณ์ Analytics ที่นับเซสชันของผู้ใช้ในแอป ดูข้อมูลเพิ่มเติมได้ที่เหตุการณ์ที่รวบรวมโดยอัตโนมัติ

การส่งออกข้อมูล BigQuery

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

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

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

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

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

เปิดใช้ BigQuery Export สำหรับ 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 ใน 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, ad_impression หรือ user_retention

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

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

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

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

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

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

ตัวอย่างต่อไปนี้แสดงคำค้นหาที่สร้างขึ้นสำหรับการทดสอบที่มีตัวแปร 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 จากตารางเหตุการณ์ Google Analytics ได้

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

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

ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีที่การทดสอบ A/B คํานวณการอนุมานได้ที่ตีความผลการทดสอบ

  /*
    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