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

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

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

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

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

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

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

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

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

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

  4. ป้อน ชื่อ และ คำอธิบาย เพิ่มเติมสำหรับการทดสอบของคุณ และคลิก ถัดไป

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

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

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

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

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

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

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

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

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

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

สำหรับการติดตั้ง Firebase แต่ละรายการ คุณสามารถเรียกข้อมูลโทเค็นการลงทะเบียน 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& 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 คลิก การทดสอบ A/B
  3. คลิก แบบร่าง วางเมาส์เหนือการทดสอบของคุณ คลิกเมนูบริบท ( ) จากนั้นคลิก จัดการอุปกรณ์ทดสอบ
  4. ป้อนโทเค็น FCM สำหรับอุปกรณ์ทดสอบ และเลือกตัวแปรการทดสอบที่จะส่งไปยังอุปกรณ์ทดสอบนั้น
  5. เรียกใช้แอปและยืนยันว่าได้รับตัวแปรที่เลือกบนอุปกรณ์ทดสอบ

จัดการการทดสอบของคุณ

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

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

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

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

ติดตามการทดลอง

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ตัวชี้วัดการทดสอบ A/B

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

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

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

ตัวชี้วัดอื่นๆ

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

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

นอกเหนือจากการดูข้อมูลการทดสอบ A/B Testing ในคอนโซล 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

ขึ้นอยู่กับวิธีที่คุณเลือกส่งออกข้อมูล อาจใช้เวลาถึงหนึ่งวันกว่าที่ตารางจะพร้อมใช้งาน สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการส่งออกข้อมูลโครงการไปยัง 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
  2. เลือกโปรเจ็กต์ของคุณ จากนั้นเลือก สร้างการสืบค้น SQL
  3. เพิ่มคำถามของคุณ สำหรับตัวอย่างการสืบค้นที่จะเรียกใช้ โปรดดูที่ สำรวจตัวอย่างการสืบค้น
  4. คลิก เรียกใช้

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

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

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

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

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

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