เมื่อใช้ Firebase Remote Config เพื่อทําให้การตั้งค่าสําหรับแอปพลิเคชันที่มีฐานผู้ใช้ที่ใช้งานอยู่ใช้งานได้ คุณควรตรวจสอบว่าได้ทําอย่างถูกต้อง คุณสามารถใช้การทดสอบ A/B Testing รายการเพื่อพิจารณาสิ่งต่อไปนี้ได้
- วิธีที่ดีที่สุดในการใช้ฟีเจอร์เพื่อเพิ่มประสิทธิภาพประสบการณ์ของผู้ใช้ และบ่อยครั้งที่นักพัฒนาแอป จะไม่ทราบว่าผู้ใช้ไม่ชอบฟีเจอร์ใหม่หรือประสบการณ์ของผู้ใช้ที่อัปเดตใหม่จนกว่าคะแนนของแอปใน App Store จะลดลง การทดสอบ A/B จะช่วยวัดว่าผู้ใช้ชอบฟีเจอร์ใหม่ๆ ของฟีเจอร์ใหม่ๆ หรือไม่ หรือชอบแอปแบบเดียวกับที่มีอยู่ นอกจากนี้ การรักษาผู้ใช้ส่วนใหญ่ไว้ในกลุ่มฐานช่วยให้มั่นใจได้ว่าฐานผู้ใช้ส่วนใหญ่จะใช้แอปต่อไปได้โดยไม่ต้องเห็นการเปลี่ยนแปลงลักษณะการทำงานหรือลักษณะที่ปรากฏจนกว่าการทดสอบจะสิ้นสุดลง
- วิธีที่ดีที่สุดในการเพิ่มประสิทธิภาพประสบการณ์ของผู้ใช้เพื่อเป้าหมายทางธุรกิจ บางครั้งคุณอาจใช้การเปลี่ยนแปลงผลิตภัณฑ์เพื่อเพิ่มเมตริกสูงสุด เช่น รายได้หรือการรักษาผู้ใช้ เมื่อใช้การทดสอบ A/B คุณจะเป็นผู้กำหนดวัตถุประสงค์ทางธุรกิจ จากนั้น Firebase จะดำเนินการวิเคราะห์เชิงสถิติเพื่อพิจารณาว่าตัวแปรหนึ่งมีประสิทธิภาพดีกว่าเกณฑ์พื้นฐานสำหรับวัตถุประสงค์ที่เลือกไว้หรือไม่
ในการทดสอบ A/B ตัวแปรฟีเจอร์ด้วยเกณฑ์พื้นฐาน ให้ทำดังนี้
- สร้างการทดสอบ
- ตรวจสอบการทดสอบในอุปกรณ์ทดสอบ
- จัดการการทดสอบ
สร้างการทดสอบ
การทดสอบ Remote Config ช่วยให้คุณประเมินตัวแปรหลายรายการด้วยพารามิเตอร์ Remote Config 1 รายการขึ้นไป
ลงชื่อเข้าใช้คอนโซล Firebase และยืนยันว่ามีการเปิดใช้ Google Analytics ในโปรเจ็กต์เพื่อให้การทดสอบมีสิทธิ์เข้าถึงข้อมูล Analytics
หากไม่ได้เปิดใช้ Google Analytics เมื่อสร้างโปรเจ็กต์ คุณสามารถเปิดใช้ได้ในแท็บการผสานรวม ซึ่งเข้าถึงได้โดยใช้ > การตั้งค่าโปรเจ็กต์ในคอนโซล Firebase
ในส่วนมีส่วนร่วมของเมนูการนำทางคอนโซล Firebase ให้คลิกA/B Testing
คลิกสร้างการทดสอบ จากนั้นเลือก Remote Config เมื่อได้รับข้อความแจ้งสำหรับบริการที่คุณต้องการทดสอบ
ป้อนชื่อและคําอธิบาย (ไม่บังคับ) ของการทดสอบ แล้วคลิกถัดไป
กรอกข้อมูลในช่องการกำหนดเป้าหมาย แล้วเลือกแอปที่ใช้การทดสอบก่อน นอกจากนี้คุณยังกำหนดเป้าหมายผู้ใช้กลุ่มย่อยให้เข้าร่วมในการทดสอบได้โดยคลิก และ จากนั้นเลือกตัวเลือกจากรายการต่อไปนี้
- เวอร์ชัน: แอปของคุณอย่างน้อย 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 จะต้องเปิดใช้ในไคลเอ็นต์ด้วยในระหว่างเหตุการณ์ที่เปิดขึ้นครั้งแรก
ตั้งค่าเปอร์เซ็นต์ของผู้ใช้เป้าหมาย: ป้อนเปอร์เซ็นต์ฐานผู้ใช้ของแอปที่ตรงกับเกณฑ์ที่กำหนดไว้ในส่วนผู้ใช้เป้าหมายซึ่งคุณต้องการแบ่งเท่าๆ กันระหว่างกลุ่มฐานและตัวแปรอย่างน้อย 1 รายการในการทดสอบ ซึ่งอาจเป็นเปอร์เซ็นต์ใดก็ได้ระหว่าง 0.01% ถึง 100% ระบบจะกําหนดผู้ใช้ให้กับการทดสอบแต่ละรายการแบบสุ่ม รวมถึงการทดสอบที่ซ้ำกัน
(ไม่บังคับ) ตั้งค่าเหตุการณ์การเปิดใช้งานเพื่อให้แน่ใจว่าระบบจะนับเฉพาะข้อมูลจากผู้ใช้ที่เรียกเหตุการณ์ Analytics บางอย่างเป็นครั้งแรกในการทดสอบ โปรดทราบว่าผู้ใช้ทั้งหมดที่ตรงกับพารามิเตอร์การกําหนดเป้าหมายของคุณจะได้รับค่าการทดสอบ Remote Config แต่เฉพาะผู้ใช้ที่ทริกเกอร์เหตุการณ์การเปิดใช้งานเท่านั้นที่จะรวมอยู่ในผลการทดสอบ
ตรวจสอบว่าเหตุการณ์ที่คุณเลือกเกิดขึ้นหลังจากแอปเปิดใช้งานค่าการกําหนดค่าที่ดึงข้อมูลแล้ว เพื่อให้การทดสอบถูกต้อง นอกจากนี้ คุณจะใช้เหตุการณ์ต่อไปนี้ไม่ได้เนื่องจากเหตุการณ์เหล่านี้เกิดขึ้นก่อนการเปิดใช้งานค่าที่ดึงข้อมูลเสมอ
app_install
app_remove
app_update
dynamic_link_first_open
สำหรับเป้าหมายของการทดสอบ ให้เลือกเมตริกหลักที่จะติดตาม และเพิ่มเมตริกอื่นๆ ที่ต้องการติดตามจากรายการ ซึ่งรวมถึงวัตถุประสงค์ในตัว (การซื้อ รายได้ การคงผู้ใช้ไว้ ผู้ใช้ที่ไม่มีข้อขัดข้อง เป็นต้น) Analytics เหตุการณ์ Conversion และเหตุการณ์อื่นๆAnalytics คลิกถัดไปเมื่อเสร็จสิ้น
ในส่วนตัวแปร ให้เลือกเกณฑ์พื้นฐานและตัวแปรอย่างน้อย 1 ตัวแปรสําหรับการทดสอบ ใช้รายการเลือกหรือสร้างใหม่เพื่อเพิ่มพารามิเตอร์อย่างน้อย 1 รายการเพื่อทดสอบ คุณสามารถสร้างพารามิเตอร์ที่ไม่เคยใช้ในคอนโซล Firebase มาก่อนได้ แต่พารามิเตอร์ดังกล่าวต้องอยู่ในแอปของคุณจึงจะมีผล คุณสามารถทำขั้นตอนนี้ซ้ำเพื่อเพิ่มพารามิเตอร์หลายรายการในการทดสอบ
(ไม่บังคับ) หากต้องการเพิ่มมากกว่า 1 ตัวแปรในการทดสอบ ให้คลิกเพิ่มตัวแปรอื่น
เปลี่ยนพารามิเตอร์อย่างน้อย 1 รายการสำหรับตัวแปรที่เฉพาะเจาะจง พารามิเตอร์ที่ไม่มีการเปลี่ยนแปลงจะเหมือนกันสําหรับผู้ใช้ที่ไม่ได้รวมอยู่ในการทดสอบ
ขยายน้ำหนักของตัวแปรเพื่อดูหรือเปลี่ยนน้ำหนักของตัวแปรสําหรับการทดสอบ แต่ค่าเริ่มต้นจะกำหนดให้ตัวแปรต่างๆ มีน้ำหนักเท่ากัน โปรดทราบว่าน้ำหนักที่ต่างกันอาจทำให้ใช้เวลาเก็บข้อมูลนานขึ้น และไม่สามารถปรับเปลี่ยนน้ำหนักได้หลังจากเริ่มการทดสอบแล้ว
คลิกตรวจสอบเพื่อบันทึกการทดสอบ
คุณทำการทดสอบได้สูงสุด 300 รายการต่อโปรเจ็กต์ ซึ่งอาจประกอบด้วยการทดสอบที่ทํางานอยู่สูงสุด 24 รายการ ส่วนที่เหลือเป็นฉบับร่างหรือเสร็จสมบูรณ์
ตรวจสอบการทดสอบในอุปกรณ์ทดสอบ
สําหรับการติดตั้ง Firebase แต่ละครั้ง คุณสามารถเรียกข้อมูลโทเค็นการตรวจสอบสิทธิ์การติดตั้งที่เชื่อมโยงอยู่ได้ คุณสามารถใช้โทเค็นนี้เพื่อทดสอบตัวแปรการทดสอบที่เฉพาะเจาะจงในอุปกรณ์ทดสอบที่ติดตั้งแอปของคุณ หากต้องการตรวจสอบการทดสอบในอุปกรณ์ทดสอบ ให้ทำดังนี้
- รับโทเค็นการตรวจสอบสิทธิ์การติดตั้งโดยทำดังนี้
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)); } });
- คลิกการทดสอบ A/B ในแถบนําทางของFirebaseคอนโซล
- คลิกฉบับร่าง (และ/หรือทํางานอยู่สําหรับการทดสอบการกําหนดค่าระยะไกล) วางเมาส์เหนือการทดสอบ คลิกเมนูตามบริบท (more_vert) แล้วคลิกจัดการอุปกรณ์ทดสอบ
- ป้อนโทเค็นการตรวจสอบสิทธิ์การติดตั้งสําหรับอุปกรณ์ทดสอบ แล้วเลือกตัวแปรการทดสอบที่จะส่งไปยังอุปกรณ์ทดสอบนั้น
- เรียกใช้แอปและยืนยันว่าอุปกรณ์ทดสอบได้รับตัวแปรที่เลือก
ดูข้อมูลเพิ่มเติมเกี่ยวกับการติดตั้ง Firebase ได้ที่จัดการการติดตั้ง Firebase
จัดการการทดสอบ
ไม่ว่าคุณจะสร้างการทดสอบด้วย Remote Config, ตัวสร้างการแจ้งเตือน หรือ Firebase In-App Messaging ก็ตาม คุณจะตรวจสอบและเริ่มการทดสอบ ตรวจสอบการทดสอบขณะที่ทํางาน และเพิ่มจํานวนผู้ใช้ที่รวมอยู่ในการทดสอบที่ทํางานอยู่ได้
เมื่อทดสอบเสร็จแล้ว คุณสามารถบันทึกการตั้งค่าที่ใช้โดยตัวแปรที่ชนะ จากนั้นจึงเปิดตัวการตั้งค่าเหล่านั้นกับผู้ใช้ทุกคน หรือจะเรียกใช้การทดสอบอื่นก็ได้
เริ่มการทดสอบ
- ในส่วนมีส่วนร่วมของเมนูการนำทางของคอนโซล Firebase ให้คลิก A/B Testing
- คลิกฉบับร่าง แล้วคลิกชื่อการทดสอบ
- หากต้องการตรวจสอบว่าแอปมีผู้ใช้ที่จะรวมอยู่ในการทดสอบ ให้ขยายรายละเอียดฉบับร่างและดูตัวเลขที่มากกว่า 0% ในส่วนการกำหนดเป้าหมายและการเผยแพร่ (เช่น ผู้ใช้ 1% ที่ตรงกับเกณฑ์)
- หากต้องการเปลี่ยนการทดสอบ ให้คลิกแก้ไข
- หากต้องการเริ่มการทดสอบ ให้คลิกเริ่มการทดสอบ คุณเรียกใช้การทดสอบได้สูงสุด 24 รายการต่อโปรเจ็กต์
ติดตามการทดสอบ
เมื่อการทดสอบทำงานไปสักระยะหนึ่งแล้ว คุณสามารถตรวจสอบความคืบหน้าและดูว่าผลลัพธ์เป็นอย่างไรสำหรับผู้ใช้ที่มีส่วนร่วมในการทดสอบจนถึงปัจจุบัน
- ในส่วนมีส่วนร่วมของเมนูการนำทางคอนโซล Firebase ให้คลิกA/B Testing
คลิกทํางานอยู่ แล้วคลิกหรือค้นหาชื่อการทดสอบ ในหน้านี้ คุณสามารถดูสถิติต่างๆ ที่สังเกตได้และโดยประมาณเกี่ยวกับการทดสอบที่ทำงานอยู่ รวมถึงสถิติต่อไปนี้
- % ความแตกต่างจากเกณฑ์พื้นฐาน: การวัดการปรับปรุงเมตริกสำหรับตัวแปรที่ระบุเมื่อเทียบกับเกณฑ์พื้นฐาน คำนวณโดยการเปรียบเทียบช่วงค่าสำหรับตัวแปรกับช่วงค่าสำหรับเกณฑ์พื้นฐาน
- ความน่าจะเป็นที่จะสูงกว่าเกณฑ์พื้นฐาน: ความน่าจะเป็นโดยประมาณที่ตัวแปรหนึ่งๆ จะสูงกว่าเกณฑ์พื้นฐานสําหรับเมตริกที่เลือก
- observed_metric ต่อผู้ใช้: อิงตามผลการทดสอบ นี่เป็นช่วงคาดการณ์ที่ค่าเมตริกจะตกอยู่เมื่อเวลาผ่านไป
- ทั้งหมด observed_metric: ค่าสะสมที่พบสำหรับเกณฑ์พื้นฐานหรือตัวแปร ค่านี้ใช้วัดประสิทธิภาพของตัวแปรการทดสอบแต่ละรายการ และใช้ในการคํานวณการปรับปรุง ช่วงค่า ความน่าจะเป็นที่จะได้ดีกว่าเกณฑ์พื้นฐาน และความน่าจะเป็นที่จะเป็นตัวแปรที่ดีที่สุด คอลัมน์นี้อาจมีป้ายกํากับว่า "ระยะเวลาต่อผู้ใช้" "รายได้ต่อผู้ใช้" "อัตราการคงผู้ใช้ไว้" หรือ "อัตรา Conversion" ทั้งนี้ขึ้นอยู่กับเมตริกที่วัด
หลังจากการทดสอบทํางานไประยะหนึ่งแล้ว (อย่างน้อย 7 วันสําหรับ FCM และ In-App Messaging หรือ 14 วันสําหรับ Remote Config) ข้อมูลในหน้านี้จะระบุตัวแปรที่ "มีประสิทธิภาพดีที่สุด" (หากมี) การวัดค่าบางอย่างจะมีแผนภูมิแท่งแสดงข้อมูลในรูปแบบภาพ
เปิดตัวการทดสอบกับผู้ใช้ทั้งหมด
หลังจากการทดสอบทํางานนานพอที่จะมี "ผู้นำ" หรือตัวแปรที่ได้ผลดีที่สุดสําหรับเมตริกเป้าหมายแล้ว คุณสามารถเผยแพร่การทดสอบกับผู้ใช้ทั้ง 100% ได้ ซึ่งจะช่วยให้คุณเลือกตัวแปรที่จะเผยแพร่ให้กับผู้ใช้ทุกคนนับจากนี้เป็นต้นไปได้ แม้ว่าการทดสอบจะไม่ได้สร้างผู้ชนะที่ชัดเจน แต่คุณก็ยังคงเลือกที่จะเผยแพร่ตัวแปรให้ผู้ใช้ทุกคนได้
- ในส่วนมีส่วนร่วมของเมนูการนำทางคอนโซล Firebase ให้คลิกA/B Testing
- คลิกเสร็จสิ้นหรือกำลังทำงาน คลิกการทดสอบที่คุณต้องการเผยแพร่ต่อผู้ใช้ทั้งหมด คลิกเมนูตามบริบท ( ) เปิดตัวตัวแปร
เปิดตัวการทดสอบกับผู้ใช้ทั้งหมดโดยทําอย่างใดอย่างหนึ่งต่อไปนี้
- สําหรับการทดสอบที่ใช้เครื่องมือเขียนข้อความแจ้งเตือน ให้ใช้กล่องโต้ตอบเปิดตัวข้อความเพื่อส่งข้อความไปยังผู้ใช้เป้าหมายที่เหลือซึ่งไม่ได้เข้าร่วมการทดสอบ
- สำหรับการทดสอบ Remote Config ให้เลือกตัวแปรเพื่อกำหนดค่าพารามิเตอร์ Remote Config ที่ต้องการอัปเดต ระบบจะเพิ่มเกณฑ์การกำหนดเป้าหมายที่กําหนดไว้เมื่อสร้างการทดสอบเป็นเงื่อนไขใหม่ในเทมเพลต เพื่อให้แน่ใจว่าการเปิดตัวจะส่งผลต่อผู้ใช้ที่กําหนดเป้าหมายโดยเวอร์ชันทดลองเท่านั้น หลังจากคลิกตรวจสอบในการกําหนดค่าระยะไกลเพื่อตรวจสอบการเปลี่ยนแปลงแล้ว ให้คลิกเผยแพร่การเปลี่ยนแปลงเพื่อให้การเปิดตัวเสร็จสมบูรณ์
- สําหรับการทดสอบ In-App Messaging ให้ใช้กล่องโต้ตอบเพื่อระบุว่าต้องเปิดตัวตัวแปรใดเป็นแคมเปญ In-App Messaging แบบสแตนด์อโลน เมื่อเลือกแล้ว ระบบจะเปลี่ยนเส้นทางคุณไปยังหน้าจอเขียนของ FIAM เพื่อให้ทำการเปลี่ยนแปลง (หากจำเป็น) ก่อนเผยแพร่
ขยายการทดสอบ
หากพบว่าการทดสอบไม่ได้ดึงดูดผู้ใช้มามากพอที่ A/B Testing จะประกาศผู้ชนะได้ ให้เพิ่มการเผยแพร่การทดสอบเพื่อเข้าถึงฐานผู้ใช้แอปในเปอร์เซ็นต์ที่มากขึ้น
- ในส่วนมีส่วนร่วมของเมนูการนำทางคอนโซล Firebase ให้คลิกA/B Testing
- เลือกการทดสอบที่ทํางานอยู่ซึ่งคุณต้องการแก้ไข
- ในภาพรวมการทดสอบ ให้คลิกเมนูบริบท ( ) แล้วคลิกแก้ไขการทดสอบที่ทํางานอยู่
- กล่องโต้ตอบการกําหนดเป้าหมายจะแสดงตัวเลือกในการเพิ่มเปอร์เซ็นต์ของผู้ใช้ที่อยู่ในการทดสอบที่ทํางานอยู่ เลือกตัวเลขที่มากกว่าเปอร์เซ็นต์ปัจจุบัน แล้วคลิกเผยแพร่ ระบบจะขยายการทดสอบไปยังเปอร์เซ็นต์ของผู้ใช้ที่คุณได้ระบุไว้
ทำซ้ำหรือหยุดการทดสอบ
- ในส่วนมีส่วนร่วมของเมนูการนำทางคอนโซล Firebase ให้คลิกA/B Testing
- คลิกเสร็จสมบูรณ์หรือทํางานอยู่ วางเคอร์เซอร์เหนือการทดสอบ คลิกเมนูบริบท ( ) แล้วคลิกทําซ้ำการทดสอบหรือหยุดการทดสอบ
การกำหนดเป้าหมายผู้ใช้
คุณสามารถกําหนดเป้าหมายผู้ใช้ที่จะรวมไว้ในการทดสอบได้โดยใช้เกณฑ์การกําหนดเป้าหมายผู้ใช้ต่อไปนี้
เกณฑ์การกําหนดเป้าหมาย | ผู้ให้บริการ | ค่า | หมายเหตุ | |
---|---|---|---|---|
เวอร์ชัน | มี
ไม่มี ตรงกันทั้งหมด มีนิพจน์ทั่วไป |
ป้อนค่าสำหรับเวอร์ชันแอปอย่างน้อย 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 ได้อย่างอิสระ
หากต้องการเริ่มต้นใช้งาน ให้ทำตามขั้นตอนต่อไปนี้ตามที่อธิบายไว้ในคู่มือนี้
- เปิดใช้การส่งออก BigQuery สำหรับ Google Analytics ในคอนโซล Firebase
- เข้าถึงข้อมูล A/B Testing โดยใช้ BigQuery
- ดูตัวอย่างการค้นหา
เปิดใช้การส่งออก BigQuery สำหรับ Google Analytics ในคอนโซล Firebase
หากใช้แพ็กเกจ Spark คุณจะใช้แซนด์บ็อกซ์ BigQuery เพื่อเข้าถึง BigQuery ได้โดยไม่มีค่าใช้จ่าย โดยขึ้นอยู่กับขีดจำกัดของแซนด์บ็อกซ์ ดูข้อมูลเพิ่มเติมได้ที่ราคาและแซนด์บ็อกซ์ของ BigQuery
ก่อนอื่น ให้ตรวจสอบว่าคุณส่งออกข้อมูล Analytics ไปยัง BigQuery โดยทำดังนี้
- เปิดแท็บการผสานรวม ซึ่งเข้าถึงได้โดยใช้ > การตั้งค่าโปรเจ็กต์ในคอนโซล Firebase
- หากคุณใช้ BigQuery กับบริการอื่นๆ ของ Firebase อยู่แล้ว ให้คลิกจัดการ หรือคลิกลิงก์
- อ่านเกี่ยวกับการลิงก์ Firebase กับ BigQuery แล้วคลิกถัดไป
- ในส่วนกำหนดค่าการผสานรวม ให้เปิดใช้ปุ่มสลับ Google Analytics
เลือกภูมิภาคและเลือกการตั้งค่าการส่งออก
คลิกลิงก์กับ 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
หลังจากรวบรวมข้อมูลที่จำเป็นในการสร้างการค้นหาแล้ว ให้ทำดังนี้
- เปิด BigQuery ในคอนโซล Google Cloud
- เลือกโปรเจ็กต์ แล้วเลือกสร้างการค้นหา SQL
- เพิ่มข้อความค้นหา ดูตัวอย่างคําค้นหาที่จะเรียกใช้ได้ที่หัวข้อสํารวจตัวอย่างคําค้นหา
- คลิกเรียกใช้
ค้นหาข้อมูลการทดสอบโดยใช้คำค้นหาที่สร้างขึ้นโดยอัตโนมัติของคอนโซล Firebase
หากคุณใช้แพ็กเกจ Blaze หน้าภาพรวมการทดสอบจะมีตัวอย่างการค้นหาที่แสดงชื่อการทดสอบ ตัวแปร ชื่อเหตุการณ์ และจํานวนเหตุการณ์สําหรับการทดสอบที่คุณกําลังดู
วิธีรับและเรียกใช้การค้นหาที่สร้างขึ้นโดยอัตโนมัติ
- จากคอนโซล Firebase ให้เปิด A/B Testing แล้วเลือกการทดสอบ A/B Testing ที่ต้องการค้นหาเพื่อเปิดภาพรวมการทดสอบ
- จากเมนูตัวเลือก ใต้การผสานรวม 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