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