צור ניסויי מסרים עם בדיקת A / B

כאשר אתה פונה למשתמשים שלך או פותח קמפיין שיווקי חדש, אתה רוצה לוודא שאתה מקבל את זה נכון. בדיקת A / B יכולה לעזור לך למצוא את הניסוח וההצגה האופטימליים על ידי בדיקת גרסאות הודעות בחלקים נבחרים של בסיס המשתמשים שלך. בין אם המטרה שלך היא שמירה טובה יותר או המרה בהצעה, בדיקות A / B יכולות לבצע ניתוח סטטיסטי כדי לקבוע אם גרסת הודעה עולה על קבוצת הבקרה עבור המטרה שבחרת.

כדי לבצע גרסאות של מבחן A / B עם קבוצת בקרה, בצע את הפעולות הבאות:

  1. צור את הניסוי שלך.
  2. אמת את הניסוי שלך במכשיר בדיקה.
  3. נהל את הניסוי שלך.

צור ניסוי

ניסוי המשתמש במלחין ההודעות מאפשר לך להעריך מספר גרסאות בהודעת הודעה אחת.

  1. כניסת Firebase, עדכון הגדרות שיתוף נתונים ולוודא כי שיתוף נתונים מופעל. ללא שיתוף נתונים, לניסוי שלך לא תהיה גישה לנתוני ניתוח.
  2. במקטע לעסוק של קונסולת Firebase בסרגל הניווט, לחץ בדיקת A / B.
  3. לחץ על צור ניסוי, ולאחר מכן בחר התראות כאשר תתבקש עבור השירות שאתה רוצה להתנסות.
  4. הזן שם ותיאור אופציונלי עבור הניסוי שלך, ולחץ על הבא.
  5. מלא את שדות הכוונת, ראשון בבחירת האפליקציה שמשתמשת הניסוי שלך. תוכל גם למקד לקבוצת משנה של המשתמשים שלך להשתתף בניסוי שלך על ידי בחירה באפשרויות הכוללות את הדברים הבאים:

    • גרסה: אחד או יותר גרסאות של האפליקציה שלך
    • קהל משתמש: קהלי Analytics רגילים משתמש יעד שעשוי להיכלל בניסוי
    • נכס משתמש: נכס אחד או יותר למשתמש Analytics למשתמשי בחירה שעלול להיכלל בניסוי
    • תחזית: קבוצות משתמשים שצופים למידה מכונה לעסוק בהתנהגות מסוימת
    • אזור / מדינה: אחת או יותר מדינות או אזורים למשתמשי בחירה שעלול להיכלל בניסוי
    • שפת התקן: אחד או יותר בשפות ובמקומות משמשים לבחירת משתמשים שעשויים להיכלל בניסוי
  6. הגדר את אחוז משתמשי היעד: בחר את האחוז בסיס המשתמשים של האפליקציה שלך תואמות את הקריטריונים שנקבעו לפי מיקוד משתמשים שאתה רוצה לחלק באופן שווה בין קבוצת הביקורת לבין אחד או יותר גרסאות בניסוי. זה יכול להיות כל אחוז שבין 0.01% ל- 100%. אחוזים מוקצים באופן אקראי למשתמשים עבור כל ניסוי, כולל ניסויים כפולים.

  7. במקטע הגירסות, הקלד הודעה שיישלח בקבוצת הביקורת בתחום זן הודעת הטקסט. כדי לשלוח שום הודעה לקבוצת הבקרה, השאר שדה זה ריק.

  8. (לא חובה) כדי להוסיף יותר גרסה אחת לניסוי שלך, לחץ על הוסף Variant. כברירת מחדל, לניסויים יש קבוצת בקרה אחת וריאציה אחת.

  9. (לא חובה) הזן שם עבור כל גרסה בניסוי להחליף את שמות Variant A, B Variant, וכו '

  10. הגדר מדד יעד לשימוש הניסוי שלך בעת הערכת גרסאות הניסוי יחד עם מדדים נוספים רצויים מהרשימה הנפתחת. מדדים אלה כוללים יעדים מובנים (מעורבות, רכישות, הכנסות, שימור וכו '), אירועי המרה של Analytics ואירועי Analytics אחרים.

  11. בחר אפשרויות להודעה שלך:

    • תאריך משלוח: כך או בחר שלח עכשיו כדי להתחיל את הניסוי מיד על חיסכון, או מתוכנן לציין זמן כדי להתחיל את הניסוי בעתיד.
    • אפשרויות מתקדמות: כדי לבחור אפשרויות מתקדמות עבור כל הודעות שנכלל בניסוי שלך, להרחיב את אפשרויות מתקדמות, ולאחר מכן לשנות כל אחת מהאפשרויות הודעה רשום.
  12. לחץ על סקור כדי להציל את הניסוי.

מותר לך עד 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)"
      }
    }
    

    מטרה-ג

    [[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;
      }
    }];
    

    ג'אווה

    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.
  3. לחץ טיוטה, לרחף מעל הניסוי שלך, לחץ על תפריט ההקשר ( ), ולאחר מכן לחץ על ניהול מכשירי מבחן
  4. הזן את אסימון ה- FCM למכשיר בדיקה ובחר את גרסת הניסוי שישלח למכשיר הבדיקה ההוא.
  5. הפעל את האפליקציה וודא כי הגרסה שנבחרה מתקבלת במכשיר הבדיקה.

נהל את הניסוי שלך

בין אם אתה יוצר ניסוי עם Remote Config, מלחין ההודעות או הודעות בתוך האפליקציה של Firebase, תוכל לאמת ולהתחיל את הניסוי שלך, לפקח על הניסוי שלך בזמן שהוא פועל ולהגדיל את מספר המשתמשים הכלולים בניסוי הריצה שלך.

לאחר סיום הניסוי שלך, תוכל לשים לב להגדרות המשמשות את הגרסה הזוכה, ואז להפיץ הגדרות אלה לכל המשתמשים. לחלופין, תוכלו להריץ ניסוי נוסף.

התחל ניסוי

  1. במקטע לעסוק של קונסולת Firebase בסרגל הניווט, לחץ בדיקת A / B.
  2. לחץ טיוטה, ולאחר מכן לחץ על הכותרת של הניסוי שלך.
  3. כדי לאמת כי יש לאפליקצית משתמשים אשר ייכללו בניסוי שלך, להרחיב את פירוט הטיוטה ובדוק שיש יותר מספר מ 0% בקטע המיקוד והפצה (למשל, 1% של משתמשים התואמים את הקריטריונים).
  4. כדי לשנות את הניסוי, לחץ על עריכה.
  5. כדי להתחיל את הניסוי, לחץ על התחל ניסוי. אתה יכול להריץ עד 24 ניסויים בכל פרויקט בכל פעם.

עקוב אחר ניסוי

לאחר שניסוי פועל זמן מה, תוכלו לבדוק את התקדמותו ולראות כיצד נראות התוצאות שלכם עבור המשתמשים שהשתתפו בניסוי עד כה.

  1. במקטע לעסוק של קונסולת Firebase בסרגל הניווט, לחץ בדיקת A / B.
  2. לחץ ריצה, ולאחר מכן לחץ על הכותרת של הניסוי שלך. בדף זה תוכל להציג נתונים סטטיסטיים שונים שנצפו ומודלים אודות ניסוי הריצה שלך, כולל הדברים הבאים:

    • הבדל% מרמת בסיס: מדד של שיפור ערך עבור מגרסת נתון בהשוואה (הקבוצה או מלאה) הבסיס. מחושב על ידי השוואת טווח הערכים עבור הגרסה לטווח הערכים עבור הבסיס.
    • הסתברות בסיסית פעימה: ההסתברות העריכה כי מגרסת נתון תכה את הבסיס עבור הערך שנבחר.
    • observed_metric לכול משתמש: בהתבסס על תוצאות ניסוי, זהו הטווח חזה כי הערך, ייפול לתוך הזמן מעל.
    • סה"כ observed_metric : הערך המצטבר הנצפה עבור קבוצת הביקורת או וריאנט. הערך משמש כדי למדוד כמה טוב כול מבצעים גרסת ניסוי, וכן משמש לחישוב שיפור, טווח ערך, הסתברות בסיסית פעימה, והסתברות להיות וריאנט הטוב. תלוי בערך הנמדד, עמודה זו עשויה להיות שכותרתה "משך משתמש", "הכנסה למשתמש", "שיעור שימור" או "שיעור המרה".
  3. לאחר שהניסוי שלך רץ זמן מה (לפחות 7 ימים עבור FCM והודעות בתוך האפליקציה או 14 יום עבור תצורה מרחוק), הנתונים בעמוד זה מציינים איזו גרסה, אם בכלל, היא "המנהיג". כמה מדידות מלוות בתרשים עמודות המציג את הנתונים בפורמט חזותי.

הפעל ניסוי לכל המשתמשים

לאחר שניסוי רץ מספיק זמן כדי שיהיה לך "מנהיג", או גרסה מנצחת, למדד היעד שלך, תוכל להפיץ את הניסוי ל -100% מהמשתמשים. זה מאפשר לך לבחור גרסה לפרסום לכל המשתמשים שמתקדמים קדימה. גם אם הניסוי שלך לא יצר מנצח ברור, אתה עדיין יכול לבחור להפיץ גרסה לכל המשתמשים שלך.

  1. במקטע לעסוק של קונסולת Firebase בסרגל הניווט, לחץ בדיקת A / B.
  2. לחץ שהושלמו או ריצה, לחץ ניסוי שאתה רוצה לרדד לכל המשתמשים, לחץ על תפריט ההקשר ( ), ולאחר מכן לחץ על מרדדים וריאנט.
  3. הפעל את הניסוי שלך לכל המשתמשים על ידי ביצוע אחת מהפעולות הבאות:

    • עבור ניסוי שמשתמש מלחין ההודעות, להשתמש מרדדי שיח הודעה כדי לשלוח את ההודעה למשתמשים הממוקדים הנותרים שלא היו חלק בניסוי.
    • לניסוי של Config Remote, בחר גרסה כדי לקבוע אילו ערכי פרמטר Config מרחוק לעדכן. קריטריוני המיקוד שהוגדרו בעת יצירת הניסוי יתווספו כתנאי חדש בתבנית שלך, כדי להבטיח שההשקה משפיעה רק על משתמשים שממוקדים על ידי הניסוי. לאחר לחיצת הסקירה ב מרחוק Config כדי לסקור את השינויים, לחץ על פרסם שינויים כדי להשלים את הפריסה.
    • לניסוי בהודעות בתוך האפליקציה, השתמש בתיבת הדו-שיח כדי לקבוע איזה גרסה צריכה להיות מגולגלת כקמפיין עצמאי להעברת הודעות. לאחר הבחירה, תועבר למסך ההלחנה של FIAM כדי לבצע שינויים (אם נדרש) לפני הפרסום.

הרחב ניסוי

אם אתה מגלה שניסוי לא מביא מספיק משתמשים לצורך בדיקת A / B כדי להכריז על מוביל, תוכל להגדיל את תפוצת הניסוי שלך כדי להגיע לאחוז גדול יותר מבסיס המשתמשים של האפליקציה.

  1. במקטע לעסוק של קונסולת Firebase בסרגל הניווט, לחץ בדיקת A / B.
  2. בחר את הניסוי הרץ שברצונך לערוך.
  3. בסקירה הכללית של הניסוי, לחץ על תפריט ההקשר ( ), ולאחר מכן לחץ על ניסוי ריצה ערוך.
  4. שיח 'הצגת הכוונת אופציה להגדיל את אחוז המשתמשים שנמצאים הניסוי פועל כרגע. בחר גדול מספר מאחוז הנוכחי ולחץ על פרסם. הניסוי יידחק החוצה לאחוז המשתמשים שציינת.

שכפול או הפסק ניסוי

  1. במקטע לעסוק של קונסולת Firebase בסרגל הניווט, לחץ בדיקת A / B.
  2. לחץ שהושלמו או ריצה, לרחף מעל הניסוי שלך, לחץ על תפריט ההקשר ( ), ולאחר מכן לחץ על ניסוי כפול או עצור את הניסוי.

מיקוד משתמשים

תוכל למקד את המשתמשים שיכללו בניסוי שלך באמצעות הקריטריונים הבאים למיקוד משתמשים.

קריטריון מיקוד מפעילים ערך הערה
גִרְסָה מכיל,
לא מכיל,
תואם בדיוק,
מכיל regex
הזן ערך עבור גרסת אפליקציה אחת או יותר שברצונך לכלול בניסוי.

כאשר המשתמש כלשהו של מכיל, אינו מכיל, או גפרורים בדיוק מפעילים, אתה יכול לספק רשימה מופרדת בפסיקים של ערכים.

בעת השימוש מכיל מפעילת regex, אתה יכול ליצור ביטויים רגילים RE2 פורמט. הביטוי הרגיל שלך יכול להתאים לכל מחרוזת גרסת היעד או לחלקה. אתה יכול גם להשתמש ^ ועוגן $ להתאים בהתחלה, בסוף, או מכלול מחרוזת יעד.

קהל המשתמשים כולל את כל,
כולל לפחות אחד מ,
אינו כולל את כל,
אינו כולל לפחות אחד מ
בחר קהל Analytics אחד או יותר כדי למקד למשתמשים שעשויים להיכלל בניסוי שלך.
נכס משתמש לטקסט:
מכיל,
לא מכיל,
תואם בדיוק,
מכיל regex

למספרים:
<, ≤, =, ≥,>
מאפיין משתמש של Analytics משמש לבחירת משתמשים שעשויים להיכלל בניסוי, עם מגוון אפשרויות לבחירת ערכי נכסי משתמש.

בלקוח, אתה יכול להגדיר רק ערכי מחרוזות עבור מאפייני משתמש. בתנאים המשתמשים במפעילים מספריים, שירות Config מרחוק ממיר את הערך של מאפיין המשתמש המתאים למספר שלם / צף.
בעת השימוש מכיל מפעילת regex, אתה יכול ליצור ביטויים רגילים RE2 פורמט. הביטוי הרגיל שלך יכול להתאים לכל מחרוזת גרסת היעד או לחלקה. אתה יכול גם להשתמש ^ ועוגן $ להתאים בהתחלה, בסוף, או מכלול מחרוזת יעד.
נְבוּאָה לא קבוצות יעד של משתמשים שהוגדרו על ידי חיזויים של Firebase - למשל, אלה שעלולים להפסיק להשתמש באפליקציה שלך, או משתמשים אשר עשויים לבצע רכישה מתוך האפליקציה. בחר אחד מהערכים שהוגדרו על ידי הכלי חיזוי Firebase. אם אפשרות לא זמינה, ייתכן שיהיה עליך להצטרף לחיזויים של Firebase על ידי ביקור במקטע חיזויים במסוף Firebase.
מדינה במכשיר לא אחת או יותר מדינות או אזורים המשמשים לבחירת משתמשים שעשויים להיכלל בניסוי.
שפת המכשיר לא אחת או יותר שפות ומקומות המשמשים לבחירת משתמשים שעשויים להיכלל בניסוי. קריטריון מיקוד זה זמין רק עבור תצורה מרחוק.
פתיחה ראשונה יותר מ
פחות מ
בֵּין
מקד למשתמשים על סמך הפעם הראשונה בה הם פתחו את האפליקציה שלך, שצוין בימים. קריטריון מיקוד זה זמין רק להעברת הודעות בתוך האפליקציה של Firebase.
מעורבות אחרונה באפליקציה יותר מ
פחות מ
בֵּין
מקד למשתמשים על סמך הפעם האחרונה בה הם התקשרו עם האפליקציה שלך, שצוין בימים. קריטריון מיקוד זה זמין רק להעברת הודעות בתוך האפליקציה של Firebase.

מדדי בדיקות A / B

כשאתה יוצר את הניסוי שלך, אתה בוחר מדד המשמש להשוואת גרסאות הניסוי, ותוכל גם לבחור מדדים אחרים שיש לעקוב אחריהם כדי לעזור לך להבין טוב יותר כל גרסת ניסוי ולזהות תופעות לוואי משמעותיות (כגון קריסות באפליקציות). הטבלאות הבאות מפרטות כיצד מחשבים מדדי יעד וערכים אחרים.

מדדי יעד

מֶטרִי תיאור
שמירה (יום אחד) מספר המשתמשים שחוזרים לאפליקציה שלך על בסיס יומי.
שמירה (2-3 ימים) מספר המשתמשים שחוזרים לאפליקציה שלך תוך 2-3 ימים.
שמירה (4-7 ימים) מספר המשתמשים שחוזרים לאפליקציה שלך תוך 4-7 ימים.
שמירה (8-14 יום) מספר המשתמשים שחוזרים לאפליקציה שלך תוך 8-14 יום.
שמירה (15+ ימים) מספר המשתמשים שחוזרים לאפליקציה שלך 15 יום ומעלה לאחר השימוש האחרון בו.
ההודעה פתוחה עוקב אחר אם משתמש פותח את ההודעה שנשלחה על ידי מלחין ההודעות.
הכנסות מרכש הערך המשולב עבור כל ecommerce_purchase ו in_app_purchase אירועים.
הכנסות משוערות מ- AdMob רווחים משוערים מ- AdMob.
הכנסות משוערות ערך משולב לרכישה והכנסות AdMob משוערות.
פתח ראשון אירוע Analytics המופעל כאשר משתמש פותח אפליקציה לראשונה לאחר התקנתו או התקנתו מחדש. משמש כחלק ממשפך המרה.
הודעה_פתח אירוע Analytics המופעל כאשר משתמש פותח התראה שנשלחה על ידי מלחין ההודעות. משמש כחלק ממשפך המרה.

מדדים אחרים

מֶטרִי תיאור
משתמשים ללא התרסקות אחוז המשתמשים שלא נתקלו בשגיאות באפליקציה שלך שהתגלו על ידי SDK Firebase Crashlytics במהלך הניסוי.
הודעה_סגור אירוע Analytics המופעל כאשר הודעה שנשלחה על ידי מלחין ההודעות נדחית (אנדרואיד בלבד).
הודעה_קבל אירוע Analytics המופעל כאשר מתקבלת התראה שנשלחה על ידי מלחין ההודעות כשהאפליקציה ברקע (אנדרואיד בלבד).
os_update ב- Analytics במקרה מסלולים כאשר מערכת ההפעלה למכשיר מתעדכנת על version.To חדש ללמוד עוד, ראה אירועים שנאספו באופן אוטומטי .
תצוגת מסך אירוע Analytics העוקב אחר מסכים שנצפו באפליקציה שלך. כדי ללמוד עוד, ראה מסלול תצוגות מסך .
session_start אירוע Analytics שמספר הפעלות משתמשים באפליקציה שלך. כדי ללמוד עוד, ראה אוטומטי אירועים שנאספו .
משתמש_התקשרות אירוע Analytics המופעל מעת לעת בזמן שהאפליקציה שלך נמצאת בחזית. כדי ללמוד עוד, ראה אוטומטי אירועים שנאספו .

ייצוא נתוני BigQuery

אתה יכול לגשת לכל Analytics נתונים הקשורים בבדיקות A / B שלך BigQuery . BigQuery מאפשר לך לנתח את הנתונים באמצעות BigQuery SQL, לייצא אותם לספק ענן אחר או להשתמש בנתונים עבור דגמי ה- ML המותאמים אישית שלך. ראה קישור BigQuery כדי Firebase לקבלת מידע נוסף.

כדי לנצל את מלוא ייצוא הנתונים של BigQuery, פרויקטים של Firebase צריכים לאמץ את תוכנית התמחור "Blaze" בתשלום. חיובי BigQuery בגין אחסון נתונים, הזרמת הוספות ושאילתת נתונים. טעינה וייצוא של נתונים הם ללא תשלום. ראה תמחור BigQuery , או ארגז חול BigQuery לקבלת מידע נוסף.

כדי להתחיל, וודא שפרויקט Firebase שלך ​​מקושר ל- BigQuery. בחר הגדרות> גדרות פרויקט בסרגל הניווט השמאלי, ולאחר מכן בחר ואינטגרציות> BigQuery> קישור. דף זה מציג אפשרויות לביצוע ייצוא נתוני ניתוח BiqQuery עבור כל האפליקציות בפרויקט.

לשאילתת נתוני ניתוח לצורך ניסוי:

  1. From שלך ניסויים פעילים הרשימה, בחר את הניסוי הרצוי כדי לפתוח את דף תוצאות הניסוי.
  2. מתוך תפריט ההקשר בחלונית סקירה הניסוי, בחר נתוני הניסוי Query (אפשרות זו אינה זמינה עבור פרויקטים על הרובד חינם).

    פעולה זו פותחת את מלחין השאילתות של קונסולת BigQuery עם שאילתת דוגמה אוטומטית שנוצרה של נתוני ניסוי שטענו מראש לבדיקה שלך. בשאילתה זו, הניסוי שלך מקודד כמאפיין משתמש עם שם הניסוי במפתח וגרסת הניסוי בערך.

  3. בשנת מלחין השאילתא, בחר שאילתא הרץ. התוצאות מוצגות בחלונית התחתונה.

שים לב, מכיוון שנתוני Firebase ב- BigQuery מתעדכנים פעם אחת בלבד ביום, הנתונים הזמינים בדף הניסוי עשויים להיות מעודכנים יותר מהנתונים הזמינים במסוף BigQuery.