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

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

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

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

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

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

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

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

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

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

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

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

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

  7. در قسمت Variants ، پیامی را برای ارسال به گروه پایه در قسمت Enter text message تایپ کنید. برای ارسال پیام به گروه پایه، این قسمت را خالی بگذارید.

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

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

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

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

    • تاریخ تحویل: یا ارسال اکنون را انتخاب کنید تا آزمایش خود را بلافاصله پس از ذخیره انجام دهید، یا زمان‌بندی شده را برای تعیین زمانی برای شروع آزمایش خود در آینده انتخاب کنید.
    • گزینه‌های پیشرفته: برای انتخاب گزینه‌های پیشرفته برای همه اعلان‌های موجود در آزمایش، گزینه‌های پیشرفته را گسترش دهید و سپس هر یک از گزینه‌های پی��م فهرست شده را تغییر دهید.
  12. Click Review to save your experiment.

شما مجاز به 300 آزمایش در هر پروژه هستید که می تواند شامل حداکثر 24 آزمایش در حال اجرا باشد و بقیه به صورت پیش نویس یا تکمیل شده باشد.

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

برای هر نصب 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)"
      }
    }
    

    هدف-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+KTX

    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& 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. روی پیش نویس کلیک کنید، نشانگر را روی آزمایش خود نگه دارید، روی منوی زمینه ( ) و سپس روی مدیریت دستگاه های آزمایشی کلیک کنید
  4. رمز FCM را برای یک دستگاه آزمایشی وارد کنید و نوع آزمایشی را برای ارسال به آن دستگاه آزمایشی انتخاب کنید.
  5. برنامه را اجرا کنید و تأیید کنید که نوع انتخاب شده در دستگاه آزمایشی دریافت می شود.

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

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

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

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

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

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

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

  1. در بخش Engage از منوی پیمایش کنسول Firebase ، روی A/B Testing کلیک کنید.
  2. Click Running , and then click on, or search for, the title of your experiment. در این صفحه می‌توانید آمارهای مشاهده‌شده و مدل‌سازی‌شده‌ای در مورد آزمایش در حال اجرا خود مشاهده کنید، از جمله موارد زیر:

    • درصد تفاوت با خط مبنا : معیاری برای بهبود یک متریک برای یک نوع معین در مقایسه با خط پایه. با مقایسه محدوده مقدار برای متغیر با محدوده ارزش برای خط مبنا محاسبه می شود.
    • احتمال شکست خط پایه : احتمال تخمین زده شده که یک نوع معین از خط مبنا برای متریک انتخاب شده عبور کند.
    • observed_metric برای هر کاربر : بر اساس نتایج آزمایش، این محدوده پیش‌بینی‌شده‌ای است که مقدار متریک در طول زمان در آن قرار می‌گیرد.
    • مجموع observed_metric : مقدار تجمعی مشاهده شده برای خط مبنا یا متغیر. The value is used to measure how well each experiment variant performs, and is used to calculate Improvement , Value range , Probability to beat baseline , and Probability to be the best variant . بسته به معیاری که اندازه‌گیری می‌شود، این ستون ممکن است دارای برچسب «مدت هر کاربر»، «درآمد به ازای هر کاربر»، «نرخ حفظ» یا «نرخ تبدیل» باشد.
  3. پس از اینکه آزمایش شما برای مدتی اجرا شد (حداقل ۷ روز برای FCM و In-App Messaging یا ۱۴ روز برای Remote Config )، داده‌های این صفحه نشان می‌دهد که کدام نوع، در صورت وجود، «رهبر» است. برخی از اندازه‌گیری‌ها با نمودار میله‌ای همراه هستند که داده‌ها را در قالب تصویری ارائه می‌کند.

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

پس از اینکه یک آزمایش به اندازه کافی طولانی شد که یک "رهبر" یا نوع برنده برای معیار هدف خود داشته باشید، می توانید آزمایش را برای 100٪ از کاربران منتشر کنید. این به شما امکان می دهد یک نوع را برای انتشار برای همه کاربران در حال حرکت انتخاب کنید. حتی اگر آزمایش شما برنده مشخصی ایجاد نکرده باشد، همچنان می توانید انتخاب کنید که یک نسخه برای همه کاربران خود منتشر کنید.

  1. در بخش Engage از منوی پیمایش کنسول Firebase ، روی A/B Testing کلیک کنید.
  2. روی Completed یا Running کلیک کنید، آزمایشی را که می‌خواهید برای همه کاربران منتشر کنید، روی منوی زمینه ( ) Roll out variant کلیک کنید.
  3. با انجام یکی از موارد زیر، آزمایش خود را برای همه کاربران عرضه کنید:

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

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

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

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

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

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

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

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

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

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

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

مخاطبان کاربر شامل همه،
شامل حداقل یکی از
شامل همه نمی شود،
حداقل یکی از آنها را شامل نمی شود
برای هدف قرار دادن کاربرانی که ممکن است در آزمایش شما گنجانده شوند، یک یا چند مخاطب Analytics را انتخاب کنید. برخی از آزمایش‌هایی که مخاطبان Google Analytics را هدف قرار می‌دهند ممکن است چند روز طول بکشد تا داده‌ها را جمع‌آوری کنند زیرا در معرض تأخیر پردازش داده‌های Analytics هستند. به احتمال زیاد با این تاخیر در کاربران جدیدی مواجه خواهید شد که معمولاً 24 تا 48 ساعت پس از ایجاد در بین مخاطبان واجد شرایط ثبت نام می‌شوند یا برای مخاطبانی که اخیراً ایجاد شده‌اند .
دارایی کاربر برای متن:
حاوی،
شامل نمی شود،
دقیقا مطابقت دارد
حاوی regex است

برای اعداد:
<، ≤، =، ≥، >
An Analytics user property is used to select users who might be included in an experiment, with a range of options for selecting user property values.

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

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

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

به عنوان مثال، فرض کنید خریدهای درون‌برنامه‌ای جدیدی را به برنامه خود اضافه کرده‌اید و می‌خواهید اثربخشی دو پیام متفاوت «تارنج» را با هم مقایسه کنید. In this case, you might decide to choose to set Purchase revenue as your goal metric because you want the winning variant to represent the notification that resulted in the highest in-app purchase revenue. و از آنجایی که شما همچنین می‌خواهید ردیابی کنید کدام نوع منجر به تبدیل‌های بیشتر در آینده و کاربران باقی مانده شده است، می‌توانید موارد زیر را در سایر معیارها برای ردیابی اضافه کنید:

  • کل درآمد تخمینی برای مشاهده اینکه ترکیب خرید درون‌برنامه و درآمد تبلیغاتی شما چه تفاوتی بین این دو نوع دارد
  • حفظ (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 را تأیید کنید.

برای شروع، موارد زیر را همانطور که در این راهنما توضیح داده شده است تکمیل کنید:

  1. صادرات BigQuery برای Google Analytics در کنسول Firebase فعال کنید
  2. Access A/B Testing data using BigQuery
  3. پرس و جوهای نمونه را کاوش کنید

صادرات BigQuery برای Google Analytics در کنسول Firebase فعال کنید

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

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

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

  6. روی پیوند به 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 نیز ظاهر می شود.
  • 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. بنابراین، اگر آزمایش شما از 2 فوریه 2024 تا 2 مه 2024 اجرا شود، یک _TABLE_SUFFIX between '20240202' AND '20240502' را مشخص می‌کنید. برای مثال، به انتخاب مقادیر آزمایش خاص مراجعه کنید.
  • نام‌های رویداد: معمولاً با معیارهای هدف شما که در آزمایش پیکربندی کرده‌اید مطابقت دارند. به عنوان مثال، رویدادهای in_app_purchase ، ad_impression یا رویدادهای user_retention .

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

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

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

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.

برای به دست آوردن و اجرای پرس و جو تولید شده خودکار:

  1. از کنسول Firebase ، A/B Testing باز کنید و آزمایش A/B Testing را که می‌خواهید پرس و جو کنید انتخاب کنید تا نمای کلی آزمایش باز شود.
  2. از منوی گزینه‌ها، در زیر ادغام 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