هنگامی که با کاربران خود ارتباط برقرار می کنید یا یک کمپین بازاریابی جدید را شروع می کنید، می خواهید مطمئن شوید که آن را به درستی انجام داده اید. تست A/B میتواند به شما کمک کند تا با آزمایش انواع پیام در بخشهای انتخابی پایگاه کاربر خود، عبارت و ارائه بهینه را پیدا کنید. خواه هدف شما حفظ بهتر یا تبدیل در یک پیشنهاد باشد، آزمایش A/B میتواند تجزیه و تحلیل آماری را انجام دهد تا مشخص کند آیا یک نوع پیام از خط پایه برای هدف انتخابی شما بهتر است یا خیر.
برای انواع ویژگی های تست A/B با خط مبنا، موارد زیر را انجام دهید:
- آزمایش خود را ایجاد کنید
- آزمایش خود را روی دستگاه آزمایشی تأیید کنید.
- آزمایش خود را مدیریت کنید
یک آزمایش ایجاد کنید
آزمایشی که از آهنگساز Notifications استفاده می کند به شما امکان می دهد چندین گونه را در یک پیام اعلان ارزیابی کنید.
به کنسول Firebase وارد شوید و بررسی کنید که Google Analytics در پروژه شما فعال است تا آزمایش به داده های Analytics دسترسی داشته باشد.
اگر Google Analytics هنگام ایجاد پروژه خود فعال نکرده اید، می توانید آن را در برگه Integrations فعال کنید، که می توانید با استفاده از > تنظیمات پروژه در کنسول Firebase به آن دسترسی داشته باشید.
در بخش Engage نوار پیمایش کنسول Firebase ، روی A/B Testing کلیک کنید.
روی ایجاد آزمایش کلیک کنید و سپس وقتی از سرویسی که میخواهید با آن آزمایش کنید از شما خواسته شد، اعلانها را انتخاب کنید.
یک نام و توضیحات اختیاری برای آزمایش خود وارد کنید و روی Next کلیک کنید.
فیلدهای Targeting را پر کنید، ابتدا برنامه ای را انتخاب کنید که از آزمایش شما استفاده می کند. همچنین میتوانید با انتخاب گزینههایی که شامل موارد زیر است، زیرمجموعهای از کاربران خود را برای شرکت در آزمایش خود هدفگیری کنید:
- نسخه: یک یا چند نسخه از برنامه شما
- مخاطبان کاربر: مخاطبان Analytics برای هدف قرار دادن کاربرانی که ممکن است در آزمایش گنجانده شوند استفاده می شود
- ویژگی کاربر: یک یا چند ویژگی کاربر Analytics برای انتخاب کاربرانی که ممکن است در آزمایش گنجانده شوند
- کشور/منطقه: یک یا چند کشور یا منطقه برای انتخاب کاربرانی که ممکن است در آزمایش گنجانده شوند
- زبان دستگاه: یک یا چند زبان و منطقه مورد استفاده برای انتخاب کاربرانی که ممکن است در آزمایش گنجانده شوند
- اولین باز: کاربران را بر اساس اولین باری که برنامه شما را باز کرده اند مورد هدف قرار دهید
- آخرین تعامل با برنامه: کاربران را بر اساس آخرین باری که با برنامه شما درگیر شده اند مورد هدف قرار دهید
تنظیم درصد کاربران هدف: درصدی از پایگاه کاربر برنامه خود را انتخاب کنید که با معیارهای تعیین شده در زیر کاربران هدف مطابقت دارد که میخواهید به طور مساوی بین خط پایه و یک یا چند نوع در آزمایش خود تقسیم کنید. این می تواند هر درصدی بین 0.01٪ و 100٪ باشد. درصدها برای هر آزمایش، از جمله آزمایشهای تکراری، بهطور تصادفی به کاربران تخصیص داده میشوند.
در قسمت Variants ، پیامی را برای ارسال به گروه پایه در قسمت Enter text message تایپ کنید. برای ارسال پیام به گروه پایه، این قسمت را خالی بگذارید.
(اختیاری) برای افزودن بیش از یک نوع به آزمایش خود، روی افزودن نوع کلیک کنید. بهطور پیشفرض، آزمایشها یک خط پایه و یک نوع دارند.
(اختیاری) نامی برای هر گونه در آزمایش خود وارد کنید تا جایگزین نام های متغیر A ، نوع B و غیره شود.
یک معیار هدف را برای آزمایش خود تعریف کنید تا از آن هنگام ارزیابی انواع آزمایش به همراه هر سنجه اضافی مورد نظر از لیست کشویی استفاده کنید. این معیارها شامل اهداف داخلی (تعامل، خرید، درآمد، حفظ و غیره)، رویدادهای تبدیل Analytics و سایر رویدادهای Analytics است.
گزینه هایی را برای پیام خود انتخاب کنید:
- تاریخ تحویل: یا ارسال اکنون را انتخاب کنید تا آزمایش خود را بلافاصله پس از ذخیره انجام دهید، یا زمانبندی شده را برای تعیین زمانی برای شروع آزمایش خود در آینده انتخاب کنید.
- گزینههای پیشرفته: برای انتخاب گزینههای پیشرفته برای همه اعلانهای موجود در آزمایش، گزینههای پیشرفته را گسترش دهید و سپس هر یک از گزینههای پیام فهرست شده را تغییر دهید.
برای ذخیره آزمایش خود، روی Review کلیک کنید.
شما مجاز به 300 آزمایش در هر پروژه هستید که می تواند شامل حداکثر 24 آزمایش در حال اجرا باشد و بقیه به صورت پیش نویس یا تکمیل شده باشد.
آزمایش خود را روی دستگاه آزمایشی تأیید کنید
برای هر نصب Firebase میتوانید رمز ثبت FCM مرتبط با آن را بازیابی کنید. میتوانید از این نشانه برای آزمایش انواع آزمایشی خاص در دستگاه آزمایشی با نصب برنامه خود استفاده کنید. برای تأیید آزمایش خود بر روی یک دستگاه آزمایشی، موارد زیر را انجام دهید:
- رمز ثبت FCM را به شرح زیر دریافت کنید:
سویفت
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)" } }
هدف-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()); } });
وحدت
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 Testing کلیک کنید.
- روی پیش نویس کلیک کنید، نشانگر را روی آزمایش خود نگه دارید، روی منوی زمینه ( more_vert ) و سپس روی مدیریت دستگاه های آزمایشی کلیک کنید
- رمز FCM را برای یک دستگاه آزمایشی وارد کنید و نوع آزمایشی را برای ارسال به آن دستگاه آزمایشی انتخاب کنید.
- برنامه را اجرا کنید و تأیید کنید که نوع انتخاب شده در دستگاه آزمایشی دریافت می شود.
آزمایش خود را مدیریت کنید
چه با Remote Config ، اعلانها یا Firebase In-App Messaging آزمایشی ایجاد کنید، سپس میتوانید آزمایش خود را تأیید کرده و شروع کنید، آزمایش خود را در حین اجرا نظارت کنید و تعداد کاربرانی را که در آزمایش در حال اجرا گنجانده شدهاند افزایش دهید.
وقتی آزمایش شما انجام شد، میتوانید تنظیمات مورد استفاده توسط نوع برنده را یادداشت کنید و سپس آن تنظیمات را برای همه کاربران ارائه دهید. یا می توانید آزمایش دیگری را اجرا کنید.
آزمایشی را شروع کنید
- در بخش Engage از منوی پیمایش کنسول Firebase ، روی A/B Testing کلیک کنید.
- روی پیش نویس کلیک کنید و سپس روی عنوان آزمایش خود کلیک کنید.
- برای تأیید اینکه برنامه شما دارای کاربرانی است که در آزمایش شما گنجانده میشوند، جزئیات پیشنویس را گسترش دهید و عددی بیشتر از 0 درصد را در بخش هدفگیری و توزیع بررسی کنید (به عنوان مثال، 1 درصد از کاربران با معیارها مطابقت دارند ).
- برای تغییر آزمایش خود، روی ویرایش کلیک کنید.
- برای شروع آزمایش، روی شروع آزمایش کلیک کنید. شما می توانید تا 24 آزمایش را در هر پروژه در یک زمان اجرا کنید.
نظارت بر یک آزمایش
وقتی آزمایشی برای مدتی اجرا شد، میتوانید پیشرفت آن را بررسی کنید و ببینید نتایج شما برای کاربرانی که تاکنون در آزمایش شما شرکت کردهاند چگونه است.
- در بخش Engage از منوی پیمایش کنسول Firebase ، روی A/B Testing کلیک کنید.
روی Running کلیک کنید و سپس روی عنوان آزمایش خود کلیک کنید یا آن را جستجو کنید. در این صفحه میتوانید آمارهای مشاهدهشده و مدلسازیشدهای در مورد آزمایش در حال اجرا خود مشاهده کنید، از جمله موارد زیر:
- درصد تفاوت با خط مبنا : معیاری برای بهبود یک متریک برای یک نوع معین در مقایسه با خط پایه. با مقایسه محدوده مقدار برای متغیر با محدوده ارزش برای خط مبنا محاسبه می شود.
- احتمال شکست خط پایه : احتمال تخمین زده شده که یک نوع معین از خط مبنا برای متریک انتخاب شده عبور کند.
- observed_metric برای هر کاربر : بر اساس نتایج آزمایش، این محدوده پیشبینیشدهای است که مقدار متریک در طول زمان در آن قرار میگیرد.
- مجموع observed_metric : مقدار تجمعی مشاهده شده برای خط مبنا یا متغیر. این مقدار برای اندازهگیری عملکرد هر یک از انواع آزمایش استفاده میشود و برای محاسبه بهبود ، محدوده ارزش ، احتمال شکست خط پایه و احتمال بهترین نوع استفاده میشود. بسته به معیاری که اندازهگیری میشود، این ستون ممکن است دارای برچسب «مدت هر کاربر»، «درآمد به ازای هر کاربر»، «نرخ حفظ» یا «نرخ تبدیل» باشد.
پس از اینکه آزمایش شما برای مدتی اجرا شد (حداقل ۷ روز برای FCM و In-App Messaging یا ۱۴ روز برای Remote Config )، دادههای این صفحه نشان میدهد که کدام نوع، در صورت وجود، «رهبر» است. برخی از اندازهگیریها با نمودار میلهای همراه هستند که دادهها را در قالب تصویری ارائه میکند.
آزمایشی را برای همه کاربران اجرا کنید
پس از اینکه یک آزمایش به اندازه کافی طولانی شد که یک "رهبر" یا نوع برنده برای معیار هدف خود داشته باشید، می توانید آزمایش را برای 100٪ از کاربران منتشر کنید. این به شما امکان می دهد یک نوع را برای انتشار برای همه کاربران در حال حرکت انتخاب کنید. حتی اگر آزمایش شما برنده مشخصی ایجاد نکرده باشد، همچنان می توانید انتخاب کنید که یک نسخه برای همه کاربران خود منتشر کنید.
- در بخش Engage از منوی پیمایش کنسول Firebase ، روی A/B Testing کلیک کنید.
- روی Completed یا Running کلیک کنید، آزمایشی را که میخواهید برای همه کاربران منتشر کنید، روی منوی زمینه ( ) Roll out variant کلیک کنید.
با انجام یکی از موارد زیر، آزمایش خود را برای همه کاربران عرضه کنید:
- برای آزمایشی که از سازنده اعلانها استفاده میکند، از گفتگوی ارسال پیام استفاده کنید تا پیام را به سایر کاربران هدفمندی که بخشی از آزمایش نبودند ارسال کنید.
- برای آزمایش Remote Config ، یک متغیر را انتخاب کنید تا مشخص شود کدام مقادیر پارامتر Remote Config باید بهروزرسانی شود. معیارهای هدفیابی که هنگام ایجاد آزمایش تعریف شدهاند، بهعنوان یک شرط جدید در الگوی شما اضافه میشوند تا اطمینان حاصل شود که عرضه فقط بر کاربران هدف آزمایش تأثیر میگذارد. پس از کلیک بر روی Review in Remote Config برای بررسی تغییرات، روی انتشار تغییرات کلیک کنید تا عرضه کامل شود.
- برای آزمایش In-App Messaging ، از کادر گفتگو برای تعیین اینکه کدام نوع باید بهعنوان یک کمپین In-App Messaging مستقل عرضه شود، استفاده کنید. پس از انتخاب، به صفحه نوشتن FIAM هدایت می شوید تا قبل از انتشار هرگونه تغییری (در صورت لزوم) ایجاد کنید.
یک آزمایش را گسترش دهید
اگر متوجه شدید که آزمایشی کاربران کافی برای A/B Testing برای اعلام یک رهبر وارد نمیکند، میتوانید توزیع آزمایش خود را افزایش دهید تا به درصد بیشتری از پایگاه کاربر برنامه برسید.
- در بخش Engage از منوی پیمایش کنسول Firebase ، روی A/B Testing کلیک کنید.
- آزمایش در حال اجرا را که می خواهید ویرایش کنید انتخاب کنید.
- در نمای کلی آزمایش ، روی منوی زمینه ( ) و سپس ویرایش آزمایش در حال اجرا را کلیک کنید.
- گفتگوی Targeting گزینه ای را برای افزایش درصد کاربرانی که در آزمایش در حال اجرا هستند نمایش می دهد. عددی بزرگتر از درصد فعلی را انتخاب کنید و روی انتشار کلیک کنید. آزمایش به درصد کاربرانی که مشخص کردهاید منتقل میشود.
یک آزمایش را کپی یا متوقف کنید
- در بخش Engage از منوی پیمایش کنسول Firebase ، روی A/B Testing کلیک کنید.
- روی Completed یا Running کلیک کنید، نشانگر را روی آزمایش خود نگه دارید، روی منوی زمینه ( ) کلیک کنید و سپس روی آزمایش تکراری یا توقف آزمایش کلیک کنید.
هدف گذاری کاربر
میتوانید با استفاده از معیارهای هدفیابی کاربر زیر، کاربرانی را هدف قرار دهید تا در آزمایش خود بگنجانند.
معیار هدف گذاری | اپراتور(های) | ارزش(های) | توجه داشته باشید |
---|---|---|---|
نسخه | حاوی، شامل نمی شود، دقیقا مطابقت دارد، حاوی regex است | مقداری را برای یک یا چند نسخه برنامه که میخواهید در آزمایش وارد کنید، وارد کنید. | هنگام استفاده از هر یک از عملگرهای حاوی ، حاوی ، یا دقیقاً مطابقت دارد ، میتوانید فهرستی از مقادیر جدا شده با کاما ارائه دهید. هنگام استفاده از عملگر contain regex ، می توانید عبارات منظم در قالب RE2 ایجاد کنید. عبارت منظم شما می تواند با تمام یا بخشی از رشته نسخه هدف مطابقت داشته باشد. همچنین میتوانید از لنگرهای ^ و $ برای مطابقت با شروع، پایان یا کل یک رشته هدف استفاده کنید. |
مخاطبان کاربر | شامل همه، شامل حداقل یکی از شامل همه نمی شود، حداقل یکی از آنها را شامل نمی شود | برای هدف قرار دادن کاربرانی که ممکن است در آزمایش شما گنجانده شوند، یک یا چند مخاطب Analytics را انتخاب کنید. | برخی از آزمایشهایی که مخاطبان Google Analytics را هدف قرار میدهند ممکن است چند روز طول بکشد تا دادهها را جمعآوری کنند زیرا در معرض تأخیر پردازش دادههای Analytics هستند. به احتمال زیاد با این تاخیر در کاربران جدیدی مواجه خواهید شد که معمولاً 24 تا 48 ساعت پس از ایجاد در بین مخاطبان واجد شرایط ثبت نام میشوند یا برای مخاطبانی که اخیراً ایجاد شدهاند . |
دارایی کاربر | برای متن: حاوی، شامل نمی شود، دقیقا مطابقت دارد حاوی regex است برای اعداد: <، ≤، =، ≥، > | ویژگی کاربر Analytics برای انتخاب کاربرانی که ممکن است در یک آزمایش گنجانده شوند، با طیف وسیعی از گزینهها برای انتخاب مقادیر ویژگی کاربر استفاده میشود. در کلاینت، می توانید فقط مقادیر رشته ای را برای ویژگی های کاربر تنظیم کنید. برای شرایطی که از عملگرهای عددی استفاده می کنند، سرویس Remote Config مقدار ویژگی کاربر مربوطه را به یک عدد صحیح/فلوت تبدیل می کند. | هنگام استفاده از عملگر contain regex ، می توانید عبارات منظم در قالب RE2 ایجاد کنید. عبارت منظم شما می تواند با تمام یا بخشی از رشته نسخه هدف مطابقت داشته باشد. همچنین میتوانید از لنگرهای ^ و $ برای مطابقت با شروع، پایان یا کل یک رشته هدف استفاده کنید. |
کشور/منطقه | N/A | یک یا چند کشور یا منطقه برای انتخاب کاربرانی که ممکن است در آزمایش گنجانده شوند استفاده می شود. | |
زبان ها | N/A | یک یا چند زبان و منطقه برای انتخاب کاربرانی که ممکن است در آزمایش گنجانده شوند استفاده می شود. | |
ابتدا باز کنید | بیش از کمتر از بین | کاربران را بر اساس اولین باری که برنامه شما را باز کردند، که در چند روز مشخص شده است، هدف قرار دهید. | |
آخرین تعامل با برنامه | بیش از کمتر از بین | کاربران را بر اساس آخرین باری که با برنامه شما درگیر شدهاند، که در چند روز مشخص شده است، هدف قرار دهید. |
معیارهای A/B Testing
هنگامی که آزمایش خود را ایجاد می کنید، معیار اصلی یا هدف را انتخاب می کنید که برای تعیین نوع برنده استفاده می شود. همچنین باید معیارهای دیگر را ردیابی کنید تا به شما در درک بهتر عملکرد هر نوع آزمایش کمک کند و روندهای مهمی را که ممکن است برای هر گونه متفاوت باشد، مانند حفظ کاربر، پایداری برنامه و درآمد خرید درونبرنامه ردیابی کنید. می توانید حداکثر پنج معیار غیر هدف را در آزمایش خود ردیابی کنید.
به عنوان مثال، فرض کنید خریدهای درونبرنامهای جدیدی را به برنامه خود اضافه کردهاید و میخواهید اثربخشی دو پیام متفاوت «تارنج» را با هم مقایسه کنید. در این مورد، ممکن است تصمیم بگیرید درآمد خرید را به عنوان معیار هدف خود تنظیم کنید زیرا میخواهید نوع برنده اعلانی باشد که منجر به بالاترین درآمد خرید درون برنامهای شده است. و از آنجایی که شما همچنین میخواهید ردیابی کنید کدام نوع منجر به تبدیلهای بیشتر در آینده و کاربران باقی مانده شده است، میتوانید موارد زیر را در سایر معیارها برای ردیابی اضافه کنید:- کل درآمد تخمینی برای مشاهده اینکه ترکیب خرید درونبرنامه و درآمد تبلیغاتی شما چه تفاوتی بین این دو نوع دارد
- حفظ (1 روز) ، حفظ (2-3 روز) ، حفظ (4-7 روز) برای پیگیری حفظ روزانه/هفتگی کاربر
جداول زیر جزئیاتی در مورد نحوه محاسبه معیارهای هدف و سایر معیارها ارائه می دهد.
معیارهای هدف
متریک | توضیحات |
---|---|
کاربران بدون خرابی | درصد کاربرانی که در طول آزمایش با خطاهایی در برنامه شما مواجه نشدهاند که توسط Firebase Crashlytics SDK شناسایی شده است. |
درآمد تخمینی تبلیغات | درآمد تخمینی تبلیغات |
کل درآمد تخمینی | ارزش ترکیبی برای خرید و درآمد تخمینی تبلیغات. |
درآمد خرید | ارزش ترکیبی برای همه رویدادهای purchase و in_app_purchase . |
نگهداری (1 روز) | تعداد کاربرانی که به صورت روزانه به برنامه شما باز می گردند. |
نگهداری (2-3 روز) | تعداد کاربرانی که ظرف 2 تا 3 روز به برنامه شما بازگشته اند. |
نگهداری (4-7 روز) | تعداد کاربرانی که ظرف 4 تا 7 روز به برنامه شما بازگشته اند. |
نگهداری (8-14 روز) | تعداد کاربرانی که ظرف 8 تا 14 روز به برنامه شما بازگشته اند. |
نگهداری (بیش از 15 روز) | تعداد کاربرانی که 15 روز یا بیشتر پس از آخرین استفاده از برنامه شما به آن بازگشته اند. |
first_open | یک رویداد Analytics که وقتی کاربر برای اولین بار یک برنامه را پس از نصب یا نصب مجدد آن باز می کند، فعال می شود. به عنوان بخشی از یک قیف تبدیل استفاده می شود. |
سایر معیارها
متریک | توضیحات |
---|---|
notification_dismiss | یک رویداد Analytics که وقتی اعلان ارسال شده توسط سازنده Notifications رد میشود (فقط Android) فعال میشود. |
notification_receive | یک رویداد Analytics که هنگام دریافت اعلان ارسال شده توسط Notifications Composer در حالی که برنامه در پسزمینه است (فقط اندروید) شروع میشود. |
os_update | یک رویداد Analytics که زمان بهروزرسانی سیستم عامل دستگاه به نسخه جدید را ردیابی میکند. برای اطلاعات بیشتر، رویدادهای جمعآوری شده خودکار را ببینید. |
screen_view | یک رویداد Analytics که صفحههای مشاهده شده در برنامه شما را ردیابی میکند. برای کسب اطلاعات بیشتر، ردیابی نماهای صفحه را ببینید. |
جلسه_شروع | یک رویداد 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 فعال کنید
- با استفاده از BigQuery به داده های A/B Testing دسترسی پیدا کنید
- پرس و جوهای نمونه را کاوش کنید
صادرات BigQuery را برای Google Analytics در کنسول Firebase فعال کنید
اگر از طرح Spark استفاده میکنید، میتوانید از جعبه ایمنی BigQuery برای دسترسی به BigQuery بدون هزینه، مشروط به محدودیتهای Sandbox استفاده کنید. برای اطلاعات بیشتر به قیمت و جعبه ایمنی BigQuery مراجعه کنید.
ابتدا مطمئن شوید که داده های Analytics خود را به BigQuery صادر می کنید:
- برگه Integrations را باز کنید، که می توانید با استفاده از > تنظیمات پروژه در کنسول Firebase به آن دسترسی داشته باشید.
- اگر قبلاً از BigQuery با سایر سرویسهای Firebase استفاده میکنید، روی Manage کلیک کنید. در غیر این صورت، روی پیوند کلیک کنید.
- درباره پیوند Firebase به BigQuery را مرور کنید، سپس روی Next کلیک کنید.
- در قسمت Configure integration ، ضامن Google Analytics را فعال کنید.
یک منطقه را انتخاب کنید و تنظیمات صادرات را انتخاب کنید.
روی پیوند به BigQuery کلیک کنید.
بسته به نحوه صادرات دادهها، ممکن است تا یک روز طول بکشد تا جداول در دسترس قرار گیرند. برای اطلاعات بیشتر درباره صادرات داده های پروژه به BigQuery ، به صادرات داده های پروژه به BigQuery مراجعه کنید.
دسترسی به داده های A/B Testing در BigQuery
قبل از پرس و جو برای داده ها برای یک آزمایش خاص، می خواهید برخی یا همه موارد زیر را برای استفاده در پرس و جو خود به دست آورید:
- شناسه آزمایش: میتوانید این را از نشانی اینترنتی صفحه نمای کلی آزمایش دریافت کنید. برای مثال، اگر نشانی وب شما شبیه
https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25
باشد، شناسه آزمایش 25 است. - شناسه دارایی Google Analytics : این شناسه دارایی 9 رقمی Google Analytics شما است. شما می توانید این را در Google Analytics پیدا کنید. هنگامی که نام پروژه خود را برای نمایش نام جدول رویداد Google Analytics خود (
project_name.analytics_000000000.events
) گسترش می دهید، در BigQuery نیز ظاهر می شود. - تاریخ آزمایش: برای ایجاد یک جستار سریعتر و کارآمدتر، تمرین خوب است که جستارهای خود را به پارتیشنهای جدول رویداد روزانه Google Analytics که حاوی دادههای آزمایش شما هستند محدود کنید - جداول با پسوند
YYYYMMDD
. بنابراین، اگر آزمایش شما از 2 فوریه 2024 تا 2 مه 2024 اجرا شود، یک_TABLE_SUFFIX between '20240202' AND '20240502'
مشخص میکنید. برای مثال، به انتخاب مقادیر آزمایش خاص مراجعه کنید. - نامهای رویداد: معمولاً با معیارهای هدف شما که در آزمایش پیکربندی کردهاید مطابقت دارند. به عنوان مثال، رویدادهای
in_app_purchase
،ad_impression
یا رویدادهایuser_retention
.
پس از جمعآوری اطلاعات، برای ایجاد درخواست خود نیاز دارید:
- BigQuery در کنسول Google Cloud باز کنید.
- پروژه خود را انتخاب کنید، سپس Create SQL query را انتخاب کنید.
- درخواست خود را اضافه کنید برای مثال پرس و جوهایی که باید اجرا شوند، به کاوش پرس و جوهای نمونه مراجعه کنید.
- روی Run کلیک کنید.
دادههای آزمایش را با استفاده از عبارت جستجوی خودکار ایجاد شده کنسول Firebase جستجو کنید
اگر از طرح Blaze استفاده میکنید، صفحه نمای کلی آزمایش نمونهای را ارائه میکند که نام آزمایش، انواع، نامهای رویداد و تعداد رویدادهای آزمایشی را که در حال مشاهده آن هستید، برمیگرداند.
برای به دست آوردن و اجرای پرس و جو تولید شده خودکار:
- از کنسول Firebase ، A/B Testing باز کنید و آزمایش A/B Testing را که میخواهید پرس و جو کنید انتخاب کنید تا نمای کلی آزمایش باز شود.
- از منوی گزینهها، در زیر ادغام BigQuery ، Query experience data را انتخاب کنید. با این کار پروژه شما در 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
برای نمونههای پرس و جوی اضافی، به کاوش پرس و جوهای نمونه بروید.
پرس و جوهای نمونه را کاوش کنید
بخشهای زیر نمونههایی از پرسشهایی را ارائه میدهند که میتوانید برای استخراج دادههای A/B Testing از جداول رویداد Google Analytics استفاده کنید.
مقادیر انحراف استاندارد خرید و آزمایش را از همه آزمایشها استخراج کنید
میتوانید از دادههای نتایج آزمایش برای تأیید مستقل نتایج Firebase A/B Testing استفاده کنید. بیانیه BigQuery SQL زیر انواع آزمایش، تعداد کاربران منحصربهفرد در هر گونه را استخراج میکند و کل درآمد حاصل از رویدادهای 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
هنگامی که با کاربران خود ارتباط برقرار می کنید یا یک کمپین بازاریابی جدید را شروع می کنید، می خواهید مطمئن شوید که آن را به درستی انجام داده اید. تست A/B میتواند به شما کمک کند تا با آزمایش انواع پیام در بخشهای انتخابی پایگاه کاربر خود، عبارت و ارائه بهینه را پیدا کنید. خواه هدف شما حفظ بهتر یا تبدیل در یک پیشنهاد باشد، آزمایش A/B میتواند تجزیه و تحلیل آماری را انجام دهد تا مشخص کند آیا یک نوع پیام از خط پایه برای هدف انتخابی شما بهتر است یا خیر.
برای انواع ویژگی های تست A/B با خط مبنا، موارد زیر را انجام دهید:
- آزمایش خود را ایجاد کنید
- آزمایش خود را روی دستگاه آزمایشی تأیید کنید.
- آزمایش خود را مدیریت کنید
یک آزمایش ایجاد کنید
آزمایشی که از آهنگساز Notifications استفاده می کند به شما امکان می دهد چندین گونه را در یک پیام اعلان ارزیابی کنید.
به کنسول Firebase وارد شوید و بررسی کنید که Google Analytics در پروژه شما فعال است تا آزمایش به داده های Analytics دسترسی داشته باشد.
اگر Google Analytics هنگام ایجاد پروژه خود فعال نکرده اید، می توانید آن را در برگه Integrations فعال کنید، که می توانید با استفاده از > تنظیمات پروژه در کنسول Firebase به آن دسترسی داشته باشید.
در بخش Engage نوار پیمایش کنسول Firebase ، روی A/B Testing کلیک کنید.
روی ایجاد آزمایش کلیک کنید و سپس وقتی از سرویسی که میخواهید با آن آزمایش کنید از شما خواسته شد، اعلانها را انتخاب کنید.
یک نام و توضیحات اختیاری برای آزمایش خود وارد کنید و روی Next کلیک کنید.
فیلدهای Targeting را پر کنید، ابتدا برنامه ای را انتخاب کنید که از آزمایش شما استفاده می کند. همچنین میتوانید با انتخاب گزینههایی که شامل موارد زیر است، زیرمجموعهای از کاربران خود را برای شرکت در آزمایش خود هدفگیری کنید:
- نسخه: یک یا چند نسخه از برنامه شما
- مخاطبان کاربر: مخاطبان Analytics برای هدف قرار دادن کاربرانی که ممکن است در آزمایش گنجانده شوند استفاده می شود
- ویژگی کاربر: یک یا چند ویژگی کاربر Analytics برای انتخاب کاربرانی که ممکن است در آزمایش گنجانده شوند
- کشور/منطقه: یک یا چند کشور یا منطقه برای انتخاب کاربرانی که ممکن است در آزمایش گنجانده شوند
- زبان دستگاه: یک یا چند زبان و منطقه مورد استفاده برای انتخاب کاربرانی که ممکن است در آزمایش گنجانده شوند
- اولین باز: کاربران را بر اساس اولین باری که برنامه شما را باز کرده اند مورد هدف قرار دهید
- آخرین تعامل با برنامه: کاربران را بر اساس آخرین باری که با برنامه شما درگیر شده اند مورد هدف قرار دهید
تنظیم درصد کاربران هدف: درصدی از پایگاه کاربر برنامه خود را انتخاب کنید که با معیارهای تعیین شده در زیر کاربران هدف مطابقت دارد که میخواهید به طور مساوی بین خط پایه و یک یا چند نوع در آزمایش خود تقسیم کنید. این می تواند هر درصدی بین 0.01٪ و 100٪ باشد. درصدها برای هر آزمایش، از جمله آزمایشهای تکراری، بهطور تصادفی به کاربران تخصیص داده میشوند.
در قسمت Variants ، پیامی را برای ارسال به گروه پایه در قسمت Enter text message تایپ کنید. برای ارسال پیام به گروه پایه، این قسمت را خالی بگذارید.
(اختیاری) برای افزودن بیش از یک نوع به آزمایش خود، روی افزودن نوع کلیک کنید. بهطور پیشفرض، آزمایشها یک خط پایه و یک نوع دارند.
(اختیاری) نامی برای هر گونه در آزمایش خود وارد کنید تا جایگزین نام های متغیر A ، نوع B و غیره شود.
یک معیار هدف را برای آزمایش خود تعریف کنید تا از آن هنگام ارزیابی انواع آزمایش به همراه هر سنجه اضافی مورد نظر از لیست کشویی استفاده کنید. این معیارها شامل اهداف داخلی (تعامل، خرید، درآمد، حفظ و غیره)، رویدادهای تبدیل Analytics و سایر رویدادهای Analytics است.
گزینه هایی را برای پیام خود انتخاب کنید:
- تاریخ تحویل: یا ارسال اکنون را انتخاب کنید تا آزمایش خود را بلافاصله پس از ذخیره انجام دهید، یا زمانبندی شده را برای تعیین زمانی برای شروع آزمایش خود در آینده انتخاب کنید.
- گزینههای پیشرفته: برای انتخاب گزینههای پیشرفته برای همه اعلانهای موجود در آزمایش، گزینههای پیشرفته را گسترش دهید و سپس هر یک از گزینههای پیام فهرست شده را تغییر دهید.
برای ذخیره آزمایش خود، روی Review کلیک کنید.
شما مجاز به 300 آزمایش در هر پروژه هستید که می تواند شامل حداکثر 24 آزمایش در حال اجرا باشد و بقیه به صورت پیش نویس یا تکمیل شده باشد.
آزمایش خود را روی دستگاه آزمایشی تأیید کنید
برای هر نصب Firebase میتوانید رمز ثبت FCM مرتبط با آن را بازیابی کنید. میتوانید از این نشانه برای آزمایش انواع آزمایشی خاص در دستگاه آزمایشی با نصب برنامه خود استفاده کنید. برای تأیید آزمایش خود بر روی یک دستگاه آزمایشی، موارد زیر را انجام دهید:
- رمز ثبت FCM را به شرح زیر دریافت کنید:
سویفت
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)" } }
هدف-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()); } });
وحدت
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 Testing کلیک کنید.
- روی پیش نویس کلیک کنید، نشانگر را روی آزمایش خود نگه دارید، روی منوی زمینه ( more_vert ) و سپس روی مدیریت دستگاه های آزمایشی کلیک کنید
- رمز FCM را برای یک دستگاه آزمایشی وارد کنید و نوع آزمایشی را برای ارسال به آن دستگاه آزمایشی انتخاب کنید.
- برنامه را اجرا کنید و تأیید کنید که نوع انتخاب شده در دستگاه آزمایشی دریافت می شود.
آزمایش خود را مدیریت کنید
چه با Remote Config ، اعلانها یا Firebase In-App Messaging آزمایشی ایجاد کنید، سپس میتوانید آزمایش خود را تأیید کرده و شروع کنید، آزمایش خود را در حین اجرا نظارت کنید و تعداد کاربرانی را که در آزمایش در حال اجرا گنجانده شدهاند افزایش دهید.
وقتی آزمایش شما انجام شد، میتوانید تنظیمات مورد استفاده توسط نوع برنده را یادداشت کنید و سپس آن تنظیمات را برای همه کاربران ارائه دهید. یا می توانید آزمایش دیگری را اجرا کنید.
آزمایشی را شروع کنید
- در بخش Engage از منوی پیمایش کنسول Firebase ، روی A/B Testing کلیک کنید.
- روی پیش نویس کلیک کنید و سپس روی عنوان آزمایش خود کلیک کنید.
- برای تأیید اینکه برنامه شما دارای کاربرانی است که در آزمایش شما گنجانده میشوند، جزئیات پیشنویس را گسترش دهید و عددی بیشتر از 0 درصد را در بخش هدفگیری و توزیع بررسی کنید (به عنوان مثال، 1 درصد از کاربران با معیارها مطابقت دارند ).
- برای تغییر آزمایش خود، روی ویرایش کلیک کنید.
- برای شروع آزمایش، روی شروع آزمایش کلیک کنید. شما می توانید تا 24 آزمایش را در هر پروژه در یک زمان اجرا کنید.
نظارت بر یک آزمایش
وقتی آزمایشی برای مدتی اجرا شد، میتوانید پیشرفت آن را بررسی کنید و ببینید نتایج شما برای کاربرانی که تاکنون در آزمایش شما شرکت کردهاند چگونه است.
- در بخش Engage از منوی پیمایش کنسول Firebase ، روی A/B Testing کلیک کنید.
روی Running کلیک کنید و سپس روی عنوان آزمایش خود کلیک کنید یا آن را جستجو کنید. در این صفحه میتوانید آمارهای مشاهدهشده و مدلسازیشدهای در مورد آزمایش در حال اجرا خود مشاهده کنید، از جمله موارد زیر:
- درصد تفاوت با خط مبنا : معیاری برای بهبود یک متریک برای یک نوع معین در مقایسه با خط پایه. با مقایسه محدوده مقدار برای متغیر با محدوده ارزش برای خط مبنا محاسبه می شود.
- احتمال شکست خط پایه : احتمال تخمین زده شده که یک نوع معین از خط مبنا برای متریک انتخاب شده عبور کند.
- observed_metric برای هر کاربر : بر اساس نتایج آزمایش، این محدوده پیشبینیشدهای است که مقدار متریک در طول زمان در آن قرار میگیرد.
- مجموع observed_metric : مقدار تجمعی مشاهده شده برای خط مبنا یا متغیر. این مقدار برای اندازهگیری عملکرد هر یک از انواع آزمایش استفاده میشود و برای محاسبه بهبود ، محدوده ارزش ، احتمال شکست خط پایه و احتمال بهترین نوع استفاده میشود. بسته به معیاری که اندازهگیری میشود، این ستون ممکن است دارای برچسب «مدت هر کاربر»، «درآمد به ازای هر کاربر»، «نرخ حفظ» یا «نرخ تبدیل» باشد.
پس از اینکه آزمایش شما برای مدتی اجرا شد (حداقل ۷ روز برای FCM و In-App Messaging یا ۱۴ روز برای Remote Config )، دادههای این صفحه نشان میدهد که کدام نوع، در صورت وجود، «رهبر» است. برخی از اندازهگیریها با نمودار میلهای همراه هستند که دادهها را در قالب تصویری ارائه میکند.
آزمایشی را برای همه کاربران اجرا کنید
پس از اینکه یک آزمایش به اندازه کافی طولانی شد که یک "رهبر" یا نوع برنده برای معیار هدف خود داشته باشید، می توانید آزمایش را برای 100٪ از کاربران منتشر کنید. این به شما امکان می دهد یک نوع را برای انتشار برای همه کاربران در حال حرکت انتخاب کنید. حتی اگر آزمایش شما برنده مشخصی ایجاد نکرده باشد، همچنان میتوانید انتخاب کنید که یک نسخه برای همه کاربران خود منتشر کنید.
- در بخش Engage از منوی پیمایش کنسول Firebase ، روی A/B Testing کلیک کنید.
- روی Completed یا Running کلیک کنید، آزمایشی را که میخواهید برای همه کاربران منتشر کنید، روی منوی زمینه ( ) Roll out variant کلیک کنید.
با انجام یکی از موارد زیر، آزمایش خود را برای همه کاربران عرضه کنید:
- برای آزمایشی که از سازنده اعلانها استفاده میکند، از گفتگوی ارسال پیام استفاده کنید تا پیام را به سایر کاربران هدفمندی که بخشی از آزمایش نبودند ارسال کنید.
- برای آزمایش Remote Config ، یک متغیر را انتخاب کنید تا مشخص شود کدام مقادیر پارامتر Remote Config باید بهروزرسانی شود. معیارهای هدفیابی که هنگام ایجاد آزمایش تعریف شدهاند، بهعنوان یک شرط جدید در الگوی شما اضافه میشوند تا اطمینان حاصل شود که عرضه فقط بر کاربران هدف آزمایش تأثیر میگذارد. پس از کلیک بر روی Review in Remote Config برای بررسی تغییرات، روی انتشار تغییرات کلیک کنید تا عرضه کامل شود.
- برای آزمایش In-App Messaging ، از کادر گفتگو برای تعیین اینکه کدام نوع باید بهعنوان یک کمپین In-App Messaging مستقل عرضه شود، استفاده کنید. پس از انتخاب ، شما به صفحه نمایش FIAM هدایت می شوید تا قبل از انتشار هرگونه تغییر (در صورت لزوم) ایجاد کنید.
یک آزمایش را گسترش دهید
اگر فهمیدید که یک آزمایش به اندازه کافی کاربران را برای A/B Testing برای اعلام یک رهبر وارد نمی کند ، می توانید توزیع آزمایش خود را افزایش دهید تا به درصد بیشتری از پایگاه کاربر برنامه برسید.
- در بخش Engage از منوی ناوبری کنسول Firebase ، روی A/B Testing کلیک کنید.
- آزمایش در حال اجرا را که می خواهید ویرایش کنید انتخاب کنید.
- در بررسی اجمالی آزمایش ، روی منوی زمینه ( ) کلیک کنید و سپس روی Edit Running Experiment کلیک کنید.
- گفتگوی هدفمند گزینه ای را برای افزایش درصد کاربرانی که در آزمایش در حال اجرا هستند ، نشان می دهد. یک عدد بیشتر از درصد فعلی را انتخاب کرده و روی انتشار کلیک کنید. این آزمایش به درصد کاربرانی که شما مشخص کرده اید منتقل می شود.
کپی یا متوقف کردن یک آزمایش
- در بخش Engage از منوی ناوبری کنسول Firebase ، روی A/B Testing کلیک کنید.
- بر روی تکمیل یا اجرای ، کلیک کنید ، نشانگر را روی آزمایش خود نگه دارید ، بر روی منوی زمینه ( ) کلیک کنید و سپس روی آزمایش کپی یا آزمایش Stop کلیک کنید.
هدف گیری کاربر
شما می توانید کاربران را هدف قرار دهید تا با استفاده از معیارهای هدف گیری کاربر زیر ، آزمایش خود را در آزمایش خود قرار دهند.
معیار هدفمند | اپراتور(های) | مقدار (ها) | توجه داشته باشید |
---|---|---|---|
نسخه | حاوی، حاوی نیست ، دقیقاً مطابقت دارد ، حاوی regex است | برای یک یا چند نسخه برنامه که می خواهید در آزمایش قرار دهید ، یک مقدار را وارد کنید. | هنگام استفاده از هر یک از این موارد ، حاوی ، یا دقیقاً با اپراتورها مطابقت ندارد ، می توانید یک لیست از مقادیر جدا از کاما تهیه کنید. هنگام استفاده از اپراتور REGEX ، می توانید عبارات منظم را با فرمت RE2 ایجاد کنید. بیان منظم شما می تواند با تمام یا بخشی از رشته نسخه هدف مطابقت داشته باشد. همچنین می توانید از لنگرهای ^ و $ برای مطابقت با ابتدا ، پایان یا کلیت یک رشته هدف استفاده کنید. |
مخاطبان (های) کاربر | شامل همه ، شامل حداقل یکی از ، شامل همه ، حداقل یکی از آنها را شامل نمی شود | برای هدف قرار دادن کاربرانی که ممکن است در آزمایش شما گنجانده شوند ، یک یا چند مخاطب Analytics را انتخاب کنید. | برخی از آزمایشاتی که مخاطبان Google Analytics را هدف قرار می دهند ممکن است چند روز برای جمع آوری داده ها نیاز داشته باشند زیرا آنها در معرض تأخیر پردازش داده های Analytics قرار دارند. شما به احتمال زیاد با کاربران جدید ، که به طور معمول 24-48 ساعت پس از ایجاد یا برای مخاطبان اخیراً ایجاد شده اند ، با این تأخیر روبرو می شوید. |
خاصیت کاربر | برای متن: حاوی، حاوی نیست ، دقیقاً مطابقت دارد ، حاوی regex است برای اعداد: <، ≤ ، = ، ≥ ،> | یک ویژگی کاربر Analytics برای انتخاب کاربرانی که ممکن است در یک آزمایش گنجانده شوند ، با طیف وسیعی از گزینه ها برای انتخاب مقادیر خاصیت کاربر استفاده می شود. در مشتری ، می توانید فقط مقادیر رشته ای را برای خصوصیات کاربر تنظیم کنید. برای شرایطی که از اپراتورهای عددی استفاده می کنند ، سرویس Remote Config مقدار خاصیت کاربر مربوطه را به یک عدد صحیح/شناور تبدیل می کند. | هنگام استفاده از اپراتور REGEX ، می توانید عبارات منظم را با فرمت RE2 ایجاد کنید. بیان منظم شما می تواند با تمام یا بخشی از رشته نسخه هدف مطابقت داشته باشد. همچنین می توانید از لنگرهای ^ و $ برای مطابقت با ابتدا ، پایان یا کلیت یک رشته هدف استفاده کنید. |
کشور/منطقه | N/A | یک یا چند کشور یا منطقه ای که برای انتخاب کاربرانی که ممکن است در این آزمایش گنجانده شوند استفاده می شود. | |
زبان ها | N/A | یک یا چند زبان و محلی برای انتخاب کاربرانی که ممکن است در این آزمایش گنجانده شوند استفاده می شود. | |
اول باز | بیش از کمتر از بین | کاربران را بر اساس اولین باری که برنامه شما را باز کرده اند ، که در روزها مشخص شده است ، هدف قرار دهید. | |
آخرین نامزدی برنامه | بیش از کمتر از بین | کاربران را بر اساس آخرین باری که با برنامه شما درگیر شده اند ، که در روزها مشخص شده اند ، هدف قرار دهند. |
معیارهای A/B Testing
هنگامی که آزمایش خود را ایجاد می کنید ، یک متریک اصلی یا هدف را انتخاب می کنید که برای تعیین نوع برنده استفاده می شود. شما همچنین باید معیارهای دیگری را ردیابی کنید تا به شما در درک بهتر عملکرد هر نوع آزمایش کمک کند و روندهای مهمی را که ممکن است برای هر نوع متفاوت باشد ، مانند حفظ کاربر ، ثبات برنامه و درآمد خرید درون برنامه ، پیگیری کنید. در آزمایش خود می توانید پنج معیار غیر فلزی را پیگیری کنید.
به عنوان مثال ، بگویید که شما خریدهای جدید برنامه را به برنامه خود اضافه کرده اید و می خواهید اثربخشی دو پیام مختلف "گنگ" را مقایسه کنید. در این حالت ، شما ممکن است تصمیم بگیرید که درآمد خرید را به عنوان متریک هدف خود تعیین کنید زیرا می خواهید نوع برنده ای را نشان دهد که منجر به بالاترین درآمد خرید درون برنامه شده است. و از آنجا که شما همچنین می خواهید پیگیری کنید که کدام نوع منجر به تبدیل های آینده بیشتر و کاربران حفظ شده است ، ممکن است موارد زیر را در سایر معیارها برای ردیابی اضافه کنید:- کل درآمد تخمین زده شده برای دیدن چگونگی خرید و درآمد آگهی ترکیبی شما بین دو نوع متفاوت است
- احتباس (1 روز) ، احتباس (2-3 روز) ، حفظ (4-7 روز) برای پیگیری حفظ روزانه/هفتگی کاربر
جداول زیر جزئیات مربوط به چگونگی محاسبه معیارهای هدف و سایر معیارها را ارائه می دهد.
معیارهای هدف
متریک | توضیحات |
---|---|
کاربران بدون تصادف | درصد کاربرانی که در برنامه شما با خطایی روبرو نشده اند که در طول آزمایش توسط Firebase Crashlytics SDK شناسایی شده اند. |
درآمد تبلیغاتی تخمین زده شده | درآمد آگهی تخمین زده شده. |
کل درآمد تخمین زده شده است | ارزش ترکیبی برای خرید و درآمد آگهی تخمین زده شده. |
خرید درآمد | ارزش ترکیبی برای همه رویدادهای purchase و in_app_purchase . |
احتباس (1 روز) | تعداد کاربرانی که روزانه به برنامه شما باز می گردند. |
احتباس (2-3 روز) | تعداد کاربرانی که ظرف 2-3 روز به برنامه شما باز می گردند. |
احتباس (4-7 روز) | تعداد کاربرانی که طی 4-7 روز به برنامه شما باز می گردند. |
احتباس (8-14 روز) | تعداد کاربرانی که ظرف 8-14 روز به برنامه شما باز می گردند. |
احتباس (15+ روز) | تعداد کاربرانی که 15 یا بیشتر از آخرین استفاده از آن به برنامه شما باز می گردند. |
اول_ش | یک رویداد Analytics که باعث می شود وقتی کاربر برای اولین بار پس از نصب یا نصب مجدد آن ، یک برنامه را باز کند. به عنوان بخشی از قیف تبدیل استفاده می شود. |
معیارهای دیگر
متریک | توضیحات |
---|---|
notification_dismiss | یک رویداد Analytics که باعث می شود هنگامی که اعلان ارسال شده توسط آهنگساز اعلان ها ارسال شود ، رد می شود (فقط اندروید). |
NOTIFICIVE_RECEIVE | یک رویداد Analytics که هنگام اعلان ارسال شده توسط آهنگساز اعلان ها در حالی که برنامه در پس زمینه است دریافت می شود (فقط Android). |
os_update | یک رویداد Analytics که هنگام به روزرسانی سیستم عامل دستگاه به نسخه جدید ، ردیابی می کند. برای کسب اطلاعات بیشتر ، به رویدادهای جمع آوری شده خودکار مراجعه کنید. |
نمای_ نمایشگر | یک رویداد Analytics که صفحه نمایش های مشاهده شده در برنامه شما را ردیابی می کند. برای کسب اطلاعات بیشتر ، به صفحه نمایش ScreenViews مراجعه کنید. |
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 را تأیید کنید.
برای شروع ، موارد زیر را همانطور که در این راهنما توضیح داده شده است ، تکمیل کنید:
- Export BigQuery را برای Google Analytics در کنسول Firebase فعال کنید
- دسترسی به داده های A/B Testing با استفاده از BigQuery
- نمایش داده های مثال را کاوش کنید
Export BigQuery را برای Google Analytics در کنسول Firebase فعال کنید
اگر در برنامه Spark هستید ، می توانید از BigQuery Sandbox برای دسترسی به BigQuery بدون هیچ هزینه ای استفاده کنید ، با توجه به محدودیت های ماسهبازی . برای اطلاعات بیشتر به قیمت گذاری و ماسهبازی BigQuery مراجعه کنید.
ابتدا اطمینان حاصل کنید که داده های Analytics خود را به BigQuery صادر می کنید:
- برگه Integrations را باز کنید که می توانید با استفاده از > تنظیمات پروژه در کنسول Firebase به آن دسترسی پیدا کنید.
- اگر در حال حاضر از BigQuery با سایر خدمات Firebase استفاده می کنید ، روی مدیریت کلیک کنید. در غیر این صورت ، روی پیوند کلیک کنید.
- بررسی در مورد پیوند Firebase به BigQuery ، سپس روی Next کلیک کنید.
- در بخش ادغام پیکربندی ، ضامن 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 پیدا کنید. همچنین وقتی نام پروژه خود را گسترش می دهید تا نام جدول رویداد Google Analytics خود را نشان دهید (
project_name.analytics_000000000.events
) در BigQuery ظاهر می شود. - تاریخ آزمایش: برای تهیه یک پرس و جو سریعتر و کارآمدتر ، این کار خوب است که نمایش داده های خود را به قسمت های جدول رویدادهای روزانه Google Analytics محدود کنید که حاوی داده های آزمایش شما است - مشخصات مشخص شده با پسوند
YYYYMMDD
. بنابراین ، اگر آزمایش شما از 2 فوریه 2024 تا 2 مه 2024 انجام شد ، می توانید_TABLE_SUFFIX between '20240202' AND '20240502'
مشخص کنید. برای مثال ، مقادیر یک آزمایش خاص را انتخاب کنید . - نام رویداد: به طور معمول ، اینها با معیارهای هدف شما که در آزمایش پیکربندی کرده اید مطابقت دارد. به عنوان مثال ، رویدادهای
in_app_purchase
،ad_impression
یا رویدادهایuser_retention
.
بعد از جمع آوری اطلاعات ، شما باید برای تولید پرس و جو خود:
- BigQuery در کنسول Google Cloud باز کنید.
- پروژه خود را انتخاب کنید ، سپس ایجاد SQL Query را انتخاب کنید.
- پرس و جو خود را اضافه کنید. به عنوان مثال پرس و جو برای اجرای ، به نمایش داده های نمونه کاوش مراجعه کنید.
- روی Run کلیک کنید.
داده های آزمایش پرس و جو با استفاده از پرس و جو تولید شده توسط کنسول Firebase
اگر از برنامه Blaze استفاده می کنید ، صفحه نمای کلی آزمایش یک پرس و جو نمونه ای را ارائه می دهد که نام آزمایش ، انواع ، نام رویداد و تعداد رویدادهای آزمایشی را که مشاهده می کنید باز می گرداند.
برای به دست آوردن و اجرای پرس و جو تولید شده خودکار:
- از کنسول Firebase ، A/B Testing باز کنید و آزمایش A/B Testing که می خواهید برای باز کردن نمای کلی آزمایش کنید انتخاب کنید.
- از منوی گزینه ها ، در زیر ادغام BigQuery ، داده های آزمایش پرس و جو را انتخاب کنید. این پروژه شما را در BigQuery در کنسول کنسول Google Cloud باز می کند و یک پرس و جو اساسی را که می توانید برای پرس و جو از داده های آزمایش خود استفاده کنید ، ارائه می دهد.
مثال زیر یک پرس و جو تولید شده برای آزمایش با سه نوع (از جمله پایه) به نام "آزمایش خوش آمدید زمستان" را نشان می دهد. این نام آزمایش فعال ، نام متفاوت ، رویداد منحصر به فرد و شمارش رویداد را برای هر رویداد برمی گرداند. توجه داشته باشید که سازنده Query نام پروژه شما را در نام جدول مشخص نمی کند ، زیرا مستقیماً در پروژه شما باز می شود.
/*
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 به طور مستقل استفاده کنید. عبارت BigQuery SQL شامل انواع آزمایش ، تعداد کاربران منحصر به فرد در هر نوع ، و جمع آوری درآمد کل از رویدادهای 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
هنگامی که به کاربران خود مراجعه می کنید یا یک کمپین بازاریابی جدید را شروع می کنید ، می خواهید مطمئن شوید که آن را به درستی دریافت کرده اید. آزمایش A/B می تواند با آزمایش انواع پیام در بخش های انتخاب شده پایگاه کاربر خود ، به شما در یافتن متن و ارائه بهینه کمک کند. این که آیا هدف شما حفظ بهتر یا تبدیل در یک پیشنهاد است ، آزمایش A/B می تواند تجزیه و تحلیل آماری را انجام دهد تا مشخص کند آیا یک نوع پیام از پایه برای هدف انتخاب شده شما بهتر است.
به انواع ویژگی های تست A/B با یک پایه ، موارد زیر را انجام دهید:
- آزمایش خود را ایجاد کنید.
- آزمایش خود را در یک دستگاه آزمایشی تأیید کنید.
- آزمایش خود را مدیریت کنید.
یک آزمایش ایجاد کنید
آزمایشی که از آهنگساز Notifications استفاده می کند ، به شما امکان می دهد انواع مختلفی را در یک پیام اعلان واحد ارزیابی کنید.
وارد کنسول Firebase شوید و تأیید کنید که Google Analytics در پروژه شما فعال شده است تا آزمایش به داده های Analytics دسترسی داشته باشد.
اگر هنگام ایجاد پروژه خود Google Analytics را فعال نکردید ، می توانید آن را در برگه Integrations فعال کنید که می توانید با استفاده از > تنظیمات پروژه در کنسول Firebase به آن دسترسی پیدا کنید.
در بخش Engage نوار ناوبری کنسول Firebase ، روی A/B Testing کلیک کنید.
روی ایجاد آزمایش کلیک کنید و سپس هنگام درخواست خدمات مورد نظر برای آزمایش ، اعلان ها را انتخاب کنید.
یک نام و توضیحات اختیاری را برای آزمایش خود وارد کنید و روی Next کلیک کنید.
قسمتهای هدفمند را پر کنید ، ابتدا برنامه ای را که از آزمایش شما استفاده می کند انتخاب کنید. همچنین می توانید با انتخاب گزینه هایی که شامل موارد زیر است ، زیر مجموعه ای از کاربران خود را برای شرکت در آزمایش خود هدف قرار دهید:
- نسخه: یک یا چند نسخه از برنامه شما
- مخاطبان کاربر: مخاطبان Analytics که برای هدف قرار دادن کاربرانی که ممکن است در این آزمایش قرار بگیرند استفاده می شود
- خاصیت کاربر: یک یا چند ویژگی کاربر Analytics برای انتخاب کاربرانی که ممکن است در این آزمایش گنجانده شوند
- کشور/منطقه: یک یا چند کشور یا منطقه برای انتخاب کاربرانی که ممکن است در این آزمایش گنجانده شوند
- زبان دستگاه: یک یا چند زبان و محلی برای انتخاب کاربرانی که ممکن است در این آزمایش گنجانده شوند استفاده می شود
- First Open: کاربران هدف را بر اساس اولین باری که برنامه شما را باز کرده اند
- آخرین تعامل برنامه: کاربران هدف را بر اساس آخرین باری که با برنامه شما درگیر شده اند
درصد کاربران هدف را تنظیم کنید: درصد از پایه کاربر برنامه خود را مطابق با معیارهای تعیین شده در زیر کاربران هدف انتخاب کنید که می خواهید به طور مساوی بین پایه و یک یا چند نوع در آزمایش خود تقسیم کنید. این می تواند هر درصد بین 0.01 ٪ تا 100 ٪ باشد. درصد ها به طور تصادفی برای هر آزمایش ، از جمله آزمایش های تکراری ، به کاربران واگذار می شوند.
در بخش Variants ، یک پیام برای ارسال به گروه پایه در قسمت متن پیام Enter تایپ کنید. برای ارسال هیچ پیامی به گروه پایه ، این قسمت را خالی بگذارید.
(اختیاری) برای اضافه کردن بیش از یک نوع به آزمایش خود ، روی Add Variant کلیک کنید. به طور پیش فرض ، آزمایشات دارای یک پایه و یک نوع است.
(اختیاری) یک نام برای هر نوع در آزمایش خود وارد کنید تا انواع نام A ، Variant B و غیره را جایگزین کنید.
یک متریک هدف را برای آزمایش خود در هنگام ارزیابی انواع آزمایش به همراه هر معیارهای اضافی مورد نظر از لیست کشویی تعریف کنید. این معیارها شامل اهداف داخلی (تعامل ، خرید ، درآمد ، حفظ و غیره) ، رویدادهای تبدیل Analytics و سایر رویدادهای Analytics است.
گزینه هایی را برای پیام خود انتخاب کنید:
- تاریخ تحویل: یا Now Now را انتخاب کنید تا آزمایش خود را بلافاصله پس از صرفه جویی کنید ، یا برنامه ریزی شده برای تعیین زمان آزمایش خود در آینده مشخص شود.
- گزینه های پیشرفته: برای انتخاب گزینه های پیشرفته برای همه اعلان های موجود در آزمایش خود ، گسترش گزینه های پیشرفته و سپس تغییر هر یک از گزینه های پیام ذکر شده.
برای ذخیره آزمایش خود روی بررسی کلیک کنید.
به شما اجازه داده می شود تا 300 آزمایش در هر پروژه ، که می تواند شامل 24 آزمایش در حال اجرا باشد ، با بقیه به عنوان پیش نویس یا تکمیل شده باشد.
آزمایش خود را در یک دستگاه آزمایشی تأیید کنید
برای هر نصب Firebase می توانید نشانه ثبت نام FCM مرتبط با آن را بازیابی کنید. با نصب برنامه خود می توانید از این نشانه برای آزمایش انواع آزمایش خاص در یک دستگاه تست استفاده کنید. برای اعتبارسنجی آزمایش خود در یک دستگاه آزمایش ، موارد زیر را انجام دهید:
- نشانه ثبت نام FCM را به شرح زیر دریافت کنید:
سویفت
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)" } }
هدف-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()); } });
وحدت
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 کلیک کنید.
- روی پیش نویس کلیک کنید ، روی آزمایش خود حرکت کنید ، روی منوی Context ( more_vert ) کلیک کنید ، و سپس روی مدیریت دستگاه های تست کلیک کنید
- برای یک دستگاه تست Token FCM را وارد کنید و نوع آزمایش را برای ارسال به آن دستگاه تست انتخاب کنید.
- برنامه را اجرا کنید و تأیید کنید که نوع انتخاب شده در دستگاه تست دریافت می شود.
آزمایش خود را مدیریت کنید
این که آیا شما یک آزمایش را با Remote Config ، آهنگساز اعلان ها یا Firebase In-App Messaging ایجاد کرده اید ، می توانید سپس آزمایش خود را تأیید کرده و شروع کنید ، آزمایش خود را در حالی که در حال اجرا است نظارت کنید و تعداد کاربران موجود در آزمایش در حال اجرا را افزایش دهید.
هنگامی که آزمایش شما انجام شد ، می توانید به تنظیمات مورد استفاده در نوع برنده توجه داشته باشید و سپس آن تنظیمات را برای همه کاربران جمع کنید. یا می توانید آزمایش دیگری را انجام دهید.
یک آزمایش را شروع کنید
- در بخش Engage از منوی ناوبری کنسول Firebase ، روی A/B Testing کلیک کنید.
- روی پیش نویس کلیک کنید ، و سپس بر روی عنوان آزمایش خود کلیک کنید.
- برای تأیید اینکه برنامه شما دارای کاربرانی است که در آزمایش شما گنجانده شده اند ، پیش نویس جزئیات را گسترش داده و تعداد بیشتری از 0 ٪ را در بخش هدفگذاری و توزیع بررسی می کنند (به عنوان مثال ، 1 ٪ کاربران مطابق با معیارها ).
- برای تغییر آزمایش خود ، روی ویرایش کلیک کنید.
- برای شروع آزمایش خود ، روی شروع آزمایش کلیک کنید. شما می توانید حداکثر 24 آزمایش در هر پروژه را به طور همزمان انجام دهید.
نظارت بر یک آزمایش
هنگامی که یک آزمایش برای مدتی در حال اجرا است ، می توانید پیشرفت آن را بررسی کنید و ببینید که نتایج شما برای کاربرانی که تاکنون در آزمایش شما شرکت کرده اند به نظر می رسد.
- در بخش Engage از منوی ناوبری کنسول Firebase ، روی A/B Testing کلیک کنید.
روی Running کلیک کنید و سپس بر روی عنوان آزمایش خود کلیک کنید یا جستجو کنید. در این صفحه ، می توانید آمار مختلف مشاهده شده و مدل شده در مورد آزمایش در حال اجرا خود را مشاهده کنید ، از جمله موارد زیر:
- اختلاف ٪ از پایه : اندازه گیری بهبود یک متریک برای یک نوع معین در مقایسه با پایه. با مقایسه دامنه مقدار برای نوع با دامنه مقدار برای پایه محاسبه می شود.
- احتمال ضرب و شتم پایه : احتمال تخمین زده شده که یک نوع خاص پایه را برای متریک انتخاب شده ضرب می کند.
- observed_metric برای هر کاربر : بر اساس نتایج آزمایش ، این محدوده پیش بینی شده است که مقدار متریک با گذشت زمان به آن می رسد.
- کل observed_metric : مقدار تجمعی مشاهده شده برای پایه یا نوع. از این مقدار برای اندازه گیری چگونگی عملکرد هر نوع آزمایش استفاده می شود و برای محاسبه بهبود ، دامنه ارزش ، احتمال ضرب و شتم پایه و احتمال بهترین نوع استفاده می شود. بسته به اندازه گیری متریک ، این ستون ممکن است با عنوان "مدت زمان در کاربر" ، "درآمد برای هر کاربر" ، "نرخ نگهداری" یا "نرخ تبدیل" برچسب گذاری شود.
بعد از اینکه آزمایش شما برای مدتی اجرا شد (حداقل 7 روز برای پیام رسانی FCM و In-App Messaging یا 14 روز برای Remote Config ) ، داده های موجود در این صفحه نشان می دهد که در صورت وجود کدام نوع ، "رهبر" است. برخی از اندازه گیری ها با یک نمودار نوار همراه هستند که داده ها را با فرمت بصری ارائه می دهد.
آزمایشی را برای همه کاربران انجام دهید
بعد از اینکه یک آزمایش به اندازه کافی طولانی انجام شد که شما یک "رهبر" یا نوع برنده دارید ، برای معیار هدف خود ، می توانید این آزمایش را به 100 ٪ از کاربران آزاد کنید. این به شما امکان می دهد یک نوع را برای انتشار برای همه کاربرانی که به جلو حرکت می کنند ، انتخاب کنید. حتی اگر آزمایش شما یک برنده واضح ایجاد نکرده باشد ، هنوز هم می توانید یک نوع را برای همه کاربران خود منتشر کنید.
- در بخش Engage از منوی ناوبری کنسول Firebase ، روی A/B Testing کلیک کنید.
- بر روی تکمیل یا اجرا کلیک کنید ، روی آزمایشی که می خواهید برای همه کاربران منتشر کنید ، کلیک کنید ، بر روی منوی Context ( ) Roll Out کلیک کنید.
با انجام یکی از موارد زیر ، آزمایش خود را به همه کاربران منتقل کنید:
- برای آزمایشی که از آهنگساز Notifications استفاده می کند ، از گفتگوی پیام Roll Out استفاده کنید تا پیام را به کاربران هدفمند باقیمانده که جزئی از این آزمایش نبودند ، ارسال کنید.
- برای یک آزمایش Remote Config ، یک نوع را انتخاب کنید تا تعیین کنید که مقادیر پارامتر Remote Config برای به روزرسانی چیست. معیارهای هدفمند که هنگام ایجاد آزمایش تعریف شده است به عنوان یک شرایط جدید در الگوی شما اضافه می شود ، تا اطمینان حاصل شود که این روند فقط بر کاربران مورد هدف آزمایش تأثیر می گذارد. پس از کلیک بر روی بررسی در Remote Config برای بررسی تغییرات ، روی انتشار تغییرات کلیک کنید تا بتوانید Rollout را تکمیل کنید.
- برای یک آزمایش In-App Messaging ، از گفتگو استفاده کنید تا مشخص کنید کدام نوع باید به عنوان یک کمپین In-App Messaging مستقل انجام شود. پس از انتخاب ، شما به صفحه نمایش FIAM هدایت می شوید تا قبل از انتشار هرگونه تغییر (در صورت لزوم) ایجاد کنید.
یک آزمایش را گسترش دهید
اگر فهمیدید که یک آزمایش به اندازه کافی کاربران را برای A/B Testing برای اعلام یک رهبر وارد نمی کند ، می توانید توزیع آزمایش خود را افزایش دهید تا به درصد بیشتری از پایگاه کاربر برنامه برسید.
- در بخش Engage از منوی ناوبری کنسول Firebase ، روی A/B Testing کلیک کنید.
- آزمایش در حال اجرا را که می خواهید ویرایش کنید انتخاب کنید.
- در بررسی اجمالی آزمایش ، روی منوی زمینه ( ) کلیک کنید و سپس روی Edit Running Experiment کلیک کنید.
- گفتگوی هدفمند گزینه ای را برای افزایش درصد کاربرانی که در آزمایش در حال اجرا هستند ، نشان می دهد. یک عدد بیشتر از درصد فعلی را انتخاب کرده و روی انتشار کلیک کنید. این آزمایش به درصد کاربرانی که شما مشخص کرده اید منتقل می شود.
کپی یا متوقف کردن یک آزمایش
- در بخش Engage از منوی ناوبری کنسول Firebase ، روی A/B Testing کلیک کنید.
- بر روی تکمیل یا اجرای ، کلیک کنید ، نشانگر را روی آزمایش خود نگه دارید ، بر روی منوی زمینه ( ) کلیک کنید و سپس روی آزمایش کپی یا آزمایش Stop کلیک کنید.
هدف گیری کاربر
شما می توانید کاربران را هدف قرار دهید تا با استفاده از معیارهای هدف گیری کاربر زیر ، آزمایش خود را در آزمایش خود قرار دهند.
معیار هدفمند | اپراتور(های) | مقدار (ها) | توجه داشته باشید |
---|---|---|---|
نسخه | حاوی، حاوی نیست ، دقیقاً مطابقت دارد ، حاوی regex است | برای یک یا چند نسخه برنامه که می خواهید در آزمایش قرار دهید ، یک مقدار را وارد کنید. | هنگام استفاده از هر یک از این موارد ، حاوی ، یا دقیقاً با اپراتورها مطابقت ندارد ، می توانید یک لیست از مقادیر جدا از کاما تهیه کنید. هنگام استفاده از اپراتور REGEX ، می توانید عبارات منظم را با فرمت RE2 ایجاد کنید. بیان منظم شما می تواند با تمام یا بخشی از رشته نسخه هدف مطابقت داشته باشد. همچنین می توانید از لنگرهای ^ و $ برای مطابقت با ابتدا ، پایان یا کلیت یک رشته هدف استفاده کنید. |
مخاطبان (های) کاربر | شامل همه ، شامل حداقل یکی از ، شامل همه ، حداقل یکی از آنها را شامل نمی شود | برای هدف قرار دادن کاربرانی که ممکن است در آزمایش شما گنجانده شوند ، یک یا چند مخاطب Analytics را انتخاب کنید. | برخی از آزمایشاتی که مخاطبان Google Analytics را هدف قرار می دهند ممکن است چند روز برای جمع آوری داده ها نیاز داشته باشند زیرا آنها در معرض تأخیر پردازش داده های Analytics قرار دارند. شما به احتمال زیاد با کاربران جدید ، که به طور معمول 24-48 ساعت پس از ایجاد یا برای مخاطبان اخیراً ایجاد شده اند ، با این تأخیر روبرو می شوید. |
خاصیت کاربر | برای متن: حاوی، حاوی نیست ، دقیقاً مطابقت دارد ، حاوی regex است برای اعداد: <، ≤ ، = ، ≥ ،> | یک ویژگی کاربر Analytics برای انتخاب کاربرانی که ممکن است در یک آزمایش گنجانده شوند ، با طیف وسیعی از گزینه ها برای انتخاب مقادیر خاصیت کاربر استفاده می شود. در مشتری ، می توانید فقط مقادیر رشته ای را برای خصوصیات کاربر تنظیم کنید. برای شرایطی که از اپراتورهای عددی استفاده می کنند ، سرویس Remote Config مقدار خاصیت کاربر مربوطه را به یک عدد صحیح/شناور تبدیل می کند. | هنگام استفاده از اپراتور REGEX ، می توانید عبارات منظم را با فرمت RE2 ایجاد کنید. بیان منظم شما می تواند با تمام یا بخشی از رشته نسخه هدف مطابقت داشته باشد. همچنین می توانید از لنگرهای ^ و $ برای مطابقت با ابتدا ، پایان یا کلیت یک رشته هدف استفاده کنید. |
کشور/منطقه | N/A | یک یا چند کشور یا منطقه ای که برای انتخاب کاربرانی که ممکن است در این آزمایش گنجانده شوند استفاده می شود. | |
زبان ها | N/A | یک یا چند زبان و محلی برای انتخاب کاربرانی که ممکن است در این آزمایش گنجانده شوند استفاده می شود. | |
اول باز | بیش از کمتر از بین | کاربران را بر اساس اولین باری که برنامه شما را باز کرده اند ، که در روزها مشخص شده است ، هدف قرار دهید. | |
آخرین نامزدی برنامه | بیش از کمتر از بین | کاربران را بر اساس آخرین باری که با برنامه شما درگیر شده اند ، که در روزها مشخص شده اند ، هدف قرار دهند. |
معیارهای A/B Testing
هنگامی که آزمایش خود را ایجاد می کنید ، یک متریک اصلی یا هدف را انتخاب می کنید که برای تعیین نوع برنده استفاده می شود. شما همچنین باید معیارهای دیگری را ردیابی کنید تا به شما در درک بهتر عملکرد هر نوع آزمایش کمک کند و روندهای مهمی را که ممکن است برای هر نوع متفاوت باشد ، مانند حفظ کاربر ، ثبات برنامه و درآمد خرید درون برنامه ، پیگیری کنید. در آزمایش خود می توانید پنج معیار غیر فلزی را پیگیری کنید.
به عنوان مثال ، بگویید که شما خریدهای جدید برنامه را به برنامه خود اضافه کرده اید و می خواهید اثربخشی دو پیام مختلف "گنگ" را مقایسه کنید. در این حالت ، شما ممکن است تصمیم بگیرید که درآمد خرید را به عنوان متریک هدف خود تعیین کنید زیرا می خواهید نوع برنده ای را نشان دهد که منجر به بالاترین درآمد خرید درون برنامه شده است. و از آنجا که شما همچنین می خواهید پیگیری کنید که کدام نوع منجر به تبدیل های آینده بیشتر و کاربران حفظ شده است ، ممکن است موارد زیر را در سایر معیارها برای ردیابی اضافه کنید:- کل درآمد تخمین زده شده برای دیدن چگونگی خرید و درآمد آگهی ترکیبی شما بین دو نوع متفاوت است
- احتباس (1 روز) ، احتباس (2-3 روز) ، حفظ (4-7 روز) برای پیگیری حفظ روزانه/هفتگی کاربر
جداول زیر جزئیات مربوط به چگونگی محاسبه معیارهای هدف و سایر معیارها را ارائه می دهد.
معیارهای هدف
متریک | توضیحات |
---|---|
کاربران بدون تصادف | درصد کاربرانی که در برنامه شما با خطایی روبرو نشده اند که در طول آزمایش توسط Firebase Crashlytics SDK شناسایی شده اند. |
درآمد تبلیغاتی تخمین زده شده | درآمد آگهی تخمین زده شده. |
کل درآمد تخمین زده شده است | ارزش ترکیبی برای خرید و درآمد آگهی تخمین زده شده. |
خرید درآمد | ارزش ترکیبی برای همه رویدادهای purchase و in_app_purchase . |
احتباس (1 روز) | تعداد کاربرانی که روزانه به برنامه شما باز می گردند. |
احتباس (2-3 روز) | تعداد کاربرانی که ظرف 2-3 روز به برنامه شما باز می گردند. |
احتباس (4-7 روز) | تعداد کاربرانی که طی 4-7 روز به برنامه شما باز می گردند. |
احتباس (8-14 روز) | تعداد کاربرانی که ظرف 8-14 روز به برنامه شما باز می گردند. |
احتباس (15+ روز) | تعداد کاربرانی که 15 یا بیشتر از آخرین استفاده از آن به برنامه شما باز می گردند. |
اول_ش | یک رویداد Analytics که باعث می شود وقتی کاربر برای اولین بار پس از نصب یا نصب مجدد آن ، یک برنامه را باز کند. به عنوان بخشی از قیف تبدیل استفاده می شود. |
معیارهای دیگر
متریک | توضیحات |
---|---|
notification_dismiss | یک رویداد Analytics که باعث می شود هنگامی که اعلان ارسال شده توسط آهنگساز اعلان ها ارسال شود ، رد می شود (فقط اندروید). |
NOTIFICIVE_RECEIVE | یک رویداد Analytics که هنگام اعلان ارسال شده توسط آهنگساز اعلان ها در حالی که برنامه در پس زمینه است دریافت می شود (فقط Android). |
os_update | یک رویداد Analytics که هنگام به روزرسانی سیستم عامل دستگاه به نسخه جدید ، ردیابی می کند. برای کسب اطلاعات بیشتر ، به رویدادهای جمع آوری شده خودکار مراجعه کنید. |
نمای_ نمایشگر | یک رویداد Analytics که صفحه نمایش های مشاهده شده در برنامه شما را ردیابی می کند. برای کسب اطلاعات بیشتر ، به صفحه نمایش ScreenViews مراجعه کنید. |
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 را تأیید کنید.
برای شروع ، موارد زیر را همانطور که در این راهنما توضیح داده شده است ، تکمیل کنید:
- Export BigQuery را برای Google Analytics در کنسول Firebase فعال کنید
- دسترسی به داده های A/B Testing با استفاده از BigQuery
- نمایش داده های مثال را کاوش کنید
Export BigQuery را برای Google Analytics در کنسول Firebase فعال کنید
اگر در برنامه Spark هستید ، می توانید از BigQuery Sandbox برای دسترسی به BigQuery بدون هیچ هزینه ای استفاده کنید ، با توجه به محدودیت های ماسهبازی . برای اطلاعات بیشتر به قیمت گذاری و ماسهبازی BigQuery مراجعه کنید.
ابتدا اطمینان حاصل کنید که داده های Analytics خود را به BigQuery صادر می کنید:
- برگه Integrations را باز کنید که می توانید با استفاده از > تنظیمات پروژه در کنسول Firebase به آن دسترسی پیدا کنید.
- اگر در حال حاضر از BigQuery با سایر خدمات Firebase استفاده می کنید ، روی مدیریت کلیک کنید. در غیر این صورت ، روی پیوند کلیک کنید.
- بررسی در مورد پیوند Firebase به BigQuery ، سپس روی Next کلیک کنید.
- در بخش ادغام پیکربندی ، ضامن 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 property ID : This is your 9-digit Google Analytics property ID. You can find this within Google Analytics ; it also appears in BigQuery when you expand your project name to show the name of your Google Analytics event table (
project_name.analytics_000000000.events
). - Experiment date: To compose a faster and more efficient query, it's good practice to limit your queries to the Google Analytics daily event table partitions that contain your experiment data—tables identified with a
YYYYMMDD
suffix. So, if your experiment ran from February 2, 2024 through May 2, 2024, you'd specify a_TABLE_SUFFIX between '20240202' AND '20240502'
. For an example, see Select a specific experiment's values . - Event names: Typically, these correspond with your goal metrics that you configured in the experiment. For example,
in_app_purchase
events,ad_impression
, oruser_retention
events.
After you gather the information you need to generate your query:
- Open BigQuery in the Google Cloud console.
- Select your project, then select Create SQL query .
- Add your query. For example queries to run, see Explore example queries .
- روی Run کلیک کنید.
Query experiment data using the Firebase console's auto-generated query
If you're using the Blaze plan, the Experiment overview page provides a sample query that returns the experiment name, variants, event names, and the number of events for the experiment you're viewing.
To obtain and run the auto-generated query:
- From the Firebase console, open A/B Testing and select the A/B Testing experiment you want to query to open the Experiment overview .
- From the Options menu, beneath BigQuery integration , select Query experiment data . This opens your project in BigQuery within the Google Cloud console console and provides a basic query you can use to query your experiment data.
The following example shows a generated query for an experiment with three variants (including the baseline) named "Winter welcome experiment." It returns the active experiment name, variant name, unique event, and event count for each event. Note that the query builder doesn't specify your project name in the table name, as it opens directly within your project.
/*
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
For additional query examples, proceed to Explore example queries .
Explore example queries
The following sections provide examples of queries you can use to extract A/B Testing experiment data from Google Analytics event tables.
Extract purchase and experiment standard deviation values from all experiments
You can use experiment results data to independently verify Firebase A/B Testing results. The following BigQuery SQL statement extracts experiment variants, the number of unique users in each variant, and sums total revenue from in_app_purchase
and ecommerce_purchase
events, and standard deviations for all experiments within the time range specified as the _TABLE_SUFFIX
begin and end dates. You can use the data you obtain from this query with a statistical significance generator for one-tailed t-tests to verify that the results Firebase provides match your own analysis.
For more information about how A/B Testing calculates inference, see Interpret test results .
/*
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;
Select a specific experiment's values
The following example query illustrates how to obtain data for a specific experiment in BigQuery . This sample query returns the experiment name, variant names (including Baseline), event names, and event counts.
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