เมื่อติดต่อผู้ใช้หรือเริ่มแคมเปญการตลาดใหม่ คุณต้องตรวจสอบว่าทำได้อย่างถูกต้อง การทดสอบ A/B ช่วยให้คุณค้นหา คำและการนำเสนอที่เหมาะสมที่สุดได้โดยการทดสอบข้อความรูปแบบต่างๆ ใน กลุ่มผู้ใช้ที่เลือก ไม่ว่าเป้าหมายของคุณคือการรักษาผู้ใช้ให้ดีขึ้น หรือ Conversion จากข้อเสนอ การทดสอบ A/B สามารถทำการวิเคราะห์ทางสถิติเพื่อ พิจารณาว่าข้อความตัวแปรมีประสิทธิภาพเหนือกว่าพื้นฐานสำหรับ วัตถุประสงค์ที่เลือกหรือไม่
หากต้องการทดสอบ A/B ตัวแปรฟีเจอร์กับค่าพื้นฐาน ให้ทำดังนี้
- สร้างการทดสอบ
- ตรวจสอบการทดสอบในอุปกรณ์ทดสอบ
- จัดการการทดสอบ
สร้างการทดสอบ
การทดสอบที่ใช้เครื่องมือแต่งการแจ้งเตือนช่วยให้คุณประเมินตัวแปรหลายรายการในข้อความแจ้งเตือนเดียวได้
ลงชื่อเข้าใช้Firebaseคอนโซล และยืนยันว่าได้เปิดใช้ Google Analytics ในโปรเจ็กต์แล้วเพื่อให้การทดสอบมีสิทธิ์เข้าถึงข้อมูล Analytics
หากไม่ได้เปิดใช้ Google Analytics เมื่อสร้างโปรเจ็กต์ คุณสามารถเปิดใช้ได้ในแท็บการผสานรวม ซึ่งเข้าถึงได้โดยใช้ > การตั้งค่าโปรเจ็กต์ในคอนโซล Firebase
ในส่วนมีส่วนร่วมของแถบนำทางFirebase คอนโซล ให้คลิก A/B Testing
คลิกสร้างการทดสอบ แล้วเลือกการแจ้งเตือนเมื่อระบบ แจ้งให้เลือกบริการที่ต้องการทดสอบ
ป้อนชื่อและคำอธิบาย (ไม่บังคับ) สำหรับการทดสอบ แล้วคลิกถัดไป
กรอกข้อมูลในช่องการกำหนดเป้าหมาย โดยเลือกแอปที่ใช้การทดสอบก่อน คุณยังกำหนดเป้าหมายกลุ่มย่อยของผู้ใช้ให้เข้าร่วมการทดสอบได้ด้วย โดยเลือกตัวเลือกที่มีรายการต่อไปนี้
- เวอร์ชัน: แอปของคุณอย่างน้อย 1 เวอร์ชัน
- กลุ่มเป้าหมายผู้ใช้: Analytics กลุ่มเป้าหมายที่ใช้กำหนดเป้าหมายผู้ใช้ ซึ่งอาจรวมอยู่ในการทดสอบ
- พร็อพเพอร์ตี้ผู้ใช้: Analyticsพร็อพเพอร์ตี้ผู้ใช้Analyticsอย่างน้อย 1 รายการสําหรับการเลือกผู้ใช้ที่อาจรวมอยู่ในการทดสอบ
- ประเทศ/ภูมิภาค: ประเทศ/ภูมิภาคอย่างน้อย 1 แห่งสําหรับการเลือก ผู้ใช้ที่อาจรวมอยู่ในการทดสอบ
- ภาษาของอุปกรณ์: ภาษาและภาษาถิ่นอย่างน้อย 1 รายการที่ใช้เพื่อเลือก ผู้ใช้ที่อาจรวมอยู่ในการทดสอบ
- การเปิดครั้งแรก: กำหนดเป้าหมายผู้ใช้ตามครั้งแรกที่ผู้ใช้เปิดแอปของคุณ
- การมีส่วนร่วมกับแอปครั้งล่าสุด: กำหนดเป้าหมายผู้ใช้ตามครั้งสุดท้ายที่ผู้ใช้มีส่วนร่วมกับแอปของคุณ
กำหนดเปอร์เซ็นต์ของผู้ใช้เป้าหมาย: เลือกเปอร์เซ็นต์ของฐานผู้ใช้ของแอปที่ตรงกับเกณฑ์ที่ตั้งไว้ในส่วนผู้ใช้เป้าหมายที่คุณต้องการแบ่งอย่างเท่าๆ กันระหว่างกลุ่มควบคุมกับตัวแปรอย่างน้อย 1 รายการในการทดสอบ ซึ่งอาจเป็นเปอร์เซ็นต์ใดก็ได้ระหว่าง 0.01% ถึง 100% ระบบจะกำหนดเปอร์เซ็นต์ใหม่แบบสุ่มให้กับผู้ใช้สำหรับการทดสอบแต่ละรายการ รวมถึงการทดสอบที่ซ้ำกัน
ในส่วนตัวแปร ให้พิมพ์ข้อความที่จะส่งไปยังกลุ่มพื้นฐานในช่องป้อนข้อความ หากไม่ต้องการส่งข้อความไปยังกลุ่มพื้นฐาน ให้ปล่อยช่องนี้ว่างไว้
(ไม่บังคับ) หากต้องการเพิ่มเวอร์ชันมากกว่า 1 รายการในการทดสอบ ให้คลิกเพิ่ม เวอร์ชัน โดยค่าเริ่มต้น การทดสอบจะมีเกณฑ์พื้นฐาน 1 รายการและตัวแปร 1 รายการ
(ไม่บังคับ) ป้อนชื่อสำหรับแต่ละเวอร์ชันในการทดสอบเพื่อแทนที่ชื่อ เวอร์ชัน A, เวอร์ชัน B ฯลฯ
กำหนดเมตริกเป้าหมายสำหรับการทดสอบเพื่อใช้เมื่อประเมินเวอร์ชันการทดสอบ พร้อมกับเมตริกเพิ่มเติมที่ต้องการจากรายการแบบเลื่อนลง เมตริกเหล่านี้รวมถึงวัตถุประสงค์ในตัว (การมีส่วนร่วม การซื้อ รายได้ การรักษาผู้ใช้ ฯลฯ) Analytics เหตุการณ์ Conversion และเหตุการณ์อื่นๆ Analytics
เลือกตัวเลือกสำหรับข้อความ
- วันที่นำส่ง: เลือกส่งเลยเพื่อเปิดตัวการทดสอบทันทีเมื่อบันทึก หรือเลือกตั้งเวลาเพื่อระบุเวลาเปิดตัวการทดสอบในอนาคต
- ตัวเลือกขั้นสูง: หากต้องการเลือกตัวเลือกขั้นสูงสำหรับการแจ้งเตือนทั้งหมด ที่รวมอยู่ในการทดสอบ ให้ขยายตัวเลือกขั้นสูง แล้วเปลี่ยน ตัวเลือกข้อความที่แสดง
คลิกตรวจสอบเพื่อบันทึกการทดสอบ
คุณสามารถทำการทดสอบได้สูงสุด 300 รายการต่อโปรเจ็กต์ ซึ่งอาจประกอบด้วยการทดสอบที่ทำงานอยู่สูงสุด 24 รายการ โดยที่เหลือเป็นฉบับร่างหรือเสร็จสมบูรณ์แล้ว
ตรวจสอบการทดสอบในอุปกรณ์ทดสอบ
สำหรับการติดตั้ง Firebase แต่ละครั้ง คุณจะเรียกข้อมูลFCMโทเค็นการลงทะเบียน ที่เชื่อมโยงกับการติดตั้งนั้นได้ คุณใช้โทเค็นนี้เพื่อทดสอบตัวแปรการทดสอบที่เฉพาะเจาะจงในอุปกรณ์ทดสอบที่ติดตั้งแอปของคุณได้ หากต้องการตรวจสอบการทดสอบในอุปกรณ์ทดสอบ ให้ทำดังนี้
- รับโทเค็นการลงทะเบียน FCM โดยทำดังนี้
Swift
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)" } }
Objective-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
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)); } });
- ในแถบนำทางของFirebase คอนโซล ให้คลิก การทดสอบ A/B
- คลิกฉบับร่าง วางเมาส์เหนือการทดสอบ คลิกเมนูบริบท (more_vert) แล้วคลิกจัดการอุปกรณ์ทดสอบ
- ป้อนโทเค็น FCM สำหรับอุปกรณ์ทดสอบ แล้วเลือกตัวแปรการทดสอบ ที่จะส่งไปยังอุปกรณ์ทดสอบนั้น
- เรียกใช้แอปและยืนยันว่าอุปกรณ์ทดสอบได้รับตัวแปรที่เลือก
จัดการการทดสอบ
ไม่ว่าคุณจะสร้างการทดสอบด้วย Remote Config, เครื่องมือแต่งข้อความแจ้ง หรือ Firebase In-App Messaging คุณก็สามารถตรวจสอบและเริ่มการทดสอบ จากนั้นตรวจสอบ การทดสอบขณะที่ดำเนินการอยู่ และเพิ่มจำนวนผู้ใช้ที่รวมอยู่ในการทดสอบที่ดำเนินการอยู่ ได้
เมื่อการทดสอบเสร็จสิ้น คุณสามารถจดบันทึกการตั้งค่าที่ใช้โดย เวอร์ชันที่ได้ผลลัพธ์ดีที่สุด แล้วนำการตั้งค่าเหล่านั้นไปใช้กับผู้ใช้ทั้งหมด หรือจะ ทำการทดสอบอื่นก็ได้
เริ่มการทดสอบ
- ในส่วนมีส่วนร่วมของเมนูการนำทางในFirebase Console ให้คลิก A/B Testing
- คลิกฉบับร่าง แล้วคลิกชื่อการทดสอบ
- หากต้องการตรวจสอบว่าแอปมีผู้ใช้ที่จะรวมไว้ในการทดสอบ ให้ขยายรายละเอียดฉบับร่างและตรวจสอบว่ามีตัวเลขที่มากกว่า 0% ในส่วนการกำหนดเป้าหมายและการเผยแพร่ (เช่น ผู้ใช้ 1% ที่ตรงกับเกณฑ์)
- หากต้องการเปลี่ยนการทดสอบ ให้คลิกแก้ไข
- หากต้องการเริ่มการทดสอบ ให้คลิกเริ่มการทดสอบ คุณสามารถทำการทดสอบได้สูงสุด 24 รายการต่อโปรเจ็กต์ในแต่ละครั้ง
ติดตามการทดสอบ
เมื่อการทดสอบทำงานไปสักระยะ คุณสามารถตรวจสอบความคืบหน้าและดูผลลัพธ์สำหรับผู้ใช้ที่เข้าร่วมการทดสอบจนถึงตอนนี้
- ในส่วนมีส่วนร่วมของเมนูการนำทางในFirebase Console ให้คลิก A/B Testing
คลิกกำลังทำงาน แล้วคลิกหรือค้นหาชื่อการทดสอบ ในหน้านี้ คุณจะดูสถิติต่างๆ ที่สังเกตได้และสถิติโดยประมาณ เกี่ยวกับการทดสอบที่กําลังดําเนินการได้ ซึ่งรวมถึงข้อมูลต่อไปนี้
- % ส่วนต่างจากเกณฑ์พื้นฐาน: การวัดการปรับปรุงเมตริก สำหรับตัวแปรที่กำหนดเมื่อเทียบกับเกณฑ์พื้นฐาน คำนวณโดยการเปรียบเทียบ ช่วงค่าของตัวแปรกับช่วงค่าของเกณฑ์พื้นฐาน
- ความน่าจะเป็นที่จะสูงกว่าเกณฑ์พื้นฐาน: ความน่าจะเป็นโดยประมาณที่ตัวแปรหนึ่งๆ จะมีประสิทธิภาพสูงกว่าเกณฑ์พื้นฐานสำหรับเมตริกที่เลือก
- observed_metricต่อผู้ใช้: อิงตามผลการทดสอบ นี่คือช่วงที่คาดการณ์ไว้ซึ่งค่าเมตริกจะอยู่ในช่วงนี้เมื่อเวลาผ่านไป
- ทั้งหมด observed_metric: มูลค่าสะสมที่สังเกตได้สำหรับ พื้นฐานหรือกลุ่มทดสอบ ระบบจะใช้ค่านี้เพื่อวัดประสิทธิภาพของตัวแปรการทดสอบแต่ละรายการ และใช้ในการคำนวณการปรับปรุง ช่วงมูลค่า ความน่าจะเป็นที่จะเอาชนะเกณฑ์พื้นฐาน และความน่าจะเป็นที่จะเป็นตัวแปรที่ดีที่สุด คอลัมน์นี้อาจมีป้ายกำกับว่า "ระยะเวลาต่อผู้ใช้" "รายได้ต่อผู้ใช้" "อัตราการรักษาผู้ใช้" หรือ "อัตรา Conversion" ทั้งนี้ขึ้นอยู่กับเมตริกที่วัด
หลังจากที่การทดสอบทํางานมาระยะหนึ่ง (อย่างน้อย 7 วันสําหรับ FCM และ In-App Messaging หรือ 14 วันสําหรับ Remote Config) ข้อมูลในหน้านี้ จะระบุว่าตัวแปรใด (หากมี) เป็น "ผู้นํา" การวัดบางอย่าง มาพร้อมกับแผนภูมิแท่งที่แสดงข้อมูลในรูปแบบภาพ
เปิดตัวการทดสอบต่อผู้ใช้ทั้งหมด
หลังจากทำการทดสอบนานพอจนได้ "ผู้นำ" หรือตัวแปรที่ได้ผลดีที่สุดสำหรับเมตริกเป้าหมายแล้ว คุณสามารถเผยแพร่การทดสอบให้ผู้ใช้ทั้ง 100% ได้ ซึ่งจะช่วยให้คุณเลือกตัวแปรเพื่อเผยแพร่ไปยังผู้ใช้ทั้งหมดในอนาคตได้ แม้การทดสอบจะไม่สามารถระบุผู้ชนะที่ชัดเจนได้ แต่คุณก็ยังเลือกที่จะ เผยแพร่ตัวแปรให้ผู้ใช้ทั้งหมดเห็นได้
- ในส่วนมีส่วนร่วมของเมนูการนำทางในFirebase Console ให้คลิก A/B Testing
- คลิกเสร็จสมบูรณ์หรือกำลังดำเนินการ คลิกการทดสอบที่ต้องการ เผยแพร่ต่อผู้ใช้ทั้งหมด คลิกเมนูบริบท ( ) เปิดตัวเวอร์ชันทดแทน
เปิดตัวการทดสอบต่อผู้ใช้ทั้งหมดโดยทำอย่างใดอย่างหนึ่งต่อไปนี้
- สำหรับการทดสอบที่ใช้เครื่องมือแต่งข้อความแจ้ง ให้ใช้กล่องโต้ตอบข้อความเปิดตัวเพื่อส่งข้อความไปยังผู้ใช้เป้าหมายที่เหลือซึ่งไม่ได้เข้าร่วมการทดสอบ
- สําหรับการทดสอบ Remote Config ให้เลือกเวอร์ชันเพื่อกําหนดค่าพารามิเตอร์ Remote Config ที่จะอัปเดต เกณฑ์การกำหนดเป้าหมายที่ระบุไว้ ตอนสร้างการทดสอบจะเพิ่มไว้เป็นเงื่อนไขใหม่ใน เทมเพลต เพื่อให้การเริ่มใช้ตัวแปรมีผลกับผู้ใช้ที่การทดสอบนี้กำหนดเป้าหมายไว้เท่านั้น หลังจากคลิกตรวจสอบในการกำหนดค่าระยะไกลเพื่อตรวจสอบ การเปลี่ยนแปลงแล้ว ให้คลิกเผยแพร่การเปลี่ยนแปลงเพื่อดำเนินการใช้ตัวแปรให้เสร็จสิ้น
- สําหรับการทดสอบ In-App Messaging ให้ใช้กล่องโต้ตอบเพื่อกําหนดว่า ตัวแปรใดที่ต้องเปิดตัวเป็นแคมเปญ In-App Messaging แบบสแตนด์อโลน เมื่อเลือกแล้ว ระบบจะเปลี่ยนเส้นทางคุณไปยังหน้าจอเขียน FIAM เพื่อทำการเปลี่ยนแปลง (หากจำเป็น) ก่อนเผยแพร่
ขยายการทดสอบ
หากพบว่าการทดสอบไม่ได้ดึงดูดผู้ใช้มากพอสำหรับ A/B Testing ในการประกาศผู้นำ คุณสามารถเพิ่มการกระจายการทดสอบเพื่อเข้าถึง ฐานผู้ใช้ของแอปในเปอร์เซ็นต์ที่มากขึ้นได้
- ในส่วนมีส่วนร่วมของเมนูการนำทางในFirebase Console ให้คลิก A/B Testing
- เลือกการทดสอบที่กำลังทำงานซึ่งคุณต้องการแก้ไข
- ในภาพรวมการทดสอบ ให้คลิก เมนูบริบท ( ) แล้วคลิกแก้ไขการทดสอบที่กําลังทํางาน
- กล่องโต้ตอบการกำหนดเป้าหมายจะแสดงตัวเลือกในการเพิ่มเปอร์เซ็นต์ของ ผู้ใช้ที่อยู่ในการทดสอบที่กำลังดำเนินการ เลือกตัวเลขที่มากกว่า เปอร์เซ็นต์ปัจจุบัน แล้วคลิกเผยแพร่ ระบบจะ ส่งการทดสอบไปยังเปอร์เซ็นต์ของผู้ใช้ที่คุณระบุ
ทำซ้ำหรือหยุดการทดสอบ
- ในส่วนมีส่วนร่วมของเมนูการนำทางในFirebase Console ให้คลิก A/B Testing
- คลิกเสร็จสมบูรณ์หรือกําลังทํางาน วางเมาส์เหนือการทดสอบ คลิกเมนูบริบท ( ) แล้ว คลิกทําซ้ำการทดสอบหรือหยุดการทดสอบ
การกำหนดเป้าหมายตามผู้ใช้
คุณกำหนดเป้าหมายผู้ใช้ที่จะรวมไว้ในการทดสอบได้โดยใช้เกณฑ์การกำหนดเป้าหมายผู้ใช้ต่อไปนี้
เกณฑ์การกำหนดเป้าหมาย | ผู้ประกอบธุรกิจ | ค่า | หมายเหตุ |
---|---|---|---|
เวอร์ชัน | มี
ไม่มี ตรงกันทั้งหมด มีนิพจน์ทั่วไป |
ป้อนค่าสำหรับแอปเวอร์ชันอย่างน้อย 1 รายการที่ต้องการรวมไว้ในการ ทดสอบ |
เมื่อใช้โอเปอเรเตอร์ contains, does not contain หรือ matches exactly คุณจะระบุรายการค่าที่คั่นด้วยคอมมาได้ เมื่อใช้ตัวดำเนินการมีนิพจน์ทั่วไป คุณจะสร้างนิพจน์ทั่วไปในรูปแบบ RE2 ได้ นิพจน์ทั่วไปสามารถจับคู่สตริงเวอร์ชันเป้าหมายทั้งหมดหรือบางส่วนได้ คุณยังใช้เครื่องหมายยึด ^ และ $ เพื่อจับคู่ จุดเริ่มต้น จุดสิ้นสุด หรือทั้งสตริงเป้าหมายได้ด้วย |
กลุ่มเป้าหมายที่เป็นผู้ใช้ | รวมทั้งหมด
รวมอย่างน้อย 1 รายการ ไม่รวมทั้งหมด ไม่รวมอย่างน้อย 1 รายการ |
เลือกAnalyticsกลุ่มเป้าหมายอย่างน้อย 1 กลุ่มเพื่อกำหนดเป้าหมายผู้ใช้ที่อาจรวมอยู่ในการทดสอบ | การทดสอบบางรายการที่กำหนดเป้าหมายไปยังกลุ่มเป้าหมาย Google Analytics อาจต้องใช้เวลา 2-3 วันในการสะสมข้อมูลเนื่องจากขึ้นอยู่กับAnalytics เวลาในการประมวลผลข้อมูล คุณมีแนวโน้มที่จะพบความล่าช้านี้กับผู้ใช้ใหม่ ซึ่งโดยปกติแล้วระบบจะลงทะเบียนผู้ใช้ใหม่ในกลุ่มเป้าหมายที่มีสิทธิ์ 24-48 ชั่วโมงหลังจากการสร้าง หรือสำหรับกลุ่มเป้าหมายที่สร้างขึ้นใหม่ |
พร็อพเพอร์ตี้ผู้ใช้ | สำหรับข้อความ:
มี ไม่มี ตรงกันทุกประการ มีนิพจน์ทั่วไป สำหรับตัวเลข: <, ≤, =, ≥, > |
Analyticsพร็อพเพอร์ตี้ผู้ใช้ใช้เพื่อเลือกผู้ใช้ที่อาจรวมอยู่
ในการทดสอบ โดยมีตัวเลือกมากมายสําหรับการเลือกค่าพร็อพเพอร์ตี้ผู้ใช้
ในไคลเอ็นต์ คุณจะตั้งค่าสตริงสำหรับพร็อพเพอร์ตี้ผู้ใช้ได้เท่านั้น สําหรับเงื่อนไขที่ใช้นิพจน์ตัวเลข Remote Config บริการจะแปลงค่าของพร็อพเพอร์ตี้ผู้ใช้ที่เกี่ยวข้อง เป็นจํานวนเต็ม/ทศนิยม |
เมื่อใช้ตัวดำเนินการมีนิพจน์ทั่วไป คุณจะสร้างนิพจน์ทั่วไปในรูปแบบ RE2 ได้ นิพจน์ทั่วไปสามารถจับคู่สตริงเวอร์ชันเป้าหมายทั้งหมดหรือบางส่วนได้ คุณยังใช้เครื่องหมายยึด ^ และ $ เพื่อจับคู่ จุดเริ่มต้น จุดสิ้นสุด หรือทั้งสตริงเป้าหมายได้ด้วย |
ประเทศ/ภูมิภาค | ไม่มี | ประเทศหรือภูมิภาคอย่างน้อย 1 แห่งที่ใช้ในการเลือกผู้ใช้ที่อาจรวมอยู่ ในการทดสอบ | |
ภาษา | ไม่มี | ภาษาและภาษาท้องถิ่นอย่างน้อย 1 รายการที่ใช้เพื่อเลือกผู้ใช้ที่อาจรวมอยู่ ในการทดสอบ | |
การเปิดครั้งแรก |
มากกว่า
น้อยกว่า ระหว่าง |
กำหนดเป้าหมายผู้ใช้ตามครั้งแรกที่ผู้ใช้เปิดแอปของคุณ โดยระบุเป็นวัน | |
การมีส่วนร่วมกับแอปครั้งล่าสุด |
มากกว่า
น้อยกว่า ระหว่าง |
กำหนดเป้าหมายผู้ใช้ตามครั้งสุดท้ายที่ผู้ใช้มีส่วนร่วมกับแอปของคุณ โดยระบุเป็นวัน |
เมตริก A/B Testing รายการ
เมื่อสร้างการทดสอบ คุณจะเลือกเมตริกหลักหรือเมตริกเป้าหมายที่จะใช้ในการพิจารณาตัวแปรที่ได้ผลดีที่สุด นอกจากนี้ คุณควรติดตามเมตริกอื่นๆ เพื่อช่วยให้เข้าใจประสิทธิภาพของแต่ละเวอร์ชันในการทดสอบได้ดียิ่งขึ้น และติดตามแนวโน้มสำคัญที่อาจแตกต่างกันในแต่ละเวอร์ชัน เช่น การคงผู้ใช้ไว้ ความเสถียรของแอป และรายได้จากการซื้อในแอป คุณติดตามเมตริกที่ไม่ใช่เป้าหมายได้สูงสุด 5 รายการในการทดสอบ
ตัวอย่างเช่น สมมติว่าคุณได้เพิ่มการซื้อในแอปใหม่ลงในแอปและต้องการ เปรียบเทียบประสิทธิภาพของข้อความ "กระตุ้น" 2 แบบที่แตกต่างกัน ในกรณีนี้ คุณอาจเลือกตั้งค่ารายได้จากการซื้อเป็นเมตริกเป้าหมาย เนื่องจากต้องการให้ตัวแปรที่ชนะแสดงการแจ้งเตือนที่ ทําให้เกิดรายได้จากการซื้อในแอปสูงสุด และเนื่องจากคุณต้องการติดตามว่าตัวแปรใดที่ทำให้เกิด 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 เหตุการณ์ที่ทริกเกอร์เมื่อผู้ใช้เปิดแอปเป็นครั้งแรกหลังจาก ติดตั้งหรือติดตั้งอีกครั้ง ใช้เป็นส่วนหนึ่งของ 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: นี่คือรหัสพร็อพเพอร์ตี้ 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
หลังจากรวบรวมข้อมูลที่จำเป็นในการสร้างคำค้นหาแล้ว ให้ทำดังนี้
- เปิด 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 TestingGoogle 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