بالإضافة إلى عرض بيانات تجارب "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 يحتوي على فهرس (يبدأ من الصفر) لصيغة التجربة.
يمكنك استخدام خصائص المستخدمين في التجربة هذه لاستخراج بيانات التجربة. يتيح لك ذلك تقسيم نتائج تجربتك بطرق مختلفة والتحقّق من نتائج "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".
اعتمادًا على الطريقة التي اخترتها لتصدير البيانات، قد يستغرق الأمر ما يصل إلى يوم حتى تصبح الجداول متاحة. لمزيد من المعلومات حول تصدير بيانات المشروع إلى 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 & Engagement > اختبار A/B.
- اختَر تجربة A/B Testing التي تريد الاستعلام عنها لفتح نظرة عامة على التجربة.
- من قائمة "الخيارات"، ضِمن دمج BigQuery، اختَر طلب بيانات التجربة. يؤدي ذلك إلى فتح مشروعك في BigQuery ضمن وحدة تحكّم Google Cloud ويوفّر طلب بحث أساسيًا يمكنك استخدامه لطلب بيانات تجربتك.
يوضّح المثال التالي طلب بحث تم إنشاؤه لتجربة تتضمّن ثلاث صيغ (بما في ذلك الصيغة الأساسية) باسم "تجربة الترحيب الشتوية". وتعرض هذه الدالة اسم التجربة النشطة واسم الصيغة والحدث الفريد وعدد الأحداث لكل حدث. يُرجى العِلم أنّ أداة إنشاء الطلبات لا تحدّد اسم مشروعك في اسم الجدول، لأنّها تفتح مباشرةً ضمن مشروعك.
/*
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 أحادية الطرف للتحقّق من أنّ
النتائج التي يقدّمها 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