เมื่อใช้ Firebase Remote Config เพื่อติดตั้งใช้งานการตั้งค่าสำหรับแอปพลิเคชันที่มีฐานผู้ใช้ที่ใช้งานอยู่ คุณต้องตรวจสอบว่าคุณดำเนินการอย่างถูกต้อง คุณสามารถใช้การทดสอบ A/B Testing เพื่อพิจารณาสิ่งต่อไปนี้ได้ดีที่สุด
- วิธีที่ดีที่สุดในการใช้ฟีเจอร์เพื่อเพิ่มประสิทธิภาพประสบการณ์ของผู้ใช้ บ่อยครั้งที่นักพัฒนาแอปไม่ทราบว่าผู้ใช้ไม่ชอบฟีเจอร์ใหม่หรือประสบการณ์ของผู้ใช้ที่อัปเดตจนกว่าคะแนนของแอปใน App Store จะลดลง A/B Testing ช่วยวัดได้ว่าผู้ใช้ชอบฟีเจอร์รูปแบบใหม่ๆ หรือชอบแอปในรูปแบบเดิมมากกว่า นอกจากนี้ การเก็บผู้ใช้ส่วนใหญ่ไว้ในกลุ่มพื้นฐานจะช่วยให้มั่นใจได้ว่าฐานผู้ใช้ส่วนใหญ่จะใช้แอปต่อไปได้โดยไม่พบการเปลี่ยนแปลงลักษณะการทำงานหรือรูปลักษณ์จนกว่าการทดสอบจะสิ้นสุดลง
- วิธีที่ดีที่สุดในการเพิ่มประสิทธิภาพประสบการณ์ของผู้ใช้สำหรับเป้าหมายทางธุรกิจ บางครั้งคุณอาจทำการเปลี่ยนแปลงผลิตภัณฑ์เพื่อเพิ่มเมตริก เช่น รายได้หรือการคงผู้ใช้ไว้ให้ได้มากที่สุด เมื่อใช้ A/B Testing คุณจะกำหนดวัตถุประสงค์ทางธุรกิจ และ Firebase จะทำการวิเคราะห์ทางสถิติเพื่อพิจารณาว่าตัวแปรมีประสิทธิภาพเหนือกว่าเกณฑ์พื้นฐานสำหรับวัตถุประสงค์ที่คุณเลือกหรือไม่
หากต้องการทดสอบ A/B ตัวแปรของฟีเจอร์กับตัวแปรพื้นฐาน ให้ทำดังนี้
- สร้างการทดสอบ
- จัดการการทดสอบ
สร้างการทดสอบ
การทดสอบ Remote Config ช่วยให้คุณประเมินตัวแปรหลายรายการในพารามิเตอร์ Remote Config อย่างน้อย 1 รายการได้
ยืนยันว่าเปิดใช้ Google Analytics ในโปรเจ็กต์แล้วเพื่อให้การทดสอบมีสิทธิ์เข้าถึงข้อมูล Analytics
หากไม่ได้เปิดใช้ Google Analytics เมื่อสร้างโปรเจ็กต์ คุณสามารถเปิดใช้ได้ใน
แท็บการตั้งค่า > การผสานรวมของคอนโซล Firebaseในคอนโซล Firebase ให้ไปที่ DevOps และการมีส่วนร่วม > A/B Testing
คลิกสร้างการทดสอบ แล้วเลือก Remote Config เมื่อระบบถามถึงบริการที่คุณต้องการทดสอบ
ในส่วนตัวแปร ให้เลือกเกณฑ์พื้นฐานและตัวแปรอย่างน้อย 1 รายการสําหรับการทดสอบ คุณสามารถเพิ่มพารามิเตอร์อย่างน้อย 1 รายการเพื่อทำการทดสอบ คุณสามารถทำขั้นตอนนี้ซ้ำเพื่อเพิ่มพารามิเตอร์หลายรายการในการทดสอบ
(ไม่บังคับ) หากต้องการเพิ่มตัวแปรมากกว่า 1 รายการในการทดสอบ ให้คลิกเพิ่มตัวแปรอื่น
เปลี่ยนพารามิเตอร์อย่างน้อย 1 รายการสำหรับตัวแปรที่เฉพาะเจาะจง พารามิเตอร์ที่ไม่มีการเปลี่ยนแปลงจะเหมือนกันสำหรับผู้ใช้ที่ไม่ได้รวมอยู่ในการทดสอบ
ขยายน้ำหนักของตัวแปรเพื่อดูหรือเปลี่ยนน้ำหนักของตัวแปรสำหรับการทดสอบ แต่ค่าเริ่มต้นจะกำหนดให้ตัวแปรต่างๆ มีน้ำหนักเท่ากัน โปรดทราบว่าน้ำหนักที่ต่างกันอาจทำให้ใช้เวลาเก็บข้อมูลนานขึ้น และไม่สามารถปรับเปลี่ยนน้ำหนักได้หลังจากเริ่มการทดสอบแล้ว
กำหนดเกณฑ์การกำหนดเป้าหมายสำหรับการทดสอบโดยใช้เงื่อนไข Remote Config รายการ ดังนี้
ใช้เงื่อนไขที่มีอยู่ซ้ำ: หากเงื่อนไขที่มีอยู่ในเทมเพลต Remote Config ตรงกับกลุ่มเป้าหมายอยู่แล้ว ให้เลือกเงื่อนไขนั้นจากรายการ
ยืนยันลำดับการประเมินเงื่อนไข: ตรวจสอบว่าเงื่อนไขในหน้าเงื่อนไขได้รับการจัดระเบียบตามลำดับความสำคัญที่ถูกต้อง เนื่องจาก Remote Config ประเมินเงื่อนไขตามลำดับจากบนลงล่าง เงื่อนไขอื่นๆ ที่มีลำดับความสำคัญสูงกว่าอาจทำให้ผู้ใช้จำนวนมากไม่สามารถเข้าถึงเงื่อนไขที่เชื่อมโยงกับการทดสอบของคุณ
สร้างเงื่อนไขใหม่: หากไม่มีเงื่อนไขที่มีอยู่ตรงตามข้อกำหนดการกำหนดเป้าหมาย หรือหากต้องการทำซ้ำเงื่อนไขที่มีอยู่ (เช่น เพื่อหลีกเลี่ยงการล็อกเงื่อนไขที่พารามิเตอร์อื่นๆ ใช้ร่วมกัน) ให้สร้างเงื่อนไขใหม่โดยเลือกแอปที่ใช้การทดสอบก่อน หากพารามิเตอร์ที่คุณกำลังทดสอบใช้เงื่อนไขที่มีอยู่ (หรือเงื่อนไขอื่นที่ทับซ้อนกัน) ด้วย ให้ตรวจสอบว่าเงื่อนไขการทดสอบใหม่อยู่เหนือเงื่อนไขที่มีอยู่ในแท็บเงื่อนไข (ทำให้มีลำดับความสำคัญในการประเมินสูงกว่า) ไม่เช่นนั้น ผู้ใช้จะตรงกับเงื่อนไขที่มีอยู่ก่อนและจะไม่เข้าสู่การทดสอบ
จากนั้นคุณสามารถกำหนดเป้าหมายผู้ใช้ชุดย่อยที่เฉพาะเจาะจงได้โดยคลิกและ แล้วเลือกตัวเลือกอย่างน้อย 1 รายการจากรายการต่อไปนี้
- เวอร์ชัน: แอปของคุณอย่างน้อย 1 เวอร์ชัน
- หมายเลขบิลด์: หมายเลขบิลด์ (Apple) หรือรหัสเวอร์ชัน (Android) ของแอป
- แพลตฟอร์ม: แพลตฟอร์มอย่างน้อย 1 รายการ (iOS, Android หรือเว็บ) ที่จะกำหนดเป้าหมาย
- ระบบปฏิบัติการ: กำหนดเป้าหมายผู้ใช้เว็บแอปตามระบบปฏิบัติการและเวอร์ชัน
- เบราว์เซอร์: กำหนดเป้าหมายผู้ใช้เว็บแอปตามเว็บเบราว์เซอร์และเวอร์ชันเบราว์เซอร์
- หมวดหมู่อุปกรณ์: กำหนดเป้าหมายผู้ใช้เว็บแอปโดยพิจารณาว่าอุปกรณ์เป็นอุปกรณ์เคลื่อนที่หรือไม่
- ภาษา: ภาษาและภาษาถิ่นอย่างน้อย 1 รายการที่ใช้ในการเลือกผู้ใช้ที่อาจรวมอยู่ในการทดสอบ
- ประเทศ/ภูมิภาค: ประเทศหรือภูมิภาคอย่างน้อย 1 แห่งสำหรับการเลือกผู้ใช้ที่ควรจะรวมอยู่ในการทดสอบ
- กลุ่มเป้าหมายผู้ใช้: กลุ่มเป้าหมาย Analytics ที่ใช้เพื่อกำหนดเป้าหมายผู้ใช้ที่อาจรวมอยู่ในการทดสอบ
- พร็อพเพอร์ตี้ผู้ใช้: พร็อพเพอร์ตี้ผู้ใช้ Analytics อย่างน้อย 1 รายการสําหรับเลือกผู้ใช้ที่อาจรวมอยู่ในการทดสอบ
- ผู้ใช้ในเปอร์เซ็นต์แบบสุ่ม: กำหนดเป้าหมายเปอร์เซ็นต์ของผู้ใช้ที่เลือกแบบสุ่มภายในช่วงเปอร์เซ็นไทล์ที่กำหนด
- กลุ่มที่นำเข้า: กำหนดเป้าหมายผู้ใช้ที่อยู่ในกลุ่มที่นำเข้าที่กำหนดเองซึ่งอัปโหลดไปยังโปรเจ็กต์
- วันที่/เวลา: กำหนดเป้าหมายผู้ใช้ตามกรอบวันที่และเวลาที่ระบุ
- เปิดครั้งแรก: กำหนดเป้าหมายผู้ใช้ตามครั้งแรกที่เปิดแอป
- รหัสการติดตั้ง: กำหนดเป้าหมายอุปกรณ์ทดสอบหรืออินสแตนซ์ไคลเอ็นต์ที่เฉพาะเจาะจงโดยใช้รหัสการติดตั้ง Firebase (FID)
- ผู้ใช้มีอยู่: กำหนดเป้าหมายเป็นผู้ใช้ทั้งหมดในแอปทั้งหมดในโปรเจ็กต์
- สัญญาณที่กำหนดเอง: กำหนดเป้าหมายผู้ใช้ตามสัญญาณคีย์-ค่าฝั่งไคลเอ็นต์ที่กำหนดเองซึ่งส่งผ่านในรันไทม์
ตั้งค่าการแสดงผล: ป้อนเปอร์เซ็นต์ของฐานผู้ใช้แอปที่ตรงกับเกณฑ์ที่ตั้งไว้ในส่วนผู้ใช้เป้าหมาย ซึ่งคุณต้องการแบ่งอย่างเท่าๆ กันระหว่างกลุ่มฐานและตัวแปรอย่างน้อย 1 รายการในการทดสอบ ซึ่งอาจเป็นเปอร์เซ็นต์ใดก็ได้ระหว่าง 0% ถึง 100% ระบบจะสุ่มผู้ใช้ให้กับการทดสอบแต่ละรายการ รวมถึงการทดสอบที่ซ้ำกัน
คุณสามารถตั้งค่าเหตุการณ์การเปิดใช้งานเพื่อให้แน่ใจว่าระบบจะนับเฉพาะข้อมูลจากผู้ใช้ที่เรียกเหตุการณ์ Analytics ให้แสดงเป็นครั้งแรกในการทดสอบ โปรดทราบว่าผู้ใช้ทั้งหมดที่ตรงกับพารามิเตอร์การกำหนดเป้าหมายจะได้รับค่าทดสอบ Remote Config แต่เฉพาะผู้ที่เรียกเหตุการณ์การเปิดใช้งานเท่านั้นที่จะรวมอยู่ในผลการทดสอบ
เพื่อให้การทดสอบถูกต้อง โปรดตรวจสอบว่าเหตุการณ์ที่คุณเลือกเกิดขึ้นหลังจากที่แอปเปิดใช้งานค่าการกำหนดค่าที่ดึงมา นอกจากนี้ คุณไม่สามารถใช้เหตุการณ์ต่อไปนี้ได้เนื่องจากเหตุการณ์เหล่านี้จะเกิดขึ้นก่อนที่ค่าที่ดึงมาจะเปิดใช้งานเสมอ
app_installapp_removeapp_update
เหตุการณ์ Analytics ที่คุณเลือกเป็นเหตุการณ์การเปิดใช้งานต้องไม่ใช้เป็นเมตริกหลัก (หรือเป็นเมตริกเพิ่มเติม) ในการทดสอบเดียวกัน การดำเนินการดังกล่าวจะทำให้เกิดข้อผิดพลาดในการตรวจสอบความถูกต้องในคอนโซล Firebase และทำให้การทดสอบไม่เริ่มทำงาน
สําหรับเป้าหมายของการทดสอบ ให้เลือกเมตริกหลักที่จะติดตาม และเพิ่มเมตริกอื่นๆ ที่ต้องการติดตามจากรายการ ซึ่งรวมถึงวัตถุประสงค์ในตัว (การซื้อ รายได้ การคงผู้ใช้ไว้ ผู้ใช้ที่ไม่พบข้อขัดข้อง ฯลฯ) เหตุการณ์ Conversion ของ Analytics และเหตุการณ์อื่นๆ ของ Analytics คลิกถัดไปเมื่อเสร็จสิ้น
คลิกบันทึกเพื่อบันทึกการทดสอบ คุณต้องเผยแพร่เทมเพลตเพื่อเริ่มทำการทดสอบ
คุณสามารถทำการทดสอบได้สูงสุด 300 รายการต่อโปรเจ็กต์ (รวมถึงการเปิดตัว) ซึ่งอาจประกอบด้วยการทดสอบและการเปิดตัวที่ทำงานอยู่สูงสุด 24 รายการ โดยที่เหลือเป็นการทดสอบที่เสร็จสมบูรณ์แล้ว
จัดการการทดสอบ
เมื่อสร้างการทดสอบด้วย Remote Config คุณจะเริ่มการทดสอบ ตรวจสอบการทดสอบขณะที่ทำงานอยู่ และเพิ่มจำนวนผู้ใช้ที่รวมอยู่ในการทดสอบที่ทำงานอยู่ได้
เมื่อการทดสอบเสร็จสิ้น คุณสามารถจดบันทึกการตั้งค่าที่ใช้โดยตัวแปรที่ชนะ แล้วนำการตั้งค่าเหล่านั้นไปใช้กับผู้ใช้ทั้งหมด หรือจะทำการทดสอบอื่นก็ได้
แก้ไขการทดสอบ
- ในส่วน DevOps & Engagement ของเมนูการนำทางในคอนโซล Firebase ให้คลิก Remote Config
- คลิกแท็บการทดสอบ A/B
- คลิกกำลังทำงาน แล้วคลิกการทดสอบที่ต้องการแก้ไข
- คลิกเมนูตามบริบท () แล้วคลิกแก้ไขการทดสอบที่ทำงานอยู่
- หากต้องการตรวจสอบว่าแอปมีผู้ใช้ที่จะรวมอยู่ในการทดสอบหรือไม่ ให้ขยายรายละเอียดและตรวจสอบตัวเลขที่มากกว่า 0% ในส่วนการกำหนดเป้าหมายและการเผยแพร่ (เช่น 1% ของผู้ใช้ที่ตรงตามเกณฑ์)
ติดตามการทดสอบ
เมื่อการทดสอบทำงานมาระยะหนึ่งแล้ว คุณสามารถตรวจสอบความคืบหน้าและดูผลลัพธ์ของผู้ใช้ที่เข้าร่วมการทดสอบจนถึงตอนนี้
- ในส่วน DevOps & Engagement ของเมนูการนำทางในคอนโซล Firebase ให้คลิก Remote Config
- คลิกแท็บการทดสอบ A/B
คลิกกำลังทำงาน แล้วคลิกหรือค้นหาชื่อการทดสอบ ในหน้านี้ คุณสามารถดูสถิติที่สังเกตได้และสถิติโดยประมาณต่างๆ เกี่ยวกับการทดสอบที่ทำงานอยู่ ซึ่งรวมถึงข้อมูลต่อไปนี้
- % ความแตกต่างจากเกณฑ์พื้นฐาน: การวัดการปรับปรุงเมตริกสำหรับตัวแปรหนึ่งๆ เมื่อเทียบกับเกณฑ์พื้นฐาน คำนวณโดยการเปรียบเทียบช่วงค่าของตัวแปรกับช่วงค่าของเกณฑ์พื้นฐาน
- ความน่าจะเป็นที่จะสูงกว่าเกณฑ์พื้นฐาน: ความน่าจะเป็นโดยประมาณที่ตัวแปรหนึ่งๆ จะสูงกว่าเกณฑ์พื้นฐานสำหรับเมตริกที่เลือก
- observed_metric ต่อผู้ใช้: ช่วงที่คาดการณ์ว่าค่าเมตริกจะลดลงเมื่อเวลาผ่านไป โดยอิงตามผลการทดสอบ
- observed_metric ทั้งหมด: มูลค่าสะสมที่สังเกตได้สำหรับฐานหรือตัวแปร มูลค่านี้ใช้เพื่อวัดประสิทธิภาพของตัวแปรการทดสอบแต่ละรายการ และใช้เพื่อคำนวณการปรับปรุง ช่วงมูลค่า ความน่าจะเป็นที่จะสูงกว่าเกณฑ์พื้นฐาน และความน่าจะเป็นที่จะเป็นตัวแปรที่ดีที่สุด คอลัมน์นี้อาจมีป้ายกำกับว่า "ระยะเวลาต่อผู้ใช้" "รายได้ต่อผู้ใช้" "อัตราการคงผู้ใช้ไว้" หรือ "อัตรา Conversion" ทั้งนี้ขึ้นอยู่กับเมตริกที่วัด
หลังจากทำการทดสอบไปสักระยะหนึ่ง (14 วันสำหรับ Remote Config) ข้อมูลในหน้านี้จะระบุว่าตัวแปรใด (หากมี) เป็น "ผู้นำ" การวัดผลบางรายการจะมาพร้อมกับแผนภูมิแท่งที่แสดงข้อมูลในรูปแบบภาพ
เปิดตัวการทดสอบกับผู้ใช้ทุกคน
หลังจากทำการทดสอบนานพอจนได้ "ผู้นำ" หรือตัวแปรที่ได้ผลดีที่สุดสำหรับเมตริกเป้าหมายแล้ว คุณสามารถเผยแพร่การทดสอบกับผู้ใช้ทั้ง 100% ได้ ซึ่งจะช่วยให้เลือกตัวแปรเพื่อเผยแพร่ไปยังผู้ใช้ทั้งหมดในอนาคตได้ แม้การทดสอบจะไม่สามารถระบุผู้ชนะที่ชัดเจนได้ แต่คุณก็ยังเลือกเผยแพร่ตัวแปรให้ผู้ใช้ทั้งหมดเห็นได้
- ในส่วน DevOps & Engagement ของเมนูการนำทางในคอนโซล Firebase ให้คลิก Remote Config
- คลิกแท็บการทดสอบ A/B
- คลิกเสร็จสมบูรณ์หรือกำลังทำงาน คลิกการทดสอบที่ต้องการเผยแพร่ให้ผู้ใช้ทุกคน คลิกเมนูตามบริบท () เปิดตัวตัวแปร
- เปิดตัวการทดสอบกับผู้ใช้ทั้งหมดโดยทำดังนี้
- สำหรับการทดสอบ Remote Config ให้เลือกตัวแปรเพื่อกำหนดค่าพารามิเตอร์ Remote Config ที่จะอัปเดต เกณฑ์การกำหนดเป้าหมายที่ระบุไว้ตอนสร้างการทดสอบจะเพิ่มไว้เป็นเงื่อนไขใหม่ในเทมเพลต เพื่อให้การเริ่มใช้ตัวแปรมีผลกับผู้ใช้ที่การทดสอบนี้กำหนดเป้าหมายไว้เท่านั้น หลังจากคลิกตรวจสอบในการกำหนดค่าระยะไกลเพื่อตรวจสอบการเปลี่ยนแปลงแล้ว ให้คลิกเผยแพร่การเปลี่ยนแปลงเพื่อดำเนินการใช้ตัวแปรให้เสร็จสิ้น
ขยายการทดสอบ
หากพบว่าการทดสอบไม่สามารถดึงดูดผู้ใช้ได้มากพอที่ A/B Testing จะประกาศตัวแปรที่ได้ผลดีที่สุด คุณสามารถเพิ่มการกระจายการทดสอบเพื่อเข้าถึงฐานผู้ใช้ของแอปในเปอร์เซ็นต์ที่มากขึ้นได้
- ในส่วน DevOps & Engagement ของเมนูการนำทางในคอนโซล Firebase ให้คลิก Remote Config
- คลิกแท็บการทดสอบ A/B
- เลือกการทดสอบที่ทำงานอยู่ซึ่งคุณต้องการแก้ไข
- ในภาพรวมการทดสอบ ให้คลิกเมนูตามบริบท () แล้วคลิกแก้ไขการทดสอบที่ทํางานอยู่
- กล่องโต้ตอบการกำหนดเป้าหมายจะแสดงตัวเลือกในการเพิ่มเปอร์เซ็นต์ของผู้ใช้ที่อยู่ในการทดสอบที่กำลังดำเนินอยู่ เลือกตัวเลขที่มากกว่าเปอร์เซ็นต์ปัจจุบัน แล้วคลิกเผยแพร่ ระบบจะส่งการทดสอบไปยังผู้ใช้ ตามเปอร์เซ็นต์ที่คุณระบุไว้
ทำซ้ำการทดสอบ
- ในส่วน DevOps & Engagement ของเมนูการนำทางในคอนโซล Firebase ให้คลิก Remote Config
- คลิกแท็บการทดสอบ A/B
- เลือกการทดสอบที่กำลังทำงานอยู่หรือเสร็จสมบูรณ์แล้วซึ่งคุณต้องการหยุด
- คลิกเสร็จสมบูรณ์หรือกำลังทำงาน วางเคอร์เซอร์เหนือการทดสอบ คลิกเมนูตามบริบท () แล้วคลิกทำซ้ำการทดสอบหรือหยุดการทดสอบ
หยุดการทดสอบ
- ในส่วน DevOps & Engagement ของเมนูการนำทางในคอนโซล Firebase ให้คลิก Remote Config
- คลิกแท็บการทดสอบ A/B
- เลือกการทดสอบที่กำลังทำงานอยู่หรือเสร็จสมบูรณ์แล้วซึ่งคุณต้องการหยุด
- คลิกเสร็จสมบูรณ์หรือกำลังทำงาน วางเคอร์เซอร์เหนือการทดสอบ คลิกเมนูตามบริบท () แล้วคลิกหยุดการทดสอบ
การระบุตัวตนไคลเอ็นต์บนเว็บและความต่อเนื่องของการทดสอบ
เมื่อผู้ใช้เปิดเว็บแอปพลิเคชันโดยใช้ Firebase A/B Testing ในเบราว์เซอร์เป็นครั้งแรก ระบบจะสร้างรหัสการติดตั้ง Firebase (FID) ที่ไม่ซ้ำกัน FID นี้จะจัดเก็บไว้อย่างถาวรใน IndexedDB ของเบราว์เซอร์เพื่อระบุอินสแตนซ์ของแอปในเซสชันต่างๆ
Firebase A/B Testing ใช้ FID เพื่อกำหนดผู้ใช้ให้กับตัวแปรการทดสอบ และ Google Analytics ใช้ FID เพื่อรวมเหตุการณ์เพื่อวัดและวิเคราะห์พฤติกรรมของผู้ใช้ภายในตัวแปรแต่ละรายการ
เนื่องจาก FID จัดเก็บอยู่ใน IndexedDB Firebase A/B Testing จะถือว่าผู้ใช้เป็นผู้ใช้ใหม่หากเข้าถึงแอปจากเบราว์เซอร์อื่นหรือในหน้าต่างที่ไม่ระบุตัวตน หรือหากล้าง IndexedDB ของเบราว์เซอร์ ซึ่งหมายความว่าผู้ใช้อาจรวมอยู่ในตัวแปรการทดสอบที่แตกต่างกันเมื่อใช้เบราว์เซอร์หรือเซสชันการท่องเว็บที่แตกต่างกัน
การกำหนดเป้าหมายผู้ใช้
คุณสามารถกำหนดเป้าหมายผู้ใช้ที่จะรวมไว้ในการทดสอบได้โดยใช้เกณฑ์การกำหนดเป้าหมายผู้ใช้ต่อไปนี้
คอนโซล Firebase รองรับกฎประเภทต่อไปนี้ ฟีเจอร์ที่เทียบเท่ามีให้บริการใน Remote Config REST API ตามที่อธิบายไว้ในข้อมูลอ้างอิงนิพจน์แบบมีเงื่อนไข
| ประเภทของกฎ | ผู้ประกอบธุรกิจ | ค่า | หมายเหตุ |
| แอป | == | เลือกรหัสแอปจากรายการรหัสแอปสำหรับแอปที่เชื่อมโยงกับโปรเจ็กต์ Firebase | เมื่อเพิ่มแอปลงใน Firebase คุณต้องป้อนรหัสชุดหรือชื่อแพ็กเกจ Android ที่กำหนดแอตทริบิวต์ซึ่งแสดงเป็นรหัสแอปในกฎ Remote Config
ใช้แอตทริบิวต์นี้ดังนี้
|
| เวอร์ชันของแอป |
สำหรับค่าสตริง: ตรงกันทุกประการ, มี, ไม่มี, มีนิพจน์ทั่วไป สำหรับค่าตัวเลข: <, <=, =, !=, >, >= |
ระบุเวอร์ชันของแอปที่จะกำหนดเป้าหมาย ก่อนใช้กฎนี้ คุณต้องใช้กฎรหัสแอปเพื่อเลือกแอป Android/Apple ที่เชื่อมโยงกับโปรเจ็กต์ Firebase |
สำหรับแพลตฟอร์ม Apple: ใช้ CFBundleShortVersionString ของแอป หมายเหตุ: ตรวจสอบว่าแอป Apple ใช้ Firebase Apple Platforms SDK เวอร์ชัน 6.24.0 ขึ้นไป เนื่องจากระบบจะไม่ส่ง CFBundleShortVersionString ในเวอร์ชันก่อนหน้า (ดูบันทึกประจำรุ่น) สำหรับ Android: ใช้ versionName ของแอป หมายเหตุ: โอเปอเรเตอร์การเปรียบเทียบตัวเลข ( การเปรียบเทียบสตริงสำหรับกฎนี้จะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ เมื่อใช้โอเปอเรเตอร์ตรงกันทุกประการ มี ไม่มี หรือมีนิพจน์ทั่วไป คุณจะเลือกค่าได้หลายค่า เมื่อใช้โอเปอเรเตอร์มีนิพจน์ทั่วไป คุณจะสร้างนิพจน์ทั่วไปในรูปแบบ RE2 ได้ นิพจน์ทั่วไปจับคู่สตริงเวอร์ชันเป้าหมายทั้งหมดหรือบางส่วนได้ นอกจากนี้ คุณยังใช้ Anchor ^ และ $ เพื่อจับคู่จุดเริ่มต้น จุดสิ้นสุด หรือสตริงเป้าหมายทั้งหมดได้ด้วย |
| หมายเลขบิลด์ |
สำหรับค่าสตริง: ตรงกันทุกประการ, มี, ไม่มี, นิพจน์ทั่วไป สำหรับค่าตัวเลข: =, ≠, >, ≥, <, ≤ |
ระบุบิลด์ของแอปที่จะกำหนดเป้าหมาย ก่อนใช้กฎนี้ คุณต้องใช้กฎรหัสแอปเพื่อเลือกแอป Apple หรือแอป Android ที่เชื่อมโยงกับโปรเจ็กต์ Firebase |
โอเปอเรเตอร์นี้ใช้ได้กับแอป Apple และ Android เท่านั้น ซึ่งสอดคล้องกับ CFBundleVersion ของแอปสำหรับ Apple และ versionCode สำหรับ Android การเปรียบเทียบสตริงสำหรับกฎนี้จะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ เมื่อใช้โอเปอเรเตอร์ตรงกันทุกประการ มี ไม่มี หรือมีนิพจน์ทั่วไป คุณจะเลือกค่าได้หลายค่า เมื่อใช้โอเปอเรเตอร์มีนิพจน์ทั่วไป คุณจะสร้างนิพจน์ทั่วไปในรูปแบบ RE2 ได้ นิพจน์ทั่วไปสามารถจับคู่สตริงเวอร์ชันเป้าหมายทั้งหมดหรือบางส่วนได้ นอกจากนี้ คุณยังใช้ Anchor ^ และ $ เพื่อจับคู่จุดเริ่มต้น จุดสิ้นสุด หรือสตริงเป้าหมายทั้งหมดได้ด้วย |
| แพลตฟอร์ม | == | iOS Android เว็บ |
|
| ระบบปฏิบัติการ | == |
ระบุระบบปฏิบัติการที่จะกำหนดเป้าหมาย ก่อนใช้กฎนี้ คุณต้องใช้กฎรหัสแอปเพื่อเลือกเว็บแอปที่เชื่อมโยงกับโปรเจ็กต์ Firebase |
กฎนี้จะประเมินเป็น true สำหรับอินสแตนซ์เว็บแอปที่ระบุ หากระบบปฏิบัติการและเวอร์ชันตรงกับค่าเป้าหมายในรายการที่ระบุ
|
| เบราว์เซอร์ | == |
ระบุเบราว์เซอร์ที่จะกำหนดเป้าหมาย ก่อนใช้กฎนี้ คุณต้องใช้กฎรหัสแอปเพื่อเลือกเว็บแอปที่เชื่อมโยงกับโปรเจ็กต์ Firebase |
กฎนี้จะประเมินเป็น true สำหรับอินสแตนซ์เว็บแอปที่ระบุ หากเบราว์เซอร์และเวอร์ชันตรงกับค่าเป้าหมายในรายการที่ระบุ
|
| หมวดหมู่ของอุปกรณ์ | เท่ากับ ไม่เท่ากับ | อุปกรณ์เคลื่อนที่ | กฎนี้จะประเมินว่าอุปกรณ์ที่เข้าถึงเว็บแอปเป็นอุปกรณ์เคลื่อนที่หรือไม่ (เดสก์ท็อปหรือคอนโซล) กฎประเภทนี้ใช้ได้กับเว็บแอปเท่านั้น |
| ภาษา | อยู่ใน | เลือกอย่างน้อย 1 ภาษา | กฎนี้จะประเมินเป็น true สำหรับอินสแตนซ์แอปหนึ่งๆ หากอินสแตนซ์แอปนั้นติดตั้งอยู่ในอุปกรณ์ที่ใช้ภาษาใดภาษาหนึ่งที่ระบุไว้
|
| ประเทศ/ภูมิภาค | อยู่ใน | เลือกภูมิภาคหรือประเทศอย่างน้อย 1 รายการ | กฎนี้จะประเมินเป็น true สำหรับอินสแตนซ์แอปหนึ่งๆ หากอินสแตนซ์นั้นอยู่ในภูมิภาคหรือประเทศที่ระบุไว้ รหัสประเทศของอุปกรณ์จะกำหนดโดยใช้ที่อยู่ IP ของอุปกรณ์ในคำขอหรือรหัสประเทศที่กำหนดโดย Firebase Analytics (หากมีการแชร์ข้อมูล Analytics กับ Firebase)
|
| กลุ่มเป้าหมายที่เป็นผู้ใช้ | รวมอย่างน้อย 1 รายการ | เลือกกลุ่มเป้าหมายอย่างน้อย 1 กลุ่มจากรายการกลุ่มเป้าหมาย Google Analytics กลุ่มที่คุณตั้งค่าไว้สำหรับโปรเจ็กต์ | กฎนี้ต้องใช้กฎรหัสแอปเพื่อเลือกแอปที่เชื่อมโยงกับโปรเจ็กต์ Firebase
หมายเหตุ: เนื่องจากกลุ่มเป้าหมาย Analytics จำนวนมากได้รับการกำหนดโดยเหตุการณ์หรือพร็อพเพอร์ตี้ผู้ใช้ ซึ่งอาจอิงตามการกระทำของผู้ใช้แอป จึงอาจใช้เวลาสักพักกว่าที่กฎผู้ใช้ในกลุ่มเป้าหมายจะมีผลกับอินสแตนซ์แอปหนึ่งๆ ซึ่งหมายความว่าแม้ว่าผู้ใช้จะมีคุณสมบัติตรงตามเกณฑ์ของกลุ่มเป้าหมายในทางเทคนิค แต่หาก Analytics ยังไม่ได้เพิ่มผู้ใช้ลงในกลุ่มเป้าหมายเมื่อมีการเรียกใช้ |
| พร็อพเพอร์ตี้ผู้ใช้ |
สำหรับค่าสตริง:
มี ไม่มี ตรงทั้งหมด มีนิพจน์ทั่วไป สำหรับค่าตัวเลข: =, ≠, >, ≥, <, ≤ หมายเหตุ: ในฝั่งไคลเอ็นต์ คุณจะตั้งค่าได้เฉพาะค่าสตริงสำหรับพร็อพเพอร์ตี้ผู้ใช้ สําหรับเงื่อนไขที่ใช้โอเปอเรเตอร์ตัวเลข Remote Config จะแปลงค่าของพร็อพเพอร์ตี้ผู้ใช้ที่เกี่ยวข้องเป็นจำนวนเต็ม/จำนวนทศนิยม |
เลือกจากรายการพร็อพเพอร์ตี้ผู้ใช้ Google Analytics ที่มีอยู่ | ดูวิธีใช้พร็อพเพอร์ตี้ผู้ใช้เพื่อปรับแต่งแอปสำหรับกลุ่มฐานผู้ใช้ที่เฉพาะเจาะจงได้ที่Remote Configและพร็อพเพอร์ตี้ผู้ใช้
ดูข้อมูลเพิ่มเติมเกี่ยวกับพร็อพเพอร์ตี้ผู้ใช้ได้ในคำแนะนำต่อไปนี้ เมื่อใช้โอเปอเรเตอร์ตรงทั้งหมด มี ไม่มี หรือมีนิพจน์ทั่วไป คุณจะเลือกค่าได้หลายค่า เมื่อใช้โอเปอเรเตอร์มีนิพจน์ทั่วไป คุณจะสร้างนิพจน์ทั่วไปในรูปแบบ RE2 ได้ นิพจน์ทั่วไปสามารถจับคู่สตริงเวอร์ชันเป้าหมายทั้งหมดหรือบางส่วนได้ นอกจากนี้ คุณยังใช้ Anchor ^ และ $ เพื่อจับคู่จุดเริ่มต้น จุดสิ้นสุด หรือสตริงเป้าหมายทั้งหมดได้ด้วย หมายเหตุ: พร็อพเพอร์ตี้ผู้ใช้ที่รวบรวมโดยอัตโนมัติจะใช้ไม่ได้เมื่อสร้างเงื่อนไข Remote Config |
| ผู้ใช้ในเปอร์เซ็นต์แบบสุ่ม | แถบเลื่อน (ในคอนโซล Firebase) REST API ใช้โอเปอเรเตอร์ <=, > และ between)
|
0-100 |
ใช้ช่องนี้เพื่อใช้การเปลี่ยนแปลงกับตัวอย่างอินสแตนซ์แอปแบบสุ่ม (โดยมีขนาดตัวอย่างเล็กเพียง .0001%) โดยใช้วิดเจ็ตแถบเลื่อนเพื่อแบ่งกลุ่มผู้ใช้ที่สุ่มสับเปลี่ยน (อินสแตนซ์แอป) ออกเป็นกลุ่มๆ อินสแตนซ์แอปแต่ละรายการจะแมปกับจำนวนเต็มหรือเศษส่วนแบบสุ่มอย่างถาวรตามค่าเริ่มต้นที่กำหนดไว้ในโปรเจ็กต์นั้น กฎจะใช้คีย์เริ่มต้น (แสดงเป็นแก้ไขค่าตั้งต้นในคอนโซล Firebase) เว้นแต่คุณจะแก้ไขค่าตั้งต้น คุณสามารถเปลี่ยนกฎกลับไปใช้คีย์เริ่มต้นได้โดยล้างช่องค่าเริ่มต้น หากต้องการระบุอินสแตนซ์แอปเดียวกันอย่างสม่ำเสมอภายในช่วงเปอร์เซ็นต์ที่กำหนด ให้ใช้ค่าตั้งต้นเดียวกันในเงื่อนไขต่างๆ หรือเลือกกลุ่มอินสแตนซ์แอปใหม่ที่กำหนดแบบสุ่มสำหรับช่วงเปอร์เซ็นต์ที่กำหนดโดยระบุ Seed ใหม่ ตัวอย่างเช่น หากต้องการสร้างเงื่อนไขที่เกี่ยวข้อง 2 รายการซึ่งแต่ละรายการมีผลกับผู้ใช้แอป 5% ที่ไม่ทับซ้อนกัน คุณสามารถกำหนดค่าเงื่อนไขหนึ่งให้ตรงกับเปอร์เซ็นต์ระหว่าง 0% ถึง 5% และกำหนดค่าอีกเงื่อนไขหนึ่งให้ตรงกับช่วงระหว่าง 5% ถึง 10% หากต้องการอนุญาตให้ผู้ใช้บางรายปรากฏในทั้ง 2 กลุ่มแบบสุ่ม ให้ใช้ค่าตั้งต้นที่แตกต่างกันสำหรับกฎภายในแต่ละเงื่อนไข |
| กลุ่มที่นำเข้า | อยู่ใน | เลือกกลุ่มที่นำเข้าอย่างน้อย 1 กลุ่ม | กฎนี้กำหนดให้ต้องตั้งค่ากลุ่มที่นำเข้าที่กำหนดเอง |
| วันที่/เวลา | ก่อน, หลัง | วันที่และเวลาที่ระบุ ไม่ว่าจะอยู่ในเขตเวลาของอุปกรณ์หรือเขตเวลาที่ระบุ เช่น "(GMT+11) เวลาซิดนีย์" | เปรียบเทียบเวลาปัจจุบันกับเวลาที่ดึงข้อมูลของอุปกรณ์ |
| การเปิดครั้งแรก | ก่อน, หลัง | กำหนดเป้าหมายผู้ใช้ตามครั้งแรกที่เปิดแอป ดังนี้
|
การกำหนดเป้าหมายผู้ใช้ตามการเปิดครั้งแรกจะใช้ได้หลังจากที่คุณเลือกแอป Android, iOS หรือเว็บแอป ต้องใช้ SDK ต่อไปนี้
นอกจากนี้ Analytics ต้องเปิดใช้ในไคลเอ็นต์ระหว่างเหตุการณ์การเปิดครั้งแรกด้วย |
| รหัสการติดตั้ง | อยู่ใน | ระบุรหัสการติดตั้งอย่างน้อย 1 รายการ (สูงสุด 50 รายการ) เพื่อกำหนดเป้าหมาย | กฎนี้จะประเมินเป็น true สำหรับการติดตั้งที่ระบุ หากรหัสของการติดตั้งนั้นอยู่ในรายการค่าที่คั่นด้วยคอมมา
ดูวิธีรับรหัสการติดตั้งได้ที่หัวข้อดึงข้อมูลตัวระบุไคลเอ็นต์ |
| มีผู้ใช้อยู่แล้ว | (ไม่มีโอเปอเรเตอร์) | กำหนดเป้าหมายเป็นผู้ใช้ทั้งหมดของแอปทั้งหมดภายในโปรเจ็กต์ปัจจุบัน |
ใช้กฎเงื่อนไขนี้เพื่อจับคู่ผู้ใช้ทั้งหมดภายในโปรเจ็กต์ ไม่ว่าจะเป็นแอปหรือแพลตฟอร์มใดก็ตาม |
| สัญญาณที่กำหนดเอง |
สำหรับค่าสตริง:
มี ไม่มี ตรงกันทุกประการ มีนิพจน์ทั่วไป สำหรับค่าตัวเลข: =, ≠, >, ≥, <, ≤ สำหรับค่าเวอร์ชัน: =, ≠, >, ≥, <, ≤ |
การเปรียบเทียบสตริงสำหรับกฎนี้จะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ เมื่อใช้โอเปอเรเตอร์ตรงกันทุกประการ มี ไม่มี หรือมีนิพจน์ทั่วไป คุณจะเลือกค่าได้หลายค่า เมื่อใช้โอเปอเรเตอร์นิพจน์ทั่วไป "มี" คุณจะสร้างนิพจน์ทั่วไปในรูปแบบ RE2 ได้ นิพจน์ทั่วไปจับคู่สตริงเวอร์ชันเป้าหมายทั้งหมดหรือบางส่วนได้ นอกจากนี้ คุณยังใช้ Anchor ^ และ $ เพื่อจับคู่จุดเริ่มต้น จุดสิ้นสุด หรือทั้งสตริงเป้าหมายได้ด้วย ระบบรองรับข้อมูลประเภทต่อไปนี้สำหรับสภาพแวดล้อมของไคลเอ็นต์
ตัวเลขที่แสดงหมายเลขเวอร์ชันที่จะจับคู่ (เช่น 2.1.0) |
ดูข้อมูลเพิ่มเติมเกี่ยวกับเงื่อนไขสัญญาณที่กำหนดเองและนิพจน์เงื่อนไขที่จะใช้ได้ที่เงื่อนไขสัญญาณที่กำหนดเองและองค์ประกอบที่ใช้สร้างเงื่อนไข |
เมตริก A/B Testing รายการ
เมื่อสร้างการทดสอบ คุณต้องเลือกเมตริกหลักหรือเมตริกเป้าหมายที่จะใช้ในการระบุตัวแปรที่ชนะ นอกจากนี้ คุณควรติดตามเมตริกอื่นๆ เพื่อช่วยให้เข้าใจประสิทธิภาพของตัวแปรการทดสอบแต่ละรายการได้ดียิ่งขึ้น และติดตามแนวโน้มที่สำคัญซึ่งอาจแตกต่างกันไปสำหรับตัวแปรแต่ละรายการ เช่น การคงผู้ใช้ไว้ ความเสถียรของแอป และรายได้จากการซื้อในแอป คุณติดตามเมตริกที่ไม่ใช่เป้าหมายได้สูงสุด 5 รายการในการทดสอบ
ตัวอย่างเช่น สมมติว่าคุณใช้ Remote Config เพื่อเปิดตัวขั้นตอนของเกม 2 แบบที่แตกต่างกันในแอป และต้องการเพิ่มประสิทธิภาพสำหรับการซื้อในแอปและรายได้จากโฆษณา แต่คุณก็ต้องการติดตามความเสถียรและการคงผู้ใช้ไว้ของแต่ละตัวแปรด้วย ในกรณีนี้ คุณอาจพิจารณาเลือกรายได้ทั้งหมดโดยประมาณเป็นเมตริกเป้าหมาย เนื่องจากมีทั้งรายได้จากการซื้อในแอปและรายได้จากโฆษณา จากนั้นในส่วนเมตริกอื่นๆ ที่จะติดตาม คุณอาจเพิ่มเมตริกต่อไปนี้
- หากต้องการติดตามการคงผู้ใช้ไว้รายวันและรายสัปดาห์ ให้เพิ่มการคงผู้ใช้ไว้ (2-3 วัน) และการคงผู้ใช้ไว้ (4-7 วัน)
- หากต้องการเปรียบเทียบความเสถียรระหว่างโฟลว์เกมทั้ง 2 แบบ ให้เพิ่มผู้ใช้ที่ไม่พบข้อขัดข้อง
- หากต้องการดูมุมมองที่ละเอียดขึ้นของรายได้แต่ละประเภท ให้เพิ่มรายได้จากการซื้อและรายได้จากโฆษณาโดยประมาณ
ตารางต่อไปนี้แสดงรายละเอียดเกี่ยวกับวิธีคำนวณเมตริกเป้าหมายและเมตริกอื่นๆ
เมตริกเป้าหมาย
| เมตริก | คำอธิบาย |
|---|---|
| ผู้ใช้ที่ไม่พบข้อขัดข้อง | เปอร์เซ็นต์ของผู้ใช้ที่ไม่พบข้อผิดพลาดในแอปของคุณซึ่งตรวจพบโดย SDK ของ Firebase Crashlytics ระหว่างการทดสอบ
หมายเหตุ: เว็บแอปพลิเคชันไม่รองรับ 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 ที่ทริกเกอร์เมื่อมีการปิดการแจ้งเตือนที่ส่งโดย Notifications Composer (Android เท่านั้น) |
| notification_receive | เหตุการณ์ Analytics ที่ทริกเกอร์เมื่อได้รับข้อความแจ้งเตือนที่ส่งโดย Notifications composer ขณะที่แอปอยู่เบื้องหลัง (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 ให้คลิกจัดการและยืนยันว่าโปรเจ็กต์กำลังส่งออกข้อมูล Analytics ไปยัง BigQuery
หากการ์ดระบุว่าลิงก์ คุณจะต้องตั้งค่าการส่งออก (ไปที่ขั้นตอนถัดไป)
หากต้องการตั้งค่าการส่งออก ให้ทำดังนี้
อ่านเกี่ยวกับการลิงก์ 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 กุมภาพันธ์ 2026 ถึง 2 พฤษภาคม 2026 คุณจะต้องระบุ_TABLE_SUFFIX between '20260202' AND '20260502'ดูตัวอย่างได้ที่เลือกค่าของการทดสอบที่เฉพาะเจาะจง - ชื่อเหตุการณ์: โดยทั่วไปแล้ว ชื่อเหล่านี้จะสอดคล้องกับเมตริกเป้าหมายที่คุณกําหนดค่าไว้ในการทดสอบ เช่น กิจกรรม
in_app_purchase,ad_impressionหรือกิจกรรมuser_retention
หลังจากรวบรวมข้อมูลที่จำเป็นในการสร้างการค้นหาแล้ว ให้ทำดังนี้
- ในคอนโซล Google Cloud ให้ไปที่ BigQuery
- เลือกโปรเจ็กต์ แล้วเลือกสร้างการค้นหา SQL
- เพิ่มคำค้นหา ดูตัวอย่างการค้นหาที่จะเรียกใช้ได้ที่หัวข้อสำรวจตัวอย่างการค้นหา
- คลิกเรียกใช้
ค้นหาข้อมูลการทดสอบโดยใช้การค้นหาที่สร้างขึ้นโดยอัตโนมัติของคอนโซล Firebase
หากคุณใช้แพ็กเกจ Blaze หน้าภาพรวมการทดสอบจะมีตัวอย่างการค้นหาที่แสดงชื่อการทดสอบ ตัวแปร ชื่อเหตุการณ์ และจำนวนเหตุการณ์สำหรับการทดสอบที่คุณกำลังดูอยู่
วิธีรับและเรียกใช้การค้นหาที่สร้างขึ้นโดยอัตโนมัติ
- ในคอนโซล Firebase ให้ไปที่ DevOps และการมีส่วนร่วม > การทดสอบ A/B
- เลือกการทดสอบ A/B Testing ที่ต้องการค้นหาเพื่อเปิดภาพรวมการทดสอบ
- จากเมนูตัวเลือก ให้เลือกค้นหาข้อมูลการทดสอบในส่วนการผสานรวม BigQuery การดำเนินการนี้จะเปิดโปรเจ็กต์ของคุณใน BigQuery ภายในคอนโซล Google Cloud และให้การค้นหาพื้นฐานที่คุณใช้ค้นหาข้อมูลการทดสอบได้
ตัวอย่างต่อไปนี้แสดงการค้นหาที่สร้างขึ้นสำหรับการทดสอบที่มีตัวแปร 3 รายการ (รวมถึงเส้นฐาน) ชื่อ "Winter welcome experiment" โดยจะแสดงชื่อการทดสอบที่ใช้งานอยู่ ชื่อตัวแปร เหตุการณ์ที่ไม่ซ้ำ และจำนวนเหตุการณ์สำหรับแต่ละเหตุการณ์ โปรดทราบว่า Query Builder ไม่ได้ระบุชื่อโปรเจ็กต์ในชื่อตาราง เนื่องจากจะเปิดภายในโปรเจ็กต์โดยตรง
/*
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 '20260202' AND '20260502')
AND userProperty.key = 'firebase_exp_25'
GROUP BY
experimentVariant, eventName
หากต้องการดูตัวอย่างการค้นหาเพิ่มเติม ให้ไปที่สำรวจตัวอย่างการค้นหา
สำรวจตัวอย่างคำค้นหา
ส่วนต่อไปนี้แสดงตัวอย่างการค้นหาที่คุณใช้เพื่อดึงข้อมูลการทดสอบ A/B Testing จากตารางเหตุการณ์ Google Analytics ได้
ดึงค่าการซื้อและค่าเบี่ยงเบนมาตรฐานของการทดสอบจากการทดสอบทั้งหมด
คุณสามารถใช้ข้อมูลผลการทดสอบเพื่อยืนยันผลลัพธ์ของ Firebase A/B Testing ได้อย่างอิสระ คำสั่ง SQL BigQuery ต่อไปนี้จะดึงข้อมูลตัวแปรการทดสอบ จำนวนผู้ใช้ที่ไม่ซ้ำในแต่ละตัวแปร และรวมรายได้ทั้งหมดจากเหตุการณ์ in_app_purchase และ ecommerce_purchase รวมถึงค่าเบี่ยงเบนมาตรฐานสำหรับการทดสอบทั้งหมดภายในช่วงเวลาที่ระบุเป็นวันที่เริ่มต้นและวันที่สิ้นสุดของ _TABLE_SUFFIX คุณสามารถใช้ข้อมูลที่ได้จากการค้นหานี้กับเครื่องมือสร้างนัยสำคัญทางสถิติสำหรับการทดสอบ t-test แบบทางเดียวเพื่อยืนยันว่าผลลัพธ์ที่ 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 การค้นหาตัวอย่างนี้จะแสดงชื่อการทดสอบ ชื่อตัวแปร (รวมถึง Baseline) ชื่อเหตุการณ์ และจํานวนเหตุการณ์
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