นอกเหนือจากการดูข้อมูลการทดสอบ 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 Sandbox เพื่อ เข้าถึง BigQuery ได้โดยไม่มีค่าใช้จ่าย ทั้งนี้ขึ้นอยู่กับ ขีดจำกัดของ Sandbox ดูข้อมูลเพิ่มเติมได้ที่ การกำหนดราคาและ Sandbox BigQuery
ขั้นแรก ตรวจสอบว่าคุณได้ส่งออกข้อมูล Analytics ไปยัง BigQuery แล้วโดยทำดังนี้
ในคอนโซล Firebase ให้ไปที่
Settings > Integrations แท็บในการ์ด BigQuery ให้คลิก Manage แล้วตรวจสอบว่า โปรเจ็กต์ของคุณส่งออกข้อมูล Analytics ไปยัง BigQuery
หากการ์ดระบุว่า Link แสดงว่าคุณต้องตั้งค่าการส่งออก (ทำตามขั้นตอนถัดไป )
หากต้องการตั้งค่าการส่งออก ให้ทำดังนี้
อ่านเกี่ยวกับการลิงก์ 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เพื่อให้การค้นหาเร็วขึ้นและมีประสิทธิภาพมากขึ้นGoogle Analytics ดังนั้น หากการทดสอบดำเนินการตั้งแต่วันที่ 2 กุมภาพันธ์ 2024 ถึง 2 พฤษภาคม 2024 คุณจะต้องระบุ_TABLE_SUFFIX between '20240202' AND '20240502'ดูตัวอย่างได้ที่ เลือกค่าของการทดสอบที่เฉพาะเจาะจง - ชื่อเหตุการณ์: โดยปกติแล้วชื่อเหตุการณ์จะสอดคล้องกับ
เมตริกเป้าหมาย
ที่คุณกำหนดค่าไว้ในการทดสอบ เช่น เหตุการณ์
in_app_purchase, เหตุการณ์ad_impressionหรือเหตุการณ์user_retention
หลังจากรวบรวมข้อมูลที่จำเป็นในการสร้างการค้นหาแล้ว ให้ทำดังนี้
- ในคอนโซล Google Cloud ให้ไปที่ BigQuery
- เลือกโปรเจ็กต์ แล้วเลือกสร้างการค้นหา SQL
- เพิ่มการค้นหา ดูตัวอย่างการค้นหาที่จะเรียกใช้ได้ที่ หัวข้อดูตัวอย่างการค้นหา
- คลิกเรียกใช้
ค้นหาข้อมูลการทดสอบโดยใช้การค้นหาที่สร้างขึ้นโดยอัตโนมัติของคอนโซล Firebase
หากใช้แพ็กเกจ Blaze หน้าภาพรวมการทดสอบ จะมีการค้นหาตัวอย่างที่แสดงชื่อการทดสอบ ตัวแปร ชื่อเหตุการณ์ และจำนวนเหตุการณ์สำหรับการทดสอบที่คุณกำลังดู
วิธีรับและเรียกใช้การค้นหาที่สร้างขึ้นโดยอัตโนมัติ
- ในคอนโซล Firebase ให้ไปที่DevOps และการมีส่วนร่วม > A/B Testing
- เลือกการทดสอบ A/B Testing ที่ต้องการค้นหาเพื่อเปิด ภาพรวมการทดสอบ
- จากเมนูตัวเลือกใต้BigQuery integration ให้เลือก ค้นหาข้อมูลการทดสอบ ซึ่งจะเปิดโปรเจ็กต์ใน BigQuery ภายในคอนโซล Google Cloud และแสดงการค้นหาพื้นฐานที่คุณ ใช้เพื่อค้นหาข้อมูลการทดสอบได้
ตัวอย่างต่อไปนี้แสดงการค้นหาที่สร้างขึ้นสำหรับการทดสอบที่มีตัวแปร 3 รายการ (รวมถึงตัวแปรพื้นฐาน) ชื่อ "Winter welcome experiment" โดยจะแสดงชื่อการทดสอบที่ใช้งานอยู่ ชื่อตัวแปร เหตุการณ์ที่ไม่ซ้ำ และจำนวนเหตุการณ์สำหรับแต่ละเหตุการณ์ โปรดทราบว่าเครื่องมือสร้างการค้นหาจะไม่ระบุชื่อโปรเจ็กต์ในชื่อตาราง เนื่องจากเครื่องมือจะเปิดขึ้นภายในโปรเจ็กต์โดยตรง
/*
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 ได้อย่างอิสระ คำสั่ง SQL ต่อไปนี้จะดึงตัวแปรการทดสอบ จำนวนผู้ใช้ที่ไม่ซ้ำในตัวแปรแต่ละรายการ และรวมรายได้ทั้งหมดจาก in_app_purchase และ ecommerce_purchase รวมถึงค่าเบี่ยงเบนมาตรฐานสำหรับการทดสอบทั้งหมดภายในช่วงเวลาที่ระบุเป็นวันที่เริ่มต้นและวันที่สิ้นสุดของ _TABLE_SUFFIXBigQuery คุณสามารถใช้ข้อมูลที่ได้รับจากการค้นหานี้กับเครื่องมือสร้างนัยสำคัญทางสถิติสำหรับการทดสอบ 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