ایجاد آزمایش های پیام رسانی با تست A/B

وقتی با کاربران خود ارتباط برقرار می‌کنید یا یک کمپین بازاریابی جدید را شروع می‌کنید، می‌خواهید مطمئن شوید که آن را به درستی انجام می‌دهید. تست A/B می‌تواند با آزمایش انواع پیام در بخش‌های منتخب پایگاه کاربری شما، به شما در یافتن متن و ارائه بهینه کمک کند. چه هدف شما حفظ مشتری یا تبدیل بهتر در یک پیشنهاد باشد، تست A/B می‌تواند تجزیه و تحلیل آماری انجام دهد تا مشخص شود که آیا یک نوع پیام از خط پایه برای هدف انتخابی شما بهتر عمل می‌کند یا خیر.

برای تست A/B انواع ویژگی‌ها با یک خط پایه، موارد زیر را انجام دهید:

  1. آزمایش خود را ایجاد کنید.
  2. آزمایش خود را روی یک دستگاه آزمایشی اعتبارسنجی کنید.
  3. آزمایش خود را مدیریت کنید.

یک آزمایش ایجاد کنید

آزمایشی که از کامپوزر Notifications استفاده می‌کند، به شما امکان می‌دهد چندین نوع مختلف را در یک پیام اعلان واحد ارزیابی کنید.

  1. وارد کنسول Firebase شوید و تأیید کنید که Google Analytics در پروژه شما فعال است تا آزمایش به داده‌های Analytics دسترسی داشته باشد.

    اگر هنگام ایجاد پروژه خود، Google Analytics فعال نکرده‌اید، می‌توانید آن را در تب Integrations فعال کنید که می‌توانید با استفاده از > Project settings در کنسول Firebase به آن دسترسی پیدا کنید.

  2. در بخش Engage در نوار ناوبری کنسول Firebase ، روی A/B Testing کلیک کنید.

  3. روی ایجاد آزمایش کلیک کنید و سپس وقتی از شما خواسته شد سرویسی را که می‌خواهید با آن آزمایش کنید ، اعلان‌ها (Notifications) را انتخاب کنید.

  4. یک نام و توضیحات اختیاری برای آزمایش خود وارد کنید و روی «بعدی» کلیک کنید.

  5. فیلدهای هدف‌گیری را پر کنید، ابتدا برنامه‌ای را که از آزمایش شما استفاده می‌کند انتخاب کنید. همچنین می‌توانید با انتخاب گزینه‌هایی که شامل موارد زیر هستند، زیرمجموعه‌ای از کاربران خود را برای شرکت در آزمایش خود هدف قرار دهید:

    • نسخه: یک یا چند نسخه از برنامه شما
    • مخاطبان کاربر: مخاطبان Analytics که برای هدف قرار دادن کاربرانی که ممکن است در آزمایش گنجانده شوند، استفاده می‌شوند
    • ویژگی کاربر: یک یا چند ویژگی کاربر Analytics برای انتخاب کاربرانی که ممکن است در آزمایش گنجانده شوند
    • کشور/منطقه: یک یا چند کشور یا منطقه برای انتخاب کاربرانی که ممکن است در آزمایش گنجانده شوند
    • زبان دستگاه: یک یا چند زبان و منطقه‌ی جغرافیایی که برای انتخاب کاربرانی که ممکن است در آزمایش گنجانده شوند، استفاده می‌شود.
    • اولین باز شدن: کاربران را بر اساس اولین باری که برنامه شما را باز کرده‌اند، هدف قرار دهید.
    • آخرین تعامل با اپلیکیشن: کاربران را بر اساس آخرین باری که با اپلیکیشن شما تعامل داشته‌اند، هدف قرار دهید.
  6. درصد کاربران هدف را تنظیم کنید: درصد پایگاه کاربری برنامه خود را که با معیارهای تعیین شده در بخش «کاربران هدف» مطابقت دارد و می‌خواهید به طور مساوی بین خط پایه و یک یا چند نوع در آزمایش خود تقسیم کنید، انتخاب کنید. این می‌تواند هر درصدی بین 0.01٪ تا 100٪ باشد. درصدها به طور تصادفی برای هر آزمایش، از جمله آزمایش‌های تکراری، به کاربران اختصاص داده می‌شوند.

  7. در بخش «گزینه‌ها» ، در فیلد «متن پیام را وارد کنید» پیامی را برای ارسال به گروه پایه تایپ کنید. برای ارسال نکردن پیام به گروه پایه، این فیلد را خالی بگذارید.

  8. (اختیاری) برای افزودن بیش از یک نوع به آزمایش خود، روی «افزودن نوع» کلیک کنید. به طور پیش‌فرض، آزمایش‌ها یک خط پایه و یک نوع دارند.

  9. (اختیاری) برای هر نوع در آزمایش خود یک نام وارد کنید تا جایگزین نام‌های نوع A ، نوع B و غیره شود.

  10. یک معیار هدف برای آزمایش خود تعریف کنید تا هنگام ارزیابی انواع آزمایش به همراه هرگونه معیار اضافی دلخواه از لیست کشویی از آن استفاده کنید. این معیارها شامل اهداف از پیش تعیین‌شده (تعامل، خرید، درآمد، حفظ و غیره)، رویدادهای تبدیل Analytics و سایر رویدادهای Analytics هستند.

  11. گزینه‌هایی را برای پیام خود انتخاب کنید:

    • تاریخ تحویل: یا گزینه «ارسال اکنون» را انتخاب کنید تا آزمایش شما بلافاصله پس از ذخیره آغاز شود، یا گزینه «زمان‌بندی‌شده» را انتخاب کنید تا زمانی را برای شروع آزمایش خود در آینده مشخص کنید.
    • گزینه‌های پیشرفته: برای انتخاب گزینه‌های پیشرفته برای همه اعلان‌های موجود در آزمایش خود، گزینه‌های پیشرفته را گسترش دهید و سپس هر یک از گزینه‌های پیام ذکر شده را تغییر دهید.
  12. برای ذخیره آزمایش خود، روی «بررسی» کلیک کنید.

شما مجاز به انجام حداکثر ۳۰۰ آزمایش در هر پروژه هستید که می‌تواند شامل ۲۴ آزمایش در حال اجرا و بقیه به صورت پیش‌نویس یا تکمیل‌شده باشد.

آزمایش خود را روی یک دستگاه آزمایشی اعتبارسنجی کنید

برای هر نصب Firebase می‌توانید توکن ثبت FCM مرتبط با آن را بازیابی کنید. می‌توانید از این توکن برای آزمایش انواع آزمایش‌های خاص روی یک دستگاه آزمایشی که برنامه شما نصب شده است، استفاده کنید. برای اعتبارسنجی آزمایش خود روی یک دستگاه آزمایشی، موارد زیر را انجام دهید:

  1. توکن ثبت نام 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)"
      }
    }

    هدف-سی

    [[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()
    })

    سی++

    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));
        }
      });
  2. در نوار ناوبری کنسول Firebase ، روی A/B Testing کلیک کنید.
  3. روی Draft کلیک کنید، نشانگر ماوس را روی آزمایش خود نگه دارید، روی منوی زمینه ( ) کلیک کنید و سپس روی Manage test devices کلیک کنید.
  4. توکن FCM را برای یک دستگاه آزمایشی وارد کنید و نوع آزمایشی را برای ارسال به آن دستگاه آزمایشی انتخاب کنید.
  5. برنامه را اجرا کنید و تأیید کنید که نوع انتخاب شده در دستگاه آزمایشی دریافت می‌شود.

آزمایش خود را مدیریت کنید

چه با Remote Config ، کامپوزر Notifications یا Firebase In-App Messaging یک آزمایش ایجاد کنید، می‌توانید آزمایش خود را اعتبارسنجی و شروع کنید، آزمایش خود را در حین اجرا نظارت کنید و تعداد کاربرانی را که در آزمایش در حال اجرا حضور دارند افزایش دهید.

وقتی آزمایش شما انجام شد، می‌توانید تنظیمات مورد استفاده توسط نسخه برنده را یادداشت کنید و سپس آن تنظیمات را برای همه کاربران اعمال کنید. یا می‌توانید آزمایش دیگری انجام دهید.

شروع یک آزمایش

  1. در بخش Engage از منوی ناوبری کنسول Firebase ، روی A/B Testing کلیک کنید.
  2. روی پیش‌نویس کلیک کنید و سپس روی عنوان آزمایش خود کلیک کنید.
  3. برای تأیید اینکه برنامه شما کاربرانی دارد که می‌توانند در آزمایش شما گنجانده شوند، جزئیات پیش‌نویس را گسترش دهید و در بخش هدف‌گیری و توزیع، عددی بزرگتر از ۰٪ را بررسی کنید (برای مثال، ۱٪ از کاربران مطابق با معیارها ).
  4. برای تغییر آزمایش خود، روی «ویرایش» کلیک کنید.
  5. برای شروع آزمایش خود، روی «شروع آزمایش» کلیک کنید. می‌توانید تا ۲۴ آزمایش را در هر پروژه به طور همزمان اجرا کنید.

نظارت بر یک آزمایش

وقتی مدتی از اجرای یک آزمایش گذشت، می‌توانید پیشرفت آن را بررسی کنید و ببینید نتایج شما برای کاربرانی که تاکنون در آزمایش شما شرکت کرده‌اند، چگونه به نظر می‌رسد.

  1. در بخش Engage از منوی ناوبری کنسول Firebase ، روی A/B Testing کلیک کنید.
  2. روی Running کلیک کنید و سپس روی عنوان آزمایش خود کلیک کنید یا آن را جستجو کنید. در این صفحه، می‌توانید آمارهای مختلف مشاهده شده و مدل‌سازی شده در مورد آزمایش در حال اجرا خود، از جمله موارد زیر را مشاهده کنید:

    • درصد اختلاف از حالت پایه : معیاری برای بهبود یک معیار برای یک متغیر معین در مقایسه با حالت پایه. با مقایسه محدوده مقادیر متغیر با محدوده مقادیر حالت پایه محاسبه می‌شود.
    • احتمال غلبه بر خط پایه : احتمال تخمینی که یک متغیر معین، خط پایه را برای معیار انتخاب شده شکست می‌دهد.
    • observed_metric به ازای هر کاربر : بر اساس نتایج آزمایش، این محدوده پیش‌بینی‌شده‌ای است که مقدار متریک در طول زمان در آن قرار خواهد گرفت.
    • مجموع observed_metric : مقدار تجمعی مشاهده‌شده برای خط پایه یا متغیر. این مقدار برای اندازه‌گیری میزان عملکرد هر متغیر آزمایشی و محاسبه‌ی بهبود (Improvmentمحدوده‌ی ارزش (Value rangeاحتمال بهتر بودن از خط پایه (Probability to Beyond the baseline ) و احتمال بهترین بودن متغیر استفاده می‌شود. بسته به معیار اندازه‌گیری‌شده، این ستون ممکن است با برچسب‌های «مدت زمان به ازای هر کاربر»، «درآمد به ازای هر کاربر»، «نرخ ماندگاری» یا «نرخ تبدیل» نامگذاری شود.
  3. پس از اینکه آزمایش شما مدتی اجرا شد (حداقل ۷ روز برای FCM و In-App Messaging یا ۱۴ روز برای Remote Config )، داده‌های این صفحه نشان می‌دهد که کدام نوع، در صورت وجود، «پیشرو» است. برخی از اندازه‌گیری‌ها با نمودار میله‌ای همراه هستند که داده‌ها را در قالب بصری ارائه می‌دهد.

یک آزمایش را برای همه کاربران منتشر کنید

بعد از اینکه یک آزمایش به اندازه کافی اجرا شد که شما یک "پیشرو" یا نوع برنده برای معیار هدف خود داشتید، می‌توانید آزمایش را برای ۱۰۰٪ کاربران منتشر کنید. این به شما امکان می‌دهد تا یک نوع را برای انتشار برای همه کاربران در آینده انتخاب کنید. حتی اگر آزمایش شما یک برنده مشخص ایجاد نکرده باشد، هنوز می‌توانید یک نوع را برای همه کاربران خود منتشر کنید.

  1. در بخش Engage از منوی ناوبری کنسول Firebase ، روی A/B Testing کلیک کنید.
  2. روی «تکمیل‌شده» یا «در حال اجرا» کلیک کنید، روی آزمایشی که می‌خواهید برای همه کاربران منتشر شود کلیک کنید، روی منوی زمینه ( ) کلیک کنید و گزینه «نوع را منتشر کنید» را انتخاب کنید .
  3. با انجام یکی از موارد زیر، آزمایش خود را برای همه کاربران منتشر کنید:

    • برای آزمایشی که از آهنگساز Notifications استفاده می‌کند، از کادر گفتگوی Rollout message برای ارسال پیام به کاربران هدف باقی‌مانده که بخشی از آزمایش نبودند، استفاده کنید.
    • برای یک آزمایش Remote Config ، یک نوع را انتخاب کنید تا مشخص شود کدام مقادیر پارامتر Remote Config باید به‌روزرسانی شوند. معیارهای هدف‌گیری که هنگام ایجاد آزمایش تعریف شده‌اند، به عنوان یک شرط جدید در الگوی شما اضافه می‌شوند تا اطمینان حاصل شود که این به‌روزرسانی فقط بر کاربرانی که توسط آزمایش هدف قرار گرفته‌اند، تأثیر می‌گذارد. پس از کلیک روی «بررسی» در Remote Config برای بررسی تغییرات، روی «انتشار تغییرات» کلیک کنید تا به‌روزرسانی کامل شود.
    • برای آزمایش In-App Messaging ، از کادر محاوره‌ای استفاده کنید تا مشخص کنید کدام نوع باید به عنوان یک کمپین In-App Messaging مستقل اجرا شود. پس از انتخاب، به صفحه نوشتن FIAM هدایت می‌شوید تا قبل از انتشار، هرگونه تغییری (در صورت لزوم) را انجام دهید.

گسترش یک آزمایش

اگر متوجه شدید که یک آزمایش، کاربران کافی برای A/B Testing و اعلام برتری را جذب نمی‌کند، می‌توانید توزیع آزمایش خود را افزایش دهید تا به درصد بیشتری از پایگاه کاربران برنامه دسترسی پیدا کنید.

  1. در بخش Engage از منوی ناوبری کنسول Firebase ، روی A/B Testing کلیک کنید.
  2. آزمایش در حال اجرا را که می‌خواهید ویرایش کنید، انتخاب کنید.
  3. در نمای کلی آزمایش ، روی منوی زمینه ( ) کلیک کنید و سپس روی ویرایش آزمایش در حال اجرا کلیک کنید.
  4. پنجره‌ی «هدف‌گذاری» گزینه‌ای را برای افزایش درصد کاربرانی که در آزمایش در حال اجرا هستند، نمایش می‌دهد. عددی بزرگتر از درصد فعلی را انتخاب کنید و روی «انتشار» کلیک کنید. آزمایش به درصد کاربرانی که مشخص کرده‌اید، منتقل می‌شود.

تکرار یا متوقف کردن یک آزمایش

  1. در بخش Engage از منوی ناوبری کنسول Firebase ، روی A/B Testing کلیک کنید.
  2. روی «تکمیل‌شده» یا «در حال اجرا» کلیک کنید، اشاره‌گر را روی آزمایش خود نگه دارید، روی منوی زمینه ( ) کلیک کنید و سپس روی «تکرار آزمایش» یا «توقف آزمایش» کلیک کنید.

هدف‌گیری کاربر

شما می‌توانید با استفاده از معیارهای هدف‌گیری کاربر زیر، کاربرانی را که می‌خواهید در آزمایش خود بگنجانید، هدف قرار دهید.

معیار هدف‌گذاری اپراتور(ها) ارزش(ها) توجه داشته باشید
نسخه شامل،
حاوی نیست،
دقیقاً مطابقت دارد،
حاوی عبارت منظم (regex) است
برای یک یا چند نسخه از برنامه که می‌خواهید در آزمایش گنجانده شوند، مقداری وارد کنید.

هنگام استفاده از هر یک از عملگرهای contains ، does not contain یا matches exactly ، می‌توانید لیستی از مقادیر را که با کاما از هم جدا شده‌اند، ارائه دهید.

هنگام استفاده از عملگر contains regex ، می‌توانید عبارات منظم را با فرمت RE2 ایجاد کنید. عبارت منظم شما می‌تواند با تمام یا بخشی از رشته نسخه هدف مطابقت داشته باشد. همچنین می‌توانید از لنگرهای ^ و $ برای مطابقت با ابتدا، انتها یا کل یک رشته هدف استفاده کنید.

مخاطبان کاربر (بازدیدکنندگان) شامل همه می‌شود،
شامل حداقل یکی از موارد زیر باشد،
شامل همه نمی‌شود،
حداقل یکی از آنها را شامل نمی‌شود
یک یا چند مخاطب Analytics را برای هدف قرار دادن کاربرانی که ممکن است در آزمایش شما گنجانده شوند، انتخاب کنید. برخی از آزمایش‌هایی که مخاطبان Google Analytics را هدف قرار می‌دهند، ممکن است به چند روز زمان برای جمع‌آوری داده‌ها نیاز داشته باشند، زیرا این آزمایش‌ها مشمول تأخیر پردازش داده‌های Analytics هستند. به احتمال زیاد با این تأخیر در مورد کاربران جدید که معمولاً ۲۴ تا ۴۸ ساعت پس از ایجاد در مخاطبان واجد شرایط ثبت می‌شوند، یا برای مخاطبان اخیراً ایجاد شده، مواجه خواهید شد.
ویژگی کاربر برای متن:
شامل،
حاوی نیست،
دقیقاً مطابقت دارد،
حاوی عبارت منظم (regex) است

برای اعداد:
<، ≤، =، ≥، >
یک ویژگی کاربر Analytics برای انتخاب کاربرانی که ممکن است در یک آزمایش گنجانده شوند، با طیف وسیعی از گزینه‌ها برای انتخاب مقادیر ویژگی کاربر، استفاده می‌شود.

در سمت کلاینت، شما فقط می‌توانید مقادیر رشته‌ای را برای ویژگی‌های کاربر تنظیم کنید. برای شرایطی که از عملگرهای عددی استفاده می‌کنند، سرویس Remote Config مقدار ویژگی کاربر مربوطه را به یک عدد صحیح/اعشاری تبدیل می‌کند.
هنگام استفاده از عملگر contains regex ، می‌توانید عبارات منظم را با فرمت RE2 ایجاد کنید. عبارت منظم شما می‌تواند با تمام یا بخشی از رشته نسخه هدف مطابقت داشته باشد. همچنین می‌توانید از لنگرهای ^ و $ برای مطابقت با ابتدا، انتها یا کل یک رشته هدف استفاده کنید.
کشور/منطقه ناموجود یک یا چند کشور یا منطقه برای انتخاب کاربرانی که ممکن است در آزمایش گنجانده شوند، استفاده می‌شود.
زبان‌ها ناموجود یک یا چند زبان و منطقه‌ی جغرافیایی که برای انتخاب کاربرانی که ممکن است در آزمایش گنجانده شوند، استفاده شده است.
اولین باز بیشتر از
کمتر از
بین
کاربران را بر اساس اولین باری که برنامه شما را باز کرده‌اند، بر حسب روز، هدف قرار دهید.
آخرین تعامل برنامه بیشتر از
کمتر از
بین
کاربران را بر اساس آخرین باری که با اپلیکیشن شما تعامل داشته‌اند، بر حسب روز، هدف قرار دهید.

معیارهای A/B Testing

وقتی آزمایش خود را ایجاد می‌کنید، یک معیار اصلی یا هدف را انتخاب می‌کنید که برای تعیین نوع برنده استفاده می‌شود. همچنین باید معیارهای دیگری را پیگیری کنید تا به شما در درک بهتر عملکرد هر نوع آزمایش کمک کند و روندهای مهمی را که ممکن است برای هر نوع متفاوت باشد، مانند حفظ کاربر، پایداری برنامه و درآمد خرید درون برنامه، پیگیری کنید. می‌توانید تا پنج معیار غیرهدف را در آزمایش خود پیگیری کنید.

برای مثال، فرض کنید خریدهای درون‌برنامه‌ای جدیدی به برنامه خود اضافه کرده‌اید و می‌خواهید اثربخشی دو پیام «تشویقی» مختلف را با هم مقایسه کنید. در این حالت، ممکن است تصمیم بگیرید که درآمد حاصل از خرید را به عنوان معیار هدف خود تعیین کنید، زیرا می‌خواهید نوع برنده، نشان دهنده اعلانی باشد که منجر به بالاترین درآمد خرید درون‌برنامه‌ای شده است. و از آنجا که می‌خواهید پیگیری کنید کدام نوع منجر به تبدیل‌های بیشتر در آینده و حفظ کاربران شده است، می‌توانید موارد زیر را در سایر معیارها برای پیگیری اضافه کنید:

  • درآمد کل تخمینی برای مشاهده تفاوت درآمد ترکیبی خرید درون‌برنامه‌ای و تبلیغات شما بین دو نوع
  • ماندگاری (۱ روز) ، ماندگاری (۲-۳ روز) ، ماندگاری (۴-۷ روز) برای پیگیری میزان ماندگاری کاربر روزانه/هفتگی شما

جداول زیر جزئیاتی در مورد نحوه محاسبه معیارهای هدف و سایر معیارها ارائه می‌دهند.

معیارهای هدف

متریک توضیحات
کاربران بدون خرابی درصد کاربرانی که با خطاهایی که توسط Firebase Crashlytics SDK در طول آزمایش شناسایی شده‌اند، در برنامه شما مواجه نشده‌اند.
درآمد تخمینی تبلیغات درآمد تخمینی از تبلیغات
کل درآمد تخمینی ارزش ترکیبی برای خرید و درآمد تخمینی تبلیغات.
درآمد حاصل از خرید ارزش ترکیبی برای همه رویدادهای purchase و in_app_purchase .
ماندگاری (۱ روز) تعداد کاربرانی که روزانه به اپلیکیشن شما مراجعه می‌کنند.
ماندگاری (۲-۳ روز) تعداد کاربرانی که ظرف ۲-۳ روز به اپلیکیشن شما بازمی‌گردند.
ماندگاری (۴-۷ روز) تعداد کاربرانی که ظرف ۴ تا ۷ روز به اپلیکیشن شما بازمی‌گردند.
ماندگاری (۸-۱۴ روز) تعداد کاربرانی که ظرف ۸ تا ۱۴ روز دوباره به اپلیکیشن شما مراجعه می‌کنند.
ماندگاری (۱۵+ روز) تعداد کاربرانی که ۱۵ روز یا بیشتر پس از آخرین استفاده از برنامه شما، دوباره به آن مراجعه می‌کنند.
first_open یک رویداد Analytics که وقتی کاربر پس از نصب یا نصب مجدد برنامه، آن را برای اولین بار باز می‌کند، فعال می‌شود. به عنوان بخشی از قیف تبدیل استفاده می‌شود.

سایر معیارها

متریک توضیحات
notification_dismiss یک رویداد Analytics که هنگام رد شدن اعلان ارسال شده توسط سازنده اعلان‌ها (Notifications composer) فعال می‌شود (فقط اندروید).
دریافت_اطلاعیه یک رویداد Analytics که زمانی فعال می‌شود که اعلان ارسال شده توسط سازنده اعلان‌ها (Notifications composer) در حالی که برنامه در پس‌زمینه است (فقط اندروید) دریافت شود.
به‌روزرسانی سیستم عامل یک رویداد Analytics که هنگام به‌روزرسانی سیستم عامل دستگاه به نسخه جدید، ردیابی می‌کند. برای کسب اطلاعات بیشتر، به رویدادهای جمع‌آوری‌شده خودکار مراجعه کنید.
نمای صفحه یک رویداد Analytics که صفحات مشاهده شده در برنامه شما را ردیابی می‌کند. برای کسب اطلاعات بیشتر، به Track Screenviews مراجعه کنید.
شروع_جلسه یک رویداد 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 را به طور مستقل تأیید کنید.

برای شروع، موارد زیر را طبق توضیحات این راهنما انجام دهید:

  1. فعال کردن خروجی BigQuery برای Google Analytics در کنسول فایربیس
  2. دسترسی به داده‌های A/B Testing با استفاده از BigQuery
  3. کاوش در نمونه سوالات

فعال کردن خروجی BigQuery برای Google Analytics در کنسول فایربیس

اگر از طرح Spark استفاده می‌کنید، می‌توانید از محیط سندباکس BigQuery برای دسترسی رایگان BigQuery استفاده کنید، البته با توجه به محدودیت‌های Sandbox . برای اطلاعات بیشتر به بخش قیمت‌گذاری و محیط سندباکس BigQuery مراجعه کنید.

ابتدا مطمئن شوید که داده‌های Analytics خود را به BigQuery منتقل می‌کنید:

  1. تب Integrations را باز کنید، که می‌توانید با استفاده از > Project settings در کنسول Firebase به آن دسترسی پیدا کنید.
  2. اگر از قبل از BigQuery با سایر سرویس‌های Firebase استفاده می‌کنید، روی Manage کلیک کنید. در غیر این صورت، روی Link کلیک کنید.
  3. درباره اتصال Firebase به BigQuery نظر بدهید، سپس روی Next کلیک کنید.
  4. در بخش پیکربندی ادغام ، گزینه‌ی Google Analytics را فعال کنید.
  5. یک منطقه را انتخاب کنید و تنظیمات صادرات را انتخاب کنید.

  6. روی پیوند به BigQuery کلیک کنید.

بسته به نحوه‌ی انتخاب شما برای خروجی گرفتن از داده‌ها، ممکن است تا یک روز طول بکشد تا جداول در دسترس قرار گیرند. برای اطلاعات بیشتر در مورد خروجی گرفتن از داده‌های پروژه به BigQuery ، به بخش خروجی گرفتن از داده‌های پروژه به BigQuery مراجعه کنید.

دسترسی به داده‌های A/B Testing در BigQuery

قبل از جستجوی داده‌ها برای یک آزمایش خاص، باید برخی یا همه موارد زیر را برای استفاده در جستجوی خود به دست آورید:

  • شناسه آزمایش: می‌توانید این را از آدرس اینترنتی صفحه مرور کلی آزمایش دریافت کنید. برای مثال، اگر آدرس اینترنتی شما به شکل https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25 باشد، شناسه آزمایش ۲۵ است.
  • شناسه ویژگی Google Analytics : این شناسه ۹ رقمی ویژگی Google Analytics شماست. می‌توانید آن را در Google Analytics پیدا کنید؛ همچنین در BigQuery وقتی نام پروژه خود را باز می‌کنید تا نام جدول رویداد Google Analytics شما ( project_name.analytics_000000000.events ) نمایش داده می‌شود، ظاهر می‌شود.
  • تاریخ آزمایش: برای نوشتن یک پرس‌وجوی سریع‌تر و کارآمدتر، بهتر است پرس‌وجوهای خود را به پارتیشن‌های جدول رویدادهای روزانه Google Analytics که حاوی داده‌های آزمایش شما هستند - جداولی که با پسوند YYYYMMDD مشخص می‌شوند - محدود کنید. بنابراین، اگر آزمایش شما از ۲ فوریه ۲۰۲۴ تا ۲ مه ۲۰۲۴ انجام شده است، باید یک _TABLE_SUFFIX between '20240202' AND '20240502' تعیین کنید. برای مثال، به بخش « مقادیر یک آزمایش خاص را انتخاب کنید » مراجعه کنید.
  • نام رویدادها: معمولاً این نام‌ها با معیارهای هدف شما که در آزمایش پیکربندی کرده‌اید، مطابقت دارند. برای مثال، رویدادهای in_app_purchase ، ad_impression یا user_retention .

پس از جمع‌آوری اطلاعات مورد نیاز برای ایجاد پرس‌وجو:

  1. BigQuery در کنسول Google Cloud باز کنید.
  2. پروژه خود را انتخاب کنید، سپس گزینه Create SQL query را انتخاب کنید.
  3. پرس‌وجوی خود را اضافه کنید. برای مثال‌هایی از پرس‌وجوهایی که باید اجرا شوند، به بخش «پرس‌وجوهای نمونه را کاوش کنید» مراجعه کنید.
  4. روی اجرا کلیک کنید.

داده‌های آزمایش را با استفاده از کوئری تولید شده خودکار کنسول Firebase جستجو کنید

اگر از طرح Blaze استفاده می‌کنید، صفحه مرور کلی آزمایش ، یک نمونه پرس‌وجو ارائه می‌دهد که نام آزمایش، انواع آن، نام رویدادها و تعداد رویدادهای آزمایشی که مشاهده می‌کنید را برمی‌گرداند.

برای دریافت و اجرای کوئری تولید شده خودکار:

  1. از کنسول Firebase ، A/B Testing را باز کنید و آزمایش A/B Testing مورد نظر خود را برای پرس و جو انتخاب کنید تا نمای کلی آزمایش باز شود.
  2. از منوی Options، در زیر BigQuery integration ، گزینه Query experiment 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 استفاده کنید. عبارت SQL BigQuery زیر، انواع آزمایش، تعداد کاربران منحصر به فرد در هر نوع آزمایش، و مجموع درآمد حاصل از رویدادهای in_app_purchase و ecommerce_purchase و انحراف معیار برای همه آزمایش‌ها در محدوده زمانی مشخص شده به عنوان تاریخ شروع و پایان _TABLE_SUFFIX را استخراج می‌کند. می‌توانید از داده‌هایی که از این پرس‌وجو به دست می‌آورید با یک مولد اهمیت آماری برای آزمون‌های t تک‌طرفه استفاده کنید تا تأیید کنید که نتایج ارائه شده توسط فایربیس با تحلیل شما مطابقت دارد.

برای اطلاعات بیشتر در مورد نحوه محاسبه استنتاج 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 را نشان می‌دهد. این نمونه پرس‌وجو نام آزمایش، نام‌های مختلف (از جمله Baseline)، نام رویدادها و تعداد رویدادها را برمی‌گرداند.

  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