นอกเหนือจากการดูข้อมูลการทดสอบ A/B Testing ในคอนโซล Firebase แล้ว คุณยังตรวจสอบและวิเคราะห์ข้อมูลการทดสอบใน BigQuery ได้อีกด้วย แม้ว่าการทดสอบ A/B จะไม่มีตาราง BigQuery แยกต่างหาก แต่ความเป็นสมาชิกการทดสอบและความเป็นสมาชิกรูปแบบต่างๆ จะถูกจัดเก็บไว้ในเหตุการณ์ Google Analytics ทุกเหตุการณ์ภายในตารางเหตุการณ์ Analytics
พร็อพเพอร์ตี้ผู้ใช้ที่มีข้อมูลการทดสอบอยู่ในรูปแบบ userProperty.key like "firebase_exp_%"
หรือ userProperty.key = "firebase_exp_01"
โดยที่ 01
คือรหัสการทดสอบ และ userProperty.value.string_value
มีดัชนี (เป็นศูนย์) ของ ตัวแปรการทดลอง
คุณสามารถใช้พร็อพเพอร์ตี้ผู้ใช้การทดสอบเหล่านี้เพื่อดึงข้อมูลการทดสอบได้ ซึ่งจะทำให้คุณสามารถแบ่งผลการทดสอบของคุณได้หลายวิธี และตรวจสอบผลลัพธ์ของการทดสอบ A/B ได้อย่างอิสระ
ในการเริ่มต้น ให้ดำเนินการต่อไปนี้ตามที่อธิบายไว้ในคู่มือนี้:
- เปิดใช้ BigQuery Export สำหรับ Google Analytics ในคอนโซล Firebase
- เข้าถึงข้อมูลการทดสอบ A/B โดยใช้ BigQuery
- สำรวจตัวอย่างข้อความค้นหา
เปิดใช้ BigQuery Export สำหรับ Google Analytics ในคอนโซล Firebase
หากคุณใช้แผน Spark คุณสามารถใช้ แซนด์บ็อกซ์ของ BigQuery เพื่อเข้าถึง BigQuery ได้โดยไม่มีค่าใช้จ่าย ทั้งนี้ขึ้นอยู่กับ ขีดจำกัดของแซนด์บ็อกซ์ ดู ราคาและแซนด์บ็อกซ์ BigQuery สำหรับข้อมูลเพิ่มเติม
ขั้นแรก ตรวจสอบให้แน่ใจว่าคุณกำลังส่งออกข้อมูล Analytics ไปยัง BigQuery โดยทำดังนี้
- เปิดแท็บ การรวมระบบ ซึ่งคุณสามารถเข้าถึงได้โดยใช้ > การตั้งค่าโครงการ ใน คอนโซล Firebase
- หากคุณใช้ BigQuery กับบริการ Firebase อื่นๆ อยู่แล้ว ให้คลิก จัดการ มิฉะนั้น คลิก ลิงก์
- ตรวจสอบ เกี่ยวกับการเชื่อมโยง Firebase กับ BigQuery จากนั้นคลิก ถัดไป
- ในส่วน กำหนดค่าการรวม ให้ เปิดใช้งานการสลับ Google Analytics
เลือกภูมิภาคและเลือกการตั้งค่าการส่งออก
คลิก ลิงก์ไปยัง BigQuery
ขึ้นอยู่กับวิธีที่คุณเลือกส่งออกข้อมูล อาจใช้เวลาถึงหนึ่งวันกว่าที่ตารางจะพร้อมใช้งาน สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการส่งออกข้อมูลโครงการไปยัง BigQuery โปรดดู ที่ส่งออกข้อมูลโครงการไปยัง BigQuery
เข้าถึงข้อมูลการทดสอบ A/B ใน 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
,ad_impression
หรือเหตุการณ์user_retention
หลังจากที่คุณรวบรวมข้อมูลแล้ว คุณต้องสร้างการสืบค้น:
- เปิด BigQuery ในคอนโซล Google Cloud
- เลือกโปรเจ็กต์ของคุณ จากนั้นเลือก สร้างการสืบค้น SQL
- เพิ่มคำถามของคุณ สำหรับตัวอย่างการสืบค้นที่จะเรียกใช้ โปรดดูที่ สำรวจตัวอย่างการสืบค้น
- คลิก เรียกใช้
ค้นหาข้อมูลการทดสอบโดยใช้คำค้นหาที่สร้างขึ้นอัตโนมัติของคอนโซล Firebase
หากคุณใช้แผน Blaze หน้า ภาพรวมการทดสอบ จะแสดงข้อความค้นหาตัวอย่างที่ส่งคืนชื่อการทดสอบ ตัวแปร ชื่อเหตุการณ์ และจำนวนเหตุการณ์สำหรับการทดสอบที่คุณกำลังดูอยู่
หากต้องการรับและเรียกใช้แบบสอบถามที่สร้างขึ้นอัตโนมัติ:
- จากคอนโซล Firebase ให้เปิด การทดสอบ A/B และเลือกการทดสอบ A/B ที่คุณต้องการค้นหาเพื่อเปิด ภาพรวมการทดสอบ
- จากเมนูตัวเลือก ใต้ การผสานรวม 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
แยกค่าส่วนเบี่ยงเบนมาตรฐานการซื้อและการทดสอบจากการทดลองทั้งหมด
คุณสามารถใช้ข้อมูลผลการทดสอบเพื่อตรวจสอบผลการทดสอบ A/B ของ Firebase ได้อย่างอิสระ คำสั่ง BigQuery SQL ต่อไปนี้จะแยกรูปแบบการทดสอบ จำนวนผู้ใช้ที่ไม่ซ้ำในแต่ละรูปแบบ และผลรวมของรายได้ทั้งหมดจากเหตุการณ์ in_app_purchase
และ ecommerce_purchase
และค่าเบี่ยงเบนมาตรฐานสำหรับการทดสอบทั้งหมดภายในช่วงเวลาที่ระบุเป็นวันที่เริ่มต้นและสิ้นสุด _TABLE_SUFFIX
คุณสามารถใช้ข้อมูลที่คุณได้รับจากการสืบค้นนี้กับเครื่องสร้างนัยสำคัญทางสถิติสำหรับการทดสอบทีแบบด้านเดียวเพื่อยืนยันว่าผลลัพธ์ที่ Firebase มอบให้นั้นตรงกับการวิเคราะห์ของคุณเอง
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีที่การทดสอบ A/B คำนวณการอนุมาน โปรดดู ตีความผลการทดสอบ
/*
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