عند التواصل مع المستخدمين أو بدء حملة تسويقية جديدة، عليك التأكّد من أنّك تتّخذ الخطوات الصحيحة. يمكن أن يساعدك اختبار A/B في العثور على الصياغة والعرض الأمثلَين من خلال اختبار صيغ الرسائل على أجزاء محدّدة من قاعدة المستخدمين. سواء كان هدفك هو تحسين الاحتفاظ بالمستخدمين أو زيادة الإحالات الناجحة من خلال عرض، يمكن أن يجري اختبار A/B تحليلاً إحصائيًا لتحديد ما إذا كان أحد أشكال الرسائل يتفوّق على الشكل الأساسي للهدف المحدّد.
لإجراء اختبار A/B على صيغ الميزة باستخدام خط أساس، اتّبِع الخطوات التالية:
- أنشئ تجربتك.
- اختبِر تجربتك على جهاز اختباري.
- إدارة تجربتك
إنشاء تجربة
تتيح لك التجربة التي تستخدم أداة إنشاء الإشعارات تقييم عدة صيغ مختلفة لرسالة إشعار واحدة.
سجِّل الدخول إلى وحدة تحكّم Firebase وتأكَّد من تفعيل Google Analytics في مشروعك لكي يتمكّن الاختبار من الوصول إلى بيانات Analytics.
إذا لم تفعّل Google Analytics عند إنشاء مشروعك، يمكنك تفعيله في علامة التبويب عمليات الدمج التي يمكنك الوصول إليها باستخدام > إعدادات المشروع في Firebase وحدة التحكّم.
في قسم التفاعل ضمن شريط التنقّل في وحدة تحكّم Firebase، انقر على A/B Testing.
انقر على إنشاء تجربة، ثمّ اختَر الإشعارات عندما يُطلب منك تحديد الخدمة التي تريد إجراء تجربة عليها.
أدخِل اسمًا ووصفًا اختياريًا لتجربتك، ثم انقر على التالي.
املأ حقول الاستهداف، واختَر أولاً التطبيق الذي يستخدم تجربتك. يمكنك أيضًا استهداف مجموعة فرعية من المستخدمين للمشاركة في تجربتك من خلال اختيار خيارات تتضمّن ما يلي:
- الإصدار: إصدار واحد أو أكثر من تطبيقك
- شريحة جمهور المستخدمين: شرائح الجمهور Analytics المستخدَمة لاستهداف المستخدمين الذين قد يتم تضمينهم في التجربة
- خاصية المستخدِم: خاصية مستخدِم واحدة أو أكثر Analytics لاختيار المستخدِمين الذين يمكن تضمينهم في التجربة
- البلد/المنطقة: بلد أو منطقة واحدة أو أكثر لاختيار المستخدمين الذين يمكن تضمينهم في التجربة
- لغة الجهاز: لغة واحدة أو أكثر من اللغات واللغات المحلية المستخدَمة لاختيار المستخدمين الذين قد يتم تضمينهم في التجربة
- عمليات فتح التطبيق للمرة الأولى: استهداف المستخدمين استنادًا إلى أول مرة فتحوا فيها تطبيقك
- آخر تفاعل مع التطبيق: استهداف المستخدمين استنادًا إلى آخر مرة تفاعلوا فيها مع تطبيقك
اضبط النسبة المئوية للمستخدمين المستهدَفين: اختَر النسبة المئوية من قاعدة مستخدمي تطبيقك الذين يستوفون المعايير المحدّدة ضمن المستخدمون المستهدَفون والتي تريد تقسيمها بالتساوي بين السعر الأساسي وواحد أو أكثر من الأسعار المتغيرة في تجربتك. يمكن أن تكون هذه النسبة المئوية أي قيمة بين% 0.01 و%100. تتم إعادة تعيين النسب المئوية للمستخدمين بشكل عشوائي لكل تجربة، بما في ذلك التجارب المكرّرة.
في قسم خيارات المنتج، اكتب رسالة لإرسالها إلى المجموعة الأساسية في حقل إدخال نص الرسالة. لعدم إرسال أي رسالة إلى المجموعة الأساسية، اترك هذا الحقل فارغًا.
(اختياري) لإضافة أكثر من سعر متغير إلى تجربتك، انقر على إضافة سعر متغير. تحتوي التجارب تلقائيًا على سعر أساسي واحد وسعر متغير واحد.
(اختياري) أدخِل اسمًا لكل صيغة في تجربتك لاستبدال الأسماء الصيغة أ والصيغة ب وما إلى ذلك.
حدِّد مقياس هدف لتجربتك لاستخدامه عند تقييم صيغ التجربة، بالإضافة إلى أي مقاييس إضافية مطلوبة من القائمة المنسدلة. وتشمل هذه المقاييس أهدافًا مضمّنة (التفاعل وعمليات الشراء والإيرادات والاحتفاظ بالمستخدمين وما إلى ذلك). أحداث الإحالات الناجحة Analytics وأحداث Analytics الأخرى
اختَر خيارات لرسالتك:
- تاريخ التسليم: اختَر الإرسال الآن لإطلاق تجربتك فور الحفظ، أو مُجدوَلة لتحديد وقت لإطلاق تجربتك في المستقبل.
- خيارات متقدّمة: لاختيار خيارات متقدّمة لجميع الإشعارات المضمّنة في تجربتك، وسِّع خيارات متقدّمة، ثم غيِّر أيًا من خيارات الرسائل المدرَجة.
انقر على مراجعة لحفظ تجربتك.
يُسمح لك بإجراء ما يصل إلى 300 تجربة لكل مشروع، ويمكن أن يتضمّن ذلك ما يصل إلى 24 تجربة نشطة، مع بقاء التجارب الأخرى كمسودّة أو مكتملة.
التحقّق من صحة تجربتك على جهاز اختباري
يمكنك استرداد رمز التسجيل FCM المرتبط بكل عملية تثبيت في Firebase. يمكنك استخدام هذا الرمز المميز لاختبار صيغ تجريبية محدّدة على جهاز اختباري تم تثبيت تطبيقك عليه. للتحقّق من صحة تجربتك على جهاز اختباري، اتّبِع الخطوات التالية:
- احصل على رمز التسجيل FCM باتّباع الخطوات التالية:
Swift
Messaging.messaging().token { token, error in if let error = error { print("Error fetching FCM registration token: \(error)") } else if let token = token { print("FCM registration token: \(token)") self.fcmRegTokenMessage.text = "Remote FCM registration token: \(token)" } }
Objective-C
[[FIRMessaging messaging] tokenWithCompletion:^(NSString *token, NSError *error) { if (error != nil) { NSLog(@"Error getting FCM registration token: %@", error); } else { NSLog(@"FCM registration token: %@", token); self.fcmRegTokenMessage.text = token; } }];
Java
FirebaseMessaging.getInstance().getToken() .addOnCompleteListener(new OnCompleteListener<String>() { @Override public void onComplete(@NonNull Task<String> task) { if (!task.isSuccessful()) { Log.w(TAG, "Fetching FCM registration token failed", task.getException()); return; } // Get new FCM registration token String token = task.getResult(); // Log and toast String msg = getString(R.string.msg_token_fmt, token); Log.d(TAG, msg); Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show(); } });
Kotlin
FirebaseMessaging.getInstance().token.addOnCompleteListener(OnCompleteListener { task -> if (!task.isSuccessful) { Log.w(TAG, "Fetching FCM registration token failed", task.exception) return@OnCompleteListener } // Get new FCM registration token val token = task.result // Log and toast val msg = getString(R.string.msg_token_fmt, token) Log.d(TAG, msg) Toast.makeText(baseContext, msg, Toast.LENGTH_SHORT).show() })
C++
firebase::InitResult init_result; auto* installations_object = firebase::installations::Installations::GetInstance( firebase::App::GetInstance(), &init_result); installations_object->GetToken().OnCompletion( [](const firebase::Future<std::string>& future) { if (future.status() == kFutureStatusComplete && future.error() == firebase::installations::kErrorNone) { printf("Installations Auth Token %s\n", future.result()->c_str()); } });
Unity
Firebase.Messaging.FirebaseMessaging.DefaultInstance.GetTokenAsync().ContinueWith( task => { if (!(task.IsCanceled || task.IsFaulted) && task.IsCompleted) { UnityEngine.Debug.Log(System.String.Format("FCM registration token {0}", task.Result)); } });
- في شريط التنقّل الخاص Firebase لوحدة التحكّم، انقر على اختبار A/B.
- انقر على مسودّة، ثم مرِّر مؤشر الماوس فوق تجربتك، وانقر على قائمة السياق (more_vert)، ثم انقر على إدارة الأجهزة الاختبارية.
- أدخِل الرمز المميّز FCM لجهاز اختباري واختَر صيغة التجربة التي تريد إرسالها إلى هذا الجهاز.
- شغِّل التطبيق وتأكَّد من تلقّي الإصدار المحدّد على الجهاز التجريبي.
إدارة تجربتك
سواء أنشأت تجربة باستخدام Remote Config أو "أداة إنشاء الإشعارات" أو Firebase In-App Messaging، يمكنك بعد ذلك التحقّق من صحة التجربة وبدءها، وتتبُّعها أثناء تنفيذها، وزيادة عدد المستخدمين المضمّنين في تجربتك الجارية.
بعد انتهاء تجربتك، يمكنك تدوين الإعدادات التي استخدمتها الصيغة الفائزة، ثم طرح هذه الإعدادات لجميع المستخدمين. أو يمكنك إجراء تجربة أخرى.
بدء تجربة
- في قسم التفاعل ضمن قائمة التنقّل في Firebase وحدة التحكّم، انقر على A/B Testing.
- انقر على مسودة، ثمّ انقر على عنوان تجربتك.
- للتأكّد من أنّ تطبيقك يتضمّن مستخدمين سيتم إدراجهم في تجربتك، وسِّع تفاصيل المسودة وابحث عن رقم أكبر من 0% في قسم الاستهداف والتوزيع (على سبيل المثال، % 1 من المستخدمين الذين يستوفون المعايير).
- لتغيير تجربتك، انقر على تعديل.
- لبدء تجربتك، انقر على بدء التجربة. يمكنك إجراء ما يصل إلى 24 تجربة لكل مشروع في المرة الواحدة.
مراقبة تجربة
بعد تشغيل التجربة لفترة من الوقت، يمكنك الاطّلاع على مدى تقدّمها ومعرفة شكل النتائج بالنسبة إلى المستخدمين الذين شاركوا في تجربتك حتى الآن.
- في قسم التفاعل ضمن قائمة التنقّل في Firebase وحدة التحكّم، انقر على A/B Testing.
انقر على جارٍ، ثمّ انقر على عنوان تجربتك أو ابحث عنه. في هذه الصفحة، يمكنك الاطّلاع على إحصاءات مختلفة تم رصدها وإحصاءات مستندة إلى نماذج حول تجربتك النشطة، بما في ذلك ما يلي:
- النسبة المئوية للفرق عن المرجع: مقياس لتحسُّن أحد المقاييس لصيغة معيّنة مقارنةً بالصيغة المرجعية. يتم احتسابها من خلال مقارنة النطاق القيمي لخيارات المنتج بالنطاق القيمي للمنتج الأساسي.
- احتمالية تجاوز المعدّل المرجعي: الاحتمالية المُقدَّرة لتفوّق صيغة معيّنة على المعدّل المرجعي للمقياس المحدّد.
- observed_metric لكل مستخدم: استنادًا إلى نتائج التجربة، هذا هو النطاق المتوقّع الذي ستقع فيه قيمة المقياس بمرور الوقت.
- الإجمالي observed_metric: القيمة التراكمية المرصودة للمقياس الأساسي أو المتغير. تُستخدَم القيمة لقياس مدى جودة أداء كل صيغة من صيغ التجربة، كما تُستخدَم لاحتساب التحسّن ونطاق القيمة واحتمالية التفوق على خط الأساس واحتمالية أن تكون الصيغة هي الأفضل. واستنادًا إلى المقياس الذي يتم قياسه، قد يتم تصنيف هذا العمود على أنّه "المدة لكل مستخدم" أو "الإيرادات لكل مستخدم" أو "معدل الاحتفاظ بالمستخدمين" أو "معدل الإحالات الناجحة".
بعد إجراء التجربة لفترة من الوقت (7 أيام على الأقل لـ FCM وIn-App Messaging أو 14 يومًا لـ Remote Config)، تشير البيانات الواردة في هذه الصفحة إلى الصيغة "الأفضل"، إن وُجدت. تكون بعض القياسات مصحوبة بمخطط شريطي يعرض البيانات بتنسيق مرئي.
طرح تجربة لجميع المستخدمين
بعد أن تستمر التجربة لفترة كافية وتتوفّر صيغة "رائدة" أو صيغة تحقّق أفضل أداء في ما يتعلّق بمقياس هدفك، يمكنك طرح التجربة على جميع المستخدمين. يتيح لك ذلك اختيار صيغة لنشرها لجميع المستخدمين من الآن فصاعدًا. حتى في حال لم تُنشئ تجربتك صيغة واضحة تحقّق أفضل أداء، لا يزال بإمكانك اختيار طرح صيغة لجميع المستخدمين.
- في قسم التفاعل ضمن قائمة التنقّل في Firebase وحدة التحكّم، انقر على A/B Testing.
- انقر على مكتملة أو قيد التنفيذ، ثم انقر على التجربة التي تريد طرحها لجميع المستخدمين، وانقر على قائمة السياق ( ) طرح الصيغة.
اطرح تجربتك لجميع المستخدمين من خلال تنفيذ أحد الإجراءات التالية:
- بالنسبة إلى التجربة التي تستخدم أداة إنشاء الإشعارات، استخدِم مربّع الحوار رسالة الطرح لإرسال الرسالة إلى المستخدمين المستهدَفين المتبقّين الذين لم يكونوا جزءًا من التجربة.
- بالنسبة إلى تجربة Remote Config، اختَر صيغة لتحديد قيم مَعلمات Remote Config التي تريد تعديلها. تتم إضافة معايير الاستهداف التي تم تحديدها عند إنشاء التجربة كشرط جديد في نموذجك، وذلك للتأكّد من أنّ عملية الطرح لن تؤثر إلا في المستخدمين الذين تستهدفهم التجربة. بعد النقر على مراجعة في ميزة "الإعداد عن بُعد" للاطّلاع على التغييرات، انقر على نشر التغييرات لإكمال عملية الطرح.
- بالنسبة إلى تجربة In-App Messaging، استخدِم مربّع الحوار لتحديد نوع الإصدار الذي يجب طرحه كحملة In-App Messaging مستقلة. بعد اختيار هذا الخيار، ستتم إعادة توجيهك إلى شاشة إنشاء الرسالة داخل التطبيق لإجراء أي تغييرات (إذا لزم الأمر) قبل النشر.
توسيع نطاق تجربة
إذا تبيّن لك أنّ إحدى التجارب لا تجذب عددًا كافيًا من المستخدمين لتحديد التجربة الأفضل، يمكنك زيادة نسبة توزيع تجربتك للوصول إلى نسبة أكبر من قاعدة مستخدمي التطبيق.A/B Testing
- في قسم التفاعل ضمن قائمة التنقّل في Firebase وحدة التحكّم، انقر على A/B Testing.
- اختَر التجربة النشطة التي تريد تعديلها.
- في نظرة عامة على التجربة، انقر على قائمة السياق ( )، ثم انقر على تعديل التجربة الجارية.
- يعرض مربّع الحوار الاستهداف خيارًا لزيادة النسبة المئوية للمستخدمين المشاركين في التجربة الجارية. اختَر رقمًا أكبر من النسبة المئوية الحالية وانقر على نشر. سيتم طرح التجربة على النسبة المئوية للمستخدمين التي حدّدتها.
تكرار تجربة أو إيقافها
- في قسم التفاعل ضمن قائمة التنقّل في Firebase وحدة التحكّم، انقر على A/B Testing.
- انقر على مكتملة أو جارية، ثم مرِّر المؤشر فوق تجربتك، وانقر على قائمة السياق ( )، ثم انقر على تكرار التجربة أو إيقاف التجربة.
استهداف المستخدمين
يمكنك استهداف المستخدمين المطلوب تضمينهم في تجربتك باستخدام معايير استهداف المستخدمين التالية.
معيار الاستهداف | المشغِّلون | القيمة(القيم) | ملاحظة |
---|---|---|---|
الإصدار | يحتوي على،
لا يحتوي على، يطابق تمامًا، يحتوي على تعبير عادي |
أدخِل قيمة واحدة أو أكثر لإصدارات التطبيق التي تريد تضمينها في التجربة. |
عند استخدام أي من عوامل التشغيل يتضمّن أو لا يتضمّن أو يطابق تمامًا، يمكنك تقديم قائمة بالقيم مفصولة بفواصل. عند استخدام عامل التشغيل يحتوي على تعبير عادي، يمكنك إنشاء تعبيرات عادية بتنسيق RE2. يمكن أن يتطابق التعبير العادي مع السلسلة المستهدفة للإصدار بشكل كامل أو جزئي. يمكنك أيضًا استخدام أدوات الربط ^ و$ لمطابقة بداية سلسلة مستهدَفة أو نهايتها أو السلسلة بأكملها. |
شرائح جمهور المستخدمين | تشمل كل ما يلي:
تشمل واحدًا على الأقل مما يلي: لا تشمل كل ما يلي: لا تشمل واحدًا على الأقل مما يلي: |
اختَر شريحة جمهور واحدة أو أكثر لاستهداف المستخدمين الذين قد يتم تضمينهم في تجربتك.Analytics | قد تتطلّب بعض التجارب التي تستهدف شرائح الجمهور Google Analytics بضعة أيام لتجميع البيانات لأنّها تخضع Analytics لوقت استجابة معالجة البيانات. من المرجّح أن تواجه هذا التأخير مع المستخدمين الجدد الذين يتم عادةً إدراجهم في شرائح الجمهور المؤهّلة بعد 24 إلى 48 ساعة من إنشائها، أو مع شرائح الجمهور التي تم إنشاؤها مؤخرًا. |
خاصيّة المستخدم | بالنسبة إلى النص:
يحتوي على، لا يحتوي على، يطابق تمامًا، يحتوي على تعبير عادي بالنسبة إلى الأرقام: <، ≤، =، ≥، > |
يتم استخدام Analytics خاصية مستخدم لاختيار المستخدمين الذين قد يتم تضمينهم في تجربة، مع توفّر مجموعة من الخيارات لاختيار قيم خاصية المستخدم.
على العميل، يمكنك ضبط قيم السلسلة فقط لخصائص المستخدم. بالنسبة إلى الشروط التي تستخدم عوامل تشغيل رقمية، تحوّل خدمة Remote Config قيمة خاصية المستخدم المقابلة إلى عدد صحيح أو عدد عشري. |
عند استخدام عامل التشغيل يحتوي على تعبير عادي، يمكنك إنشاء تعبيرات عادية بتنسيق RE2. يمكن أن يتطابق التعبير العادي مع السلسلة المستهدفة للإصدار بشكل كامل أو جزئي. يمكنك أيضًا استخدام أدوات الربط ^ و$ لمطابقة بداية سلسلة مستهدَفة أو نهايتها أو السلسلة بأكملها. |
البلد/المنطقة | لا ينطبق | بلد واحد أو أكثر أو مناطق مستخدَمة لاختيار المستخدمين الذين قد يتم تضمينهم في التجربة | |
اللغات | لا ينطبق | لغة واحدة أو أكثر ولغات محلية مستخدَمة لاختيار المستخدمين الذين قد يتم تضمينهم في التجربة | |
أول فتح |
أكثر من
أقل من بين |
استهداف المستخدمين استنادًا إلى المرة الأولى التي فتحوا فيها تطبيقك، ويتم تحديدها بالأيام | |
آخر تفاعل مع التطبيق |
أكثر من
أقل من بين |
استهداف المستخدمين استنادًا إلى آخر مرة تفاعلوا فيها مع تطبيقك، محدَّدة بالأيام |
A/B Testing مقياس
عند إنشاء تجربتك، عليك اختيار مقياس أساسي أو مقياس هدف يتم استخدامه لتحديد الصيغة الفائزة. عليك أيضًا تتبُّع مقاييس أخرى لمساعدتك في فهم أداء كل صيغة من صيغ التجربة بشكل أفضل وتتبُّع المؤشرات المهمة التي قد تختلف لكل صيغة، مثل معدّل الاحتفاظ بالمستخدمين وثبات التطبيق والإيرادات الناتجة عن عمليات الشراء داخل التطبيق. يمكنك تتبُّع ما يصل إلى خمسة مقاييس غير مرتبطة بالهدف في تجربتك.
على سبيل المثال، لنفترض أنّك أضفت عمليات شراء جديدة داخل التطبيق وتريد مقارنة فعالية رسالتَي "تذكير" مختلفتَين. في هذه الحالة، يمكنك اختيار إيرادات عمليات الشراء كمقياس الهدف لأنّك تريد أن يمثّل التصميم الفائز الإشعار الذي أدّى إلى تحقيق أعلى إيرادات من عمليات الشراء داخل التطبيق. وبما أنّك تريد أيضًا تتبُّع الإصدار الذي أدّى إلى المزيد من الإحالات الناجحة المستقبلية والمستخدمين المحتفظ بهم، يمكنك إضافة ما يلي في مقاييس أخرى لتتبُّعها:- إجمالي الأرباح المقدّرة لمعرفة الفرق بين الصيغتين في إجمالي الأرباح الناتجة عن عمليات الشراء داخل التطبيق والأرباح الناتجة عن الإعلانات
- معدّل الاحتفاظ بالمستخدمين (يوم واحد) ومعدّل الاحتفاظ بالمستخدمين (من يومين إلى 3 أيام) ومعدّل الاحتفاظ بالمستخدمين (من 4 إلى 7 أيام) لتتبُّع معدّل الاحتفاظ بالمستخدمين يوميًا/أسبوعيًا
توفّر الجداول التالية تفاصيل حول كيفية احتساب مقاييس الأهداف والمقاييس الأخرى.
مقاييس الهدف
المقياس | الوصف |
---|---|
المستخدمون الذين لم يواجههم أي تعطُّل | النسبة المئوية للمستخدمين الذين لم يواجهوا أخطاء في تطبيقك تم رصدها بواسطة حزمة تطوير البرامج (SDK) Firebase Crashlytics أثناء التجربة. |
الإيرادات المقدَّرة الناتجة من الإعلانات | الأرباح المقدّرة من الإعلانات |
إجمالي الأرباح المقدَّرة | القيمة المجمّعة لعمليات الشراء والأرباح المقدّرة من الإعلانات |
الأرباح من عمليات الشراء | القيمة المجمّعة لجميع أحداث purchase وin_app_purchase
|
الاحتفاظ بالبيانات (يوم واحد) | يشير ذلك إلى عدد المستخدمين الذين يعودون إلى تطبيقك يوميًا. |
الاحتفاظ بالبيانات (من يومين إلى ثلاثة أيام) | يشير ذلك إلى عدد المستخدمين الذين يعودون إلى تطبيقك خلال يومَين إلى 3 أيام. |
الاحتفاظ بالبيانات (من 4 إلى 7 أيام) | يشير ذلك إلى عدد المستخدمين الذين يعودون إلى تطبيقك خلال مدة تتراوح بين 4 و7 أيام. |
الاحتفاظ بالبيانات (من 8 إلى 14 يومًا) | يشير ذلك إلى عدد المستخدمين الذين يعودون إلى تطبيقك خلال الفترة من 8 إلى 14 يومًا. |
الاحتفاظ بالبيانات (أكثر من 15 يومًا) | يشير ذلك إلى عدد المستخدمين الذين يعودون إلى تطبيقك بعد مرور 15 يومًا أو أكثر على آخر استخدام لهم للتطبيق. |
first_open | هو Analytics حدث يتم تشغيله عندما يفتح المستخدِم تطبيقًا للمرة الأولى بعد تثبيته أو إعادة تثبيته. يتم استخدامها كجزء من مسار الإحالة الناجحة. |
المقاييس الأخرى
المقياس | الوصف |
---|---|
notification_dismiss | حدث Analytics يتم تشغيله عندما يتم تجاهل إشعار مُرسَل بواسطة أداة إنشاء الإشعارات (على Android فقط). |
notification_receive | حدث Analytics يتم تشغيله عند تلقّي إشعار مُرسَل بواسطة أداة إنشاء الإشعارات أثناء عمل التطبيق في الخلفية (على أجهزة Android فقط). |
os_update | Analytics حدث يتتبّع وقت تحديث نظام تشغيل الجهاز إلى إصدار جديد.لمزيد من المعلومات، اطّلِع على الأحداث التي يتم جمعها تلقائيًا. |
screen_view | حدث Analytics يتتبّع الشاشات التي تمّت مشاهدتها داخل تطبيقك. لمزيد من المعلومات، راجِع مقالة تتبُّع مشاهدات الشاشة. |
session_start | Analytics حدث يتم فيه احتساب جلسات المستخدمين في تطبيقك. لمزيد من المعلومات، اطّلِع على الأحداث المجمّعة تلقائيًا. |
تصدير البيانات في BigQuery
بالإضافة إلى عرض بيانات تجربة 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 مع خدمات Firebase الأخرى، انقر على إدارة. بخلاف ذلك، انقر على ربط.
- راجِع لمحة عن ربط 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
.
بعد جمع المعلومات التي تحتاج إليها لإنشاء طلب البحث، اتّبِع الخطوات التالية:
- افتح BigQuery في وحدة تحكّم Google Cloud.
- اختَر مشروعك، ثم انقر على إنشاء طلب بحث بلغة الاستعلامات البنيوية (SQL).
- أضِف طلب البحث. للاطّلاع على أمثلة لطلبات البحث التي يمكن تنفيذها، راجِع استكشاف أمثلة لطلبات البحث.
- انقر على تشغيل.
طلب بيانات التجربة باستخدام طلب البحث الذي تم إنشاؤه تلقائيًا في وحدة تحكّم Firebase
إذا كنت تستخدم خطة Blaze، تقدّم صفحة نظرة عامة على التجربة نموذج طلب بحث يعرض اسم التجربة وخياراتها وأسماء الأحداث وعدد الأحداث للتجربة التي تشاهدها.
للحصول على الاستعلام الذي يتم إنشاؤه تلقائيًا وتشغيله، اتّبِع الخطوات التالية:
- من وحدة تحكّم Firebase، افتح A/B Testing واختَر تجربة A/B Testing التي تريد طلب البحث عنها لفتح نظرة عامة على التجربة.
- من قائمة "الخيارات" (Options)، ضِمن 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 '20240202' AND '20240502')
AND userProperty.key = 'firebase_exp_25'
GROUP BY
experimentVariant, eventName
للاطّلاع على أمثلة إضافية لطلبات البحث، انتقِل إلى استكشاف أمثلة لطلبات البحث.
استكشاف أمثلة على طلبات البحث
تقدّم الأقسام التالية أمثلة على طلبات البحث التي يمكنك استخدامها لاستخراج بيانات التجارب من جداول أحداث Google Analytics.A/B Testing
استخراج قيم الانحراف المعياري لعمليات الشراء والتجارب من جميع التجارب
يمكنك استخدام بيانات نتائج التجربة للتحقّق بشكل مستقل من Firebase A/B Testingالنتائج. يستخرج بيان SQL التالي صيغ التجربة وعدد المستخدِمين الفريدين في كل صيغة ويجمع إجمالي الأرباح من أحداث in_app_purchase
وecommerce_purchase
والانحرافات المعيارية لجميع التجارب ضمن النطاق الزمني المحدّد كتاريخَي البدء والانتهاء _TABLE_SUFFIX
.BigQuery يمكنك استخدام البيانات التي تحصل عليها من طلب البحث هذا مع أداة إنشاء الدلالة الإحصائية لاختبارات 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