นอกเหนือจากการดูข้อมูลการทดสอบ 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 ให้ไปที่
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 & Engagement > 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