ایجاد آزمایش های پیام رسانی با تست 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 برای انتخاب کاربرانی که ممکن است در آزمایش گنجانده شوند
    • کشور/منطقه: یک یا چند کشور یا منطقه برای انتخاب کاربرانی که ممکن است در آزمایش گنجانده شوند
    • زبان دستگاه: یک یا چند زبان و منطقه مورد استفاده برای انتخاب کاربرانی که ممکن است در آزمایش گنجانده شوند
    • اولین باز: کاربران را بر اساس اولین باری که برنامه شما را باز کرده اند مورد هدف قرار دهید
    • آخرین تعامل با برنامه: کاربران را بر اساس آخرین باری که با برنامه شما درگیر شده اند مورد هدف قرار دهید
  6. تنظیم درصد کاربران هدف: درصدی از پایگاه کاربر برنامه خود را انتخاب کنید که با معیارهای تعیین شده در زیر کاربران هدف مطابقت دارد که می‌خواهید به طور مساوی بین خط پایه و یک یا چند نوع در آزمایش خود تقسیم کنید. این می تواند هر درصدی بین 0.01٪ و 100٪ باشد. درصدها برای هر آزمایش، از جمله آزمایش‌های تکراری، به‌طور تصادفی به کاربران تخصیص داده می‌شوند.

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

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

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

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

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

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

شما مجاز به 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());
          }
        });
        

    Unity

    Firebase.Messaging.FirebaseMessaging.DefaultInstance.GetTokenAsync().ContinueWith(
      task => {
        if (!(task.IsCanceled || task.IsFaulted) && task.IsCompleted) {
          UnityEngine.Debug.Log(System.String.Format("FCM registration token {0}", task.Result));
        }
      });
    
  2. در نوار پیمایش کنسول Firebase ، روی A/B Testing کلیک کنید.
  3. روی پیش نویس کلیک کنید، نشانگر را روی آزمایش خود نگه دارید، روی منوی زمینه ( ) و سپس روی مدیریت دستگاه های آزمایشی کلیک کنید
  4. رمز FCM را برای یک دستگاه آزمایشی وارد کنید و نوع آزمایشی را برای ارسال به آن دستگاه آزمایشی انتخاب کنید.
  5. برنامه را اجرا کنید و تأیید کنید که نوع انتخاب شده در دستگاه آزمایشی دریافت می شود.

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

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

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

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

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

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

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

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

    • درصد تفاوت از خط مبنا : معیاری برای بهبود یک متریک برای یک نوع معین در مقایسه با خط پایه. با مقایسه محدوده مقدار برای متغیر با محدوده ارزش برای خط مبنا محاسبه می شود.
    • احتمال شکست خط پایه : احتمال تخمین زده شده که یک نوع معین از خط مبنا برای متریک انتخاب شده عبور کند.
    • observed_metric برای هر کاربر : بر اساس نتایج آزمایش، این محدوده پیش‌بینی‌شده‌ای است که مقدار متریک در طول زمان در آن قرار می‌گیرد.
    • مجموع observed_metric : مقدار تجمعی مشاهده شده برای خط مبنا یا متغیر. از این مقدار برای اندازه‌گیری عملکرد هر یک از انواع آزمایش استفاده می‌شود و برای محاسبه بهبود ، محدوده ارزش ، احتمال شکست خط پایه ، و احتمال بهترین گزینه استفاده می‌شود. بسته به معیاری که اندازه‌گیری می‌شود، این ستون ممکن است دارای برچسب «مدت هر کاربر»، «درآمد به ازای هر کاربر»، «نرخ حفظ» یا «نرخ تبدیل» باشد.
  3. پس از اینکه آزمایش شما برای مدتی اجرا شد (حداقل 7 روز برای FCM و پیام‌رسانی درون برنامه یا 14 روز برای پیکربندی از راه دور)، داده‌های این صفحه نشان می‌دهد که کدام نوع، در صورت وجود، «رهبر» است. برخی از اندازه‌گیری‌ها با نمودار میله‌ای همراه هستند که داده‌ها را در قالب تصویری ارائه می‌کند.

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

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

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

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

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

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

  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 است

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

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

معیارهای تست A/B

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

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

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

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

  1. صادرات BigQuery را برای Google Analytics در کنسول Firebase فعال کنید
  2. با استفاده از BigQuery به داده های تست A/B دسترسی پیدا کنید
  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 در 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 .

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

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

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

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

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

  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 از جداول رویداد Google Analytics استفاده کنید.

مقادیر انحراف استاندارد خرید و آزمایش را از همه آزمایش‌ها استخراج کنید

می‌توانید از داده‌های نتایج آزمایش برای تأیید مستقل نتایج آزمایش Firebase A/B استفاده کنید. عبارت 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