สร้างการทดสอบการรับส่งข้อความด้วยการทดสอบ A/B

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

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

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

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

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

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

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

  2. ในFirebaseคอนโซล ให้ไปที่ DevOps และการมีส่วนร่วม > การทดสอบ A/B

  3. คลิกสร้างการทดสอบ แล้วเลือกการแจ้งเตือนเมื่อระบบ แจ้งให้เลือกบริการที่ต้องการทดสอบ

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

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

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

  7. ในส่วนตัวแปร ให้พิมพ์ข้อความที่จะส่งไปยังกลุ่มพื้นฐานในช่องป้อนข้อความ หากต้องการไม่ส่งข้อความไปยังกลุ่มพื้นฐาน ให้ปล่อยช่องนี้ว่างไว้

  8. (ไม่บังคับ) หากต้องการเพิ่มตัวแปรมากกว่า 1 รายการในการทดสอบ ให้คลิกเพิ่ม ตัวแปร โดยค่าเริ่มต้น การทดสอบจะมีเกณฑ์พื้นฐาน 1 รายการและตัวแปร 1 รายการ

  9. (ไม่บังคับ) ป้อนชื่อตัวแปรแต่ละรายการในการทดสอบเพื่อแทนที่ชื่อ ตัวแปร A, ตัวแปร B ฯลฯ

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

  11. เลือกตัวเลือกสำหรับข้อความ

    • วันที่นำส่ง: เลือกส่งตอนนี้เพื่อเปิดตัวการทดสอบทันทีเมื่อบันทึก หรือเลือกตั้งเวลาเพื่อระบุเวลาเปิดตัวการทดสอบในอนาคต
    • ตัวเลือกขั้นสูง: หากต้องการเลือกตัวเลือกขั้นสูงสําหรับการแจ้งเตือนทั้งหมด ที่รวมอยู่ในการทดสอบ ให้ขยายตัวเลือกขั้นสูง แล้วเปลี่ยน ตัวเลือกข้อความที่แสดง
  12. คลิกตรวจสอบเพื่อบันทึกการทดสอบ

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

ตรวจสอบการทดสอบในอุปกรณ์ทดสอบ

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

  1. รับโทเค็นการลงทะเบียน FCM ดังนี้

    Swift

    Messaging.messaging().token { token, error in
      if let error = error {
        print("Error fetching remote FCM registration token: \(error)")
      } else if let token = token {
        print("Remote instance ID token: \(token)")
      }
    }

    Objective-C

    [[FIRMessaging messaging] tokenWithCompletion:^(NSString * _Nullable token, NSError * _Nullable error) {
      if (error != nil) {
        NSLog(@"Error fetching the remote FCM registration token: %@", error);
      } else {
        NSLog(@"Remote FCM registration token: %@", token);
        NSString* message =
          [NSString stringWithFormat:@"FCM registration token: %@", token];
        // display message
        NSLog(@"%@", message);
      }
    }];

    Java

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

    Kotlin

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

    C++

    firebase::InitResult init_result;
    auto* installations_object = firebase::installations::Installations::GetInstance(
        firebase::App::GetInstance(), &init_result);
    installations_object->GetToken().OnCompletion(
        [](const firebase::Future<std::string>& future) {
          if (future.status() == kFutureStatusComplete &&
              future.error() == firebase::installations::kErrorNone) {
            printf("Installations Auth Token %s\n", future.result()->c_str());
          }
        });

    Unity

    Firebase.Messaging.FirebaseMessaging.DefaultInstance.GetTokenAsync().ContinueWith(
      task => {
        if (!(task.IsCanceled || task.IsFaulted) && task.IsCompleted) {
          UnityEngine.Debug.Log(System.String.Format("FCM registration token {0}", task.Result));
        }
      });
  2. ในFirebaseคอนโซล ให้ไปที่ DevOps และการมีส่วนร่วม > การทดสอบ A/B
  3. คลิกฉบับร่าง วางเมาส์เหนือการทดสอบ คลิกเมนูบริบท () แล้วคลิกจัดการอุปกรณ์ทดสอบ
  4. ป้อนFCMโทเค็นสำหรับอุปกรณ์ทดสอบและเลือกตัวแปรการทดสอบ ที่จะส่งไปยังอุปกรณ์ทดสอบนั้น
  5. เรียกใช้แอปและยืนยันว่าอุปกรณ์ทดสอบได้รับตัวแปรที่เลือก

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

ไม่ว่าคุณจะสร้างการทดสอบด้วย Remote Config, เครื่องมือแต่งข้อความแจ้ง หรือ Firebase In-App Messaging คุณก็สามารถตรวจสอบและเริ่มการทดสอบ ตรวจสอบการทดสอบ ขณะที่การทดสอบทำงานอยู่ และเพิ่มจำนวนผู้ใช้ที่รวมอยู่ในการทดสอบที่ทำงานอยู่ ได้

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • รายได้ทั้งหมดโดยประมาณเพื่อดูว่ารายได้จากการซื้อในแอปและรายได้จากโฆษณารวมกันแตกต่างกันอย่างไรระหว่าง 2 ตัวแปร
  • การคงผู้ใช้ไว้ (1 วัน), การคงผู้ใช้ไว้ (2-3 วัน), การคงผู้ใช้ไว้ (4-7 วัน) เพื่อ ติดตามการคงผู้ใช้ไว้รายวันหรือรายสัปดาห์

ตารางต่อไปนี้แสดงรายละเอียดเกี่ยวกับวิธีคำนวณเมตริกเป้าหมายและเมตริกอื่นๆ

เมตริกเป้าหมาย

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

หมายเหตุ: Firebase Crashlytics ไม่รองรับเว็บแอปพลิเคชัน

รายได้จากโฆษณาโดยประมาณ รายได้จากโฆษณาโดยประมาณ
รายได้ทั้งหมดโดยประมาณ มูลค่ารวมสําหรับรายได้จากการซื้อและรายได้จากโฆษณาโดยประมาณ
รายได้จากการซื้อ มูลค่ารวมสําหรับเหตุการณ์ 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 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. เปิดใช้การส่งออกสำหรับ BigQueryGoogle Analytics ในคอนโซล Firebase
  2. เข้าถึงข้อมูล A/B Testing โดยใช้ BigQuery
  3. สำรวจตัวอย่างการค้นหา

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

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

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

  1. ในFirebaseคอนโซล ให้ไปที่ การตั้งค่า > แท็บการผสานรวม

  2. ในการ์ด BigQuery ให้คลิกจัดการและตรวจสอบว่าโปรเจ็กต์ ส่งออกข้อมูล Analytics ไปยัง BigQuery

    หากการ์ดระบุว่าลิงก์ แสดงว่าคุณต้องตั้งค่าการส่งออก (ไปยัง ขั้นตอนถัดไป)

  3. หากต้องการตั้งค่าการส่งออก ให้ทำดังนี้

    1. อ่านเกี่ยวกับการลิงก์ Firebase กับ BigQuery แล้วคลิกถัดไป

    2. ในส่วนกำหนดค่าการผสานรวม ให้เปิดใช้ Google Analytics

    3. เลือกภูมิภาคและเลือกการตั้งค่าการส่งออก

    4. คลิกลิงก์กับ 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: นี่คือรหัสพร็อพเพอร์ตี้ 9 หลัก 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 events, ad_impression หรือ user_retention events

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

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

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

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

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

  1. ในFirebaseคอนโซล ให้ไปที่ DevOps และการมีส่วนร่วม > การทดสอบ A/B
  2. เลือกA/B Testingการทดสอบที่ต้องการค้นหาเพื่อเปิด ภาพรวมการทดสอบ
  3. จากเมนูตัวเลือก ในส่วนการผสานรวม 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