כשמשתמשים ב-Firebase Remote Config כדי לפרוס הגדרות לאפליקציה עם בסיס משתמשים פעיל, חשוב לוודא שההגדרות נכונות. אפשר להשתמש בA/B Testingניסויים כדי לקבוע בצורה הטובה ביותר את הפרטים הבאים:
- הדרך הכי טובה להטמיע תכונה כדי לשפר את חוויית המשתמש. לעתים קרובות מדי, מפתחי אפליקציות מגלים שהמשתמשים לא אוהבים תכונה חדשה או חוויית משתמש מעודכנת רק כשהדירוג של האפליקציה שלהם בחנות האפליקציות יורד. A/B Testing יכול לעזור לכם למדוד אם המשתמשים אוהבים את הגרסאות החדשות של התכונות, או אם הם מעדיפים את האפליקציה כמו שהיא. בנוסף, אם רוב המשתמשים שלכם יהיו בקבוצת הבסיס, רוב בסיס המשתמשים יוכל להמשיך להשתמש באפליקציה בלי לחוות שינויים בהתנהגות או במראה שלה עד לסיום הניסוי.
- הדרך הטובה ביותר לשפר את חוויית המשתמש כדי להשיג יעד עסקי. לפעמים אתם מטמיעים שינויים במוצר כדי למקסם מדד כמו הכנסה או שימור. בעזרת A/B Testing, אתם מגדירים את היעד העסקי, ו-Firebase מבצעת את הניתוח הסטטיסטי כדי לקבוע אם וריאנט מסוים משיג ביצועים טובים יותר מערך הבסיס ביחס ליעד שבחרתם.
כדי לבצע בדיקת A/B של וריאציות של תכונות עם בסיס להשוואה, צריך לפעול לפי השלבים הבאים:
- יוצרים את הניסוי.
- ניהול הניסוי.
יצירת ניסוי
Remote Config ניסוי מאפשר להעריך כמה וריאנטים של Remote Config פרמטר אחד או יותר.
מוודאים שהאפשרות Google Analytics מופעלת בפרויקט כדי שלניסוי תהיה גישה לנתוני Analytics.
אם לא הפעלתם את Google Analytics כשנוצר הפרויקט, תוכלו להפעיל אותו בכרטיסייה Integrations (שילובים) בקטע
Settings (הגדרות) במסוף Firebase.במסוף Firebase, עוברים אל DevOps & Engagement (פיתוח אפליקציות ואינטראקציה) > A/B Testing.
לוחצים על יצירת ניסוי ואז על Remote Config כשמוצגת בקשה לבחירת השירות שרוצים לבדוק.
בקטע וריאנטים, בוחרים בסיס לפחות ווריאנט אחד לניסוי. אפשר להוסיף פרמטר אחד או יותר לניסוי. כדי להוסיף עוד פרמטרים לניסוי, חוזרים על השלב הזה.
(אופציונלי) כדי להוסיף יותר מווריאציה אחת לניסוי, לוחצים על הוספת וריאציה נוספת.
משנים פרמטר אחד או יותר של וריאציות ספציפיות. כל הפרמטרים שלא השתנו זהים למשתמשים שלא נכללים בניסוי.
מרחיבים את הקטע Variant Weights (חלוקת התנועה בין הווריאנטים) כדי לראות או לשנות את חלוקת התנועה בין הווריאנטים בניסוי. כברירת מחדל, אחוז המשתמשים מתחלק בין הווריאנטים באופן שווה. חשוב לשים לב שחלוקה לא שווה עשויה להאריך את משך הזמן שנדרש לאיסוף הנתונים, ואחרי הפעלת הניסוי לא ניתן לשנות את החלוקה לאחוזים.
מגדירים את קריטריוני הטירגוט של הניסוי באמצעות תנאים של Remote Config:
שימוש חוזר בתנאי קיים: אם תנאי קיים בתבנית Remote Config כבר תואם לקהל היעד, בוחרים אותו מהרשימה.
בודקים את סדר ההערכה של התנאים: מוודאים שהתנאים בדף תנאים מסודרים לפי סדר העדיפות הנכון. מכיוון ש-Remote Config מעריך את התנאים ברצף מלמעלה למטה, תנאים אחרים בעדיפות גבוהה יותר יכולים למנוע ממספר מספיק של משתמשים להגיע לתנאי שמשויך לניסוי.
ליצור תנאי חדש: אם אין תנאי קיים שעונה על דרישות הטירגוט שלכם, או אם אתם מעדיפים לשכפל תנאי קיים (לדוגמה, אם אתם לא רוצים להשתמש בתנאי שכבר נמצא בשימוש של פרמטרים אחרים), אתם יכולים ליצור תנאי חדש. לשם כך, קודם בוחרים את האפליקציה שבה משתמשים בניסוי. אם יוצרים תנאי נפרד או כפול לניסוי, צריך לוודא שהתנאי החדש נמצא בעדיפות גבוהה יותר מהתנאי הקיים. אחרת, המשתמשים יתאימו קודם לתנאי הקיים ולא יועברו לניסוי.
אחר כך תוכלו לטרגט קבוצת משנה ספציפית של משתמשים בלחיצה על וגם ובחירה של אפשרות אחת או יותר מהרשימה הבאה:
- גרסה: גרסה אחת או יותר של האפליקציה
- מספר Build: מספר ה-Build (Apple) או קוד הגרסה (Android) של האפליקציה
- פלטפורמה: פלטפורמה אחת או יותר (iOS, Android או אינטרנט) לטירגוט
- מערכת הפעלה: טירגוט משתמשים באפליקציות אינטרנט על סמך מערכת ההפעלה והגרסה שלהם
- דפדפן: טירגוט משתמשים באפליקציות אינטרנט על סמך דפדפן האינטרנט והגרסה של הדפדפן
- קטגוריית מכשיר: טירגוט משתמשים באפליקציות אינטרנט בהתאם לסוג המכשיר שלהם (נייד או לא נייד)
- שפות: שפה אחת או יותר ולוקאלים שמשמשים לבחירת משתמשים שעשויים להיכלל בניסוי
- מדינה/אזור: מדינה אחת או יותר או אזורים לבחירת משתמשים שייכללו בניסוי
- קהל משתמשים: Analytics קהלים שמשמשים לטירגוט משתמשים שעשויים להיכלל בניסוי
- מאפיין משתמש: מאפיין משתמש Analytics אחד או יותר לבחירת משתמשים שאולי ייכללו בניסוי
- משתמשים באחוז אקראי: טירגוט של אחוז משתמשים שנבחר באופן אקראי בטווח אחוזונים מוגדר
- פלח מיובא: טירגוט משתמשים ששייכים לפלחים מותאמים אישית שיובאו והועלו לפרויקט
- תאריך/שעה: טירגוט משתמשים על סמך חלון זמן ספציפי של תאריך ושעה
- פתיחה ראשונה: טירגוט משתמשים על סמך הפעם הראשונה שהם פתחו את האפליקציה
- מזהה התקנה: טירגוט של מכשירי בדיקה ספציפיים או מופעי לקוח באמצעות מזהי ההתקנה שלהם ב-Firebase (FID)
- המשתמש קיים: טירגוט כל המשתמשים בכל האפליקציות בפרויקט
- אות מותאם אישית: טירגוט משתמשים על סמך אותות מותאמים אישית של צד הלקוח, שמבוססים על זוגות של מפתח/ערך ומועברים בזמן הריצה
מגדירים את החשיפה: מזינים את אחוז בסיס המשתמשים באפליקציה שתואם לקריטריונים שהוגדרו בקטע משתמשים לטירגוט, שרוצים לחלק באופן שווה בין קבוצת הבקרה לבין וריאציה אחת או יותר בניסוי. אפשר להזין כל אחוז בין 0% ל-100%. המשתמשים מוקצים באופן אקראי לכל ניסוי, כולל ניסויים משוכפלים.
אפשר גם להגדיר אירוע הפעלה כדי לוודא שרק הנתונים של משתמשים שהפעילו אירוע Analytics כלשהו ייכללו בניסוי. חשוב לדעת שכל המשתמשים שתואמים לפרמטרים של הטירגוט יקבלו ערכים ניסיוניים של Remote Config, אבל רק משתמשים שיפעילו אירוע הפעלה ייכללו בתוצאות הניסוי.
כדי לוודא שהניסוי תקין, צריך לוודא שהאירוע שבחרתם מתרחש אחרי שהאפליקציה מפעילה ערכי הגדרה שאוחזרו. בנוסף, אי אפשר להשתמש באירועים הבאים כי הם תמיד מתרחשים לפני הפעלת הערכים שאוחזרו:
app_installapp_removeapp_update
אי אפשר להשתמש באירוע Analytics שבחרתם כאירוע ההפעלה גם כמדד הראשי (או כמדד נוסף) באותו ניסוי. פעולה כזו תגרום לשגיאת אימות במסוף Firebase ותמנע את הפעלת הניסוי.
בקטע יעדים של הניסוי, בוחרים את המדד העיקרי למעקב ומוסיפים מהרשימה מדדים נוספים שרוצים לעקוב אחריהם. הם כוללים יעדים מובנים (רכישות, הכנסות, שימור, משתמשים שלא נתקלו בקריסה וכו'), Analytics אירועי המרה ואירועים אחרים.Analytics כשמסיימים, לוחצים על הבא.
לוחצים על שמירה כדי לשמור את הניסוי. כדי להתחיל להריץ את הניסוי, צריך לפרסם את התבנית.
מותר להפעיל עד 300 ניסויים לכל פרויקט (כולל השקות), שכוללים עד 24 ניסויים והשקות פעילים, והשאר הם ניסויים שהושלמו.
ניהול הניסוי
כשיוצרים ניסוי באמצעות Remote Config, אפשר להתחיל את הניסוי, לעקוב אחריו בזמן שהוא פועל ולהגדיל את מספר המשתמשים שנכללים בניסוי הפעיל.
כשהניסוי מסתיים, אפשר לרשום את ההגדרות שבהן נעשה שימוש בווריאציה המנצחת, ואז להחיל את ההגדרות האלה על כל המשתמשים. אפשר גם להפעיל ניסוי אחר.
עריכת ניסוי
- בקטע DevOps & Engagement בתפריט הניווט של מסוף Firebase, לוחצים על Remote Config.
- לוחצים על הכרטיסייה בדיקות A/B.
- לוחצים על פועל ואז על הניסוי שרוצים לערוך.
- לוחצים על התפריט בהקשר () ואז על עריכת ניסוי פעיל.
- כדי לוודא שיש לאפליקציה משתמשים שייכללו בניסוי, מרחיבים את הפרטים ומחפשים מספר שגדול מ-0% בקטע טירגוט והפצה (לדוגמה, 1% מהמשתמשים עומדים בקריטריונים).
מעקב אחרי ניסוי
אחרי שהניסוי פועל במשך זמן מה, אפשר לבדוק את ההתקדמות שלו ולראות את התוצאות שהתקבלו מהמשתמשים שהשתתפו בו עד עכשיו.
- בקטע DevOps & Engagement בתפריט הניווט של מסוף Firebase, לוחצים על Remote Config.
- לוחצים על הכרטיסייה בדיקות A/B.
לוחצים על פועל, ואז לוחצים על שם הניסוי או מחפשים אותו. בדף הזה אפשר לראות נתונים סטטיסטיים שונים שנמדדו ונוצרו על ידי מודלים לגבי הניסוי הפעיל, כולל:
- הפרש באחוזים לעומת ערך הבסיס: מדד לשיפור של מדד מסוים בווריאנט מסוים בהשוואה לערך הבסיס. החישוב מתבצע על ידי השוואה בין טווח הערכים של הווריאציה לבין טווח הערכים של קו הבסיס.
- ההסתברות לגבור על שיעור ההמרה הבסיסי: ההסתברות המשוערת שגרסה מסוימת תשיג תוצאות טובות יותר משיעור ההמרה הבסיסי במדד שנבחר.
- observed_metric לכל משתמש: על סמך תוצאות הניסוי, זהו הטווח הצפוי שבו יופיע ערך המדד לאורך זמן.
- הערך הכולל observed_metric: הערך המצטבר שנצפה עבור קו הבסיס או הווריאציה. הערך הזה משמש למדידת הביצועים של כל וריאנט בניסוי, ולחישוב המדדים שיפור, טווח ערכים, ההסתברות לגבור שיעור ההמרה הבסיסי והסיכוי להיות הווריאציה הטובה ביותר. בהתאם למדד שנמדד, יכול להיות שהכותרת של העמודה הזו תהיה 'משך הזמן לכל משתמש', 'הכנסה לכל משתמש', 'שיעור שימור' או 'שיעור המרה'.
אחרי שהניסוי פועל במשך זמן מה (14 ימים במקרה של Remote Config), הנתונים בדף הזה מציינים איזו וריאציה, אם בכלל, היא 'המובילה'. לפעמים, לנתונים של מדדים מסוימים מצורף תרשים עמודות שמציג את הנתונים בפורמט חזותי.
השקת ניסוי לכל המשתמשים
אחרי שהניסוי פועל מספיק זמן כדי להניב תוצאות משמעותיות, אפשר להשיק את הניסוי ל-100% מהמשתמשים. כך אפשר לבחור וריאנט לפרסום לכל המשתמשים בהמשך. גם אם לא ניתן לזהות מנצח ברור מתוצאות הניסוי, עדיין אפשר להפעיל את הווריאנט בקרב כל המשתמשים.
- בקטע DevOps & Engagement בתפריט הניווט של מסוף Firebase, לוחצים על Remote Config.
- לוחצים על הכרטיסייה בדיקות A/B.
- לוחצים על הושלם או על פועל, לוחצים על ניסוי שרוצים להשיק לכל המשתמשים, לוחצים על תפריט ההקשר () השקת וריאציה.
- כדי להפעיל את הניסוי לכל המשתמשים:
- בניסוי Remote Config, בוחרים וריאנט כדי לקבוע אילו ערכי פרמטרים של Remote Config יתעדכנו. הקריטריונים לטירגוט שהוגדרו בזמן יצירת הניסוי יתווספו כתנאי חדש בתבנית, כדי שהפעלת הווריאנט תשפיע רק על המשתמשים שטורגטו בניסוי. אחרי שלוחצים על Review in Remote Config (בדיקה בהגדרת תצורה מרחוק) כדי לבדוק את השינויים, לוחצים על Publish changes (פרסום השינויים) כדי להשלים את ההפעלה.
הרחבת ניסוי
אם אתם רואים שהניסוי לא מושך מספיק משתמשים כדיA/B Testing להכריז על גרסה מובילה, אתם יכולים להגדיל את ההפצה של הניסוי כדי להגיע לאחוז גדול יותר מבסיס המשתמשים של האפליקציה.
- בקטע DevOps & Engagement בתפריט הניווט של מסוף Firebase, לוחצים על Remote Config.
- לוחצים על הכרטיסייה בדיקות A/B.
- בוחרים את הניסוי הפעיל שרוצים לערוך.
- בקטע סקירה כללית של הניסוי, לוחצים על תפריט ההקשר () ואז על עריכת ניסוי פעיל.
- בתיבת הדו-שיח טירגוט מוצגת אפשרות להגדלת אחוז המשתמשים שמשתתפים בניסוי הפעיל. בוחרים מספר שגדול מהאחוז הנוכחי ולוחצים על פרסום. הניסוי יוצג לאחוז המשתמשים שציינתם.
שכפול ניסוי
- בקטע DevOps & Engagement בתפריט הניווט של מסוף Firebase, לוחצים על Remote Config.
- לוחצים על הכרטיסייה בדיקות A/B.
- בוחרים את הניסוי הפעיל או שהושלם שרוצים להפסיק.
- לוחצים על הושלם או על פועל, מציבים את הסמן מעל הניסוי, לוחצים על תפריט ההקשר () ואז על שכפול הניסוי או על הפסקת הניסוי.
הפסקת ניסוי
- בקטע DevOps & Engagement בתפריט הניווט של מסוף Firebase, לוחצים על Remote Config.
- לוחצים על הכרטיסייה בדיקות A/B.
- בוחרים את הניסוי הפעיל או שהושלם שרוצים להפסיק.
- לוחצים על הושלם או על פועל, מציבים את הסמן מעל הניסוי, לוחצים על תפריט ההקשר () ואז על הפסקת הניסוי.
זיהוי לקוח אינטרנט והמשכיות של ניסויים
כשמשתמש מפעיל אפליקציית אינטרנט באמצעות Firebase A/B Testing בדפדפן בפעם הראשונה, נוצר מזהה התקנה (FID) ייחודי של Firebase. מזהה ה-FID הזה מאוחסן באופן קבוע ב-IndexedDB של הדפדפן כדי לזהות את מופע האפליקציה בסשנים שונים.
Firebase A/B Testing משתמש ב-FID כדי להקצות משתמשים לווריאציות של הניסוי, ו-Google Analytics משתמש בו לצבירת אירועים כדי למדוד ולנתח את התנהגות המשתמשים בכל וריאציה.
מכיוון שערך ה-FID מאוחסן ב-IndexedDB, Firebase A/B Testing מתייחס למשתמש כאל משתמש חדש אם הוא ניגש לאפליקציה מדפדפן אחר או מחלון פרטי, או אם הוא מוחק את ה-IndexedDB של הדפדפן. כלומר, יכול להיות שמשתמש ייכלל בווריאציות שונות של ניסוי כשהוא משתמש בדפדפנים שונים או בסשנים שונים של גלישה.
טירגוט משתמשים
אתם יכולים לטרגט את המשתמשים שייכללו בניסוי באמצעות הקריטריונים הבאים לטירגוט משתמשים.
אלה סוגי הכללים שנתמכים במסוף Firebase. תכונות מקבילות זמינות ב-Remote Config API בארכיטקטורת REST, כמפורט בהפניה לביטויים מותנים.
| סוג הכלל | אופרטורים | ערך או ערכים | הערה |
| אפליקציה | == | בוחרים מתוך רשימה של מזהי אפליקציות שמשויכות לפרויקט Firebase. | כשמוסיפים אפליקציה ל-Firebase, מזינים מזהה חבילה או שם חבילה של Android שמגדירים מאפיין שמוצג כמזהה אפליקציה בכללי Remote Config.
כך משתמשים במאפיין הזה:
|
| גרסת אפליקציה |
לערכי מחרוזת: תואם בדיוק, מכיל, לא מכיל, מכיל ביטוי רגולרי לערכים מספריים: <, <=, =, !=, >, >= |
מציינים את הגרסאות של האפליקציה שרוצים להגדיר קהל יעד. לפני שמשתמשים בכלל הזה, צריך להשתמש בכלל מזהה אפליקציה כדי לבחור אפליקציית Android או אפליקציית Apple שמשויכת לפרויקט Firebase. |
בפלטפורמות של אפל: משתמשים ב-CFBundleShortVersionString של האפליקציה. הערה: חשוב לוודא שאפליקציית Apple שלכם משתמשת ב-Firebase Apple platforms SDK בגרסה 6.24.0 ואילך, כי CFBundleShortVersionString לא נשלח בגרסאות קודמות (ראו הערות על הגרסה). ב-Android: משתמשים ב-versionName של האפליקציה. השוואות המחרוזות בכלל הזה הן תלויות אותיות רישיות. כשמשתמשים באופרטורים exactly matches, contains, does not contain או contains regular expression, אפשר לבחור כמה ערכים. כשמשתמשים באופרטור contains regular expression, אפשר ליצור ביטויים רגולריים בפורמט RE2. הביטוי הרגולרי יכול להתאים לכל מחרוזת היעד או לחלק ממנה. אפשר גם להשתמש בסימני העיגון ^ ו-$ כדי להתאים את ההתחלה, הסוף או כל המחרוזת של מחרוזת יעד. |
| מספר Build |
לערכי מחרוזת: תואם בדיוק, מכיל, לא מכיל, ביטוי רגולרי לערכים מספריים: =, ≠, >, ≥, <, ≤ |
מציינים את הגרסאות של האפליקציה שרוצים לטרגט. לפני שמשתמשים בכלל הזה, צריך להשתמש בכלל מזהה אפליקציה כדי לבחור אפליקציית Apple או Android שמשויכת לפרויקט Firebase. |
האופרטור הזה זמין רק לאפליקציות ל-Apple ול-Android. הוא תואם ל-CFBundleVersion של האפליקציה ב-Apple ול-versionCode ב-Android. ההשוואות של מחרוזות בכלל הזה הן תלויות-רישיות. כשמשתמשים באופרטורים exactly matches, contains, does not contain או contains regular expression, אפשר לבחור כמה ערכים. כשמשתמשים באופרטור contains regular expression, אפשר ליצור ביטויים רגולריים בפורמט RE2. הביטוי הרגולרי יכול להתאים לכל מחרוזת היעד או לחלק ממנה. אפשר גם להשתמש בעוגנים ^ ו-$ כדי להתאים את ההתחלה, הסוף או כל המחרוזת של מחרוזת יעד. |
| פלטפורמה | == | iOS Android אינטרנט |
|
| מערכת הפעלה | == |
מציינים את מערכות ההפעלה לטירגוט. לפני שמשתמשים בכלל הזה, צריך להשתמש בכלל מזהה אפליקציה כדי לבחור אפליקציית אינטרנט שמשויכת לפרויקט Firebase. |
הכלל הזה מחזיר את הערך true עבור מופע נתון של אפליקציית אינטרנט אם מערכת ההפעלה והגרסה שלה תואמות לערך יעד ברשימה שצוינה.
|
| דפדפן | == |
מציינים את הדפדפנים לטירגוט. לפני שמשתמשים בכלל הזה, צריך להשתמש בכלל מזהה אפליקציה כדי לבחור אפליקציית אינטרנט שמשויכת לפרויקט Firebase. |
הכלל הזה מחזיר את הערך true עבור מופע נתון של אפליקציית אינטרנט אם הדפדפן והגרסה שלו תואמים לערך יעד ברשימה שצוינה.
|
| קטגוריית מכשיר | הוא, הוא לא | נייד | הכלל הזה בודק אם המכשיר שממנו ניגשים לאפליקציית האינטרנט הוא נייד או לא נייד (מחשב או קונסולה). סוג הכלל הזה זמין רק לאפליקציות אינטרנט. |
| שפות | נמצא ב- | בוחרים שפה אחת או יותר. | הכלל הזה מחזיר את הערך true עבור מופע נתון של אפליקציה אם המופע הזה מותקן במכשיר שמוגדרת בו אחת מהשפות שמופיעות ברשימה.
|
| ארץ/אזור | נמצא ב- | בוחרים אזור אחד או יותר או מדינה אחת או יותר. | הכלל הזה מחזיר את הערך true עבור מופע נתון של אפליקציה אם המופע נמצא באחד מהאזורים או המדינות שמפורטים. קוד המדינה של המכשיר נקבע לפי כתובת ה-IP של המכשיר בבקשה או לפי קוד המדינה שנקבע על ידי Firebase Analytics (אם נתוני Analytics משותפים עם Firebase).
|
| קהלים של משתמשים | כולל לפחות | בוחרים קהל אחד או יותר מתוך רשימת Google Analytics הקהלים שהגדרתם לפרויקט. | כדי להשתמש בכלל הזה, צריך כלל של מזהה אפליקציה כדי לבחור אפליקציה שמשויכת לפרויקט Firebase.
הערה: הרבה קהלים מסוג Analytics מוגדרים לפי אירועים או מאפייני משתמשים, שיכולים להתבסס על פעולות של משתמשים באפליקציה. לכן, יכול להיות שיעבור זמן עד שכלל מסוג משתמש בקהל ייכנס לתוקף עבור מופע נתון של אפליקציה. המשמעות היא שגם אם משתמש עומד בדרישות הטכניות להכללה בקהל, אם Analytics עדיין לא הוסיף את המשתמש לקהל כש- |
| מאפיין משתמש |
לערכי מחרוזת:
contains, does not contain, exactly matches, contains regular expression לערכים מספריים: =, ≠, >, ≥, <, ≤ הערה: בצד הלקוח, אפשר להגדיר רק ערכי מחרוזת למאפייני משתמש. בתנאים שבהם נעשה שימוש באופרטורים מספריים, Remote Config ממיר את הערך של מאפיין המשתמש המתאים למספר שלם או למספר עשרוני. |
בוחרים מתוך רשימה של מאפייניGoogle Analytics משתמשים זמינים. | כדי ללמוד איך אפשר להשתמש במאפייני משתמש כדי להתאים אישית את האפליקציה לפלחים ספציפיים מאוד של בסיס המשתמשים, אפשר לעיין במאמר
Remote Config ומאפייני משתמש.
מידע נוסף על מאפייני משתמש זמין במדריכים הבאים: כשמשתמשים באופרטורים exactly matches, contains, does not contain או contains regular expression, אפשר לבחור כמה ערכים. כשמשתמשים באופרטור contains regular expression, אפשר ליצור ביטויים רגולריים בפורמט RE2. הביטוי הרגולרי יכול להתאים לכל מחרוזת היעד או לחלק ממנה. אפשר גם להשתמש בעוגנים ^ ו-$ כדי להתאים את ההתחלה, הסוף או כל המחרוזת של מחרוזת יעד. הערה: מאפייני משתמשים שנאספים באופן אוטומטי לא זמינים כשיוצרים תנאים של Remote Config. |
| משתמש באחוז אקראי | פס ההזזה (במסוף Firebase). API בארכיטקטורת REST משתמש באופרטורים <=, > ו-between).
|
0-100 |
אפשר להשתמש בשדה הזה כדי להחיל שינוי על מדגם אקראי של מופעי אפליקציה (עם גדלי מדגם קטנים עד 0 .0001%), באמצעות ווידג'ט פס ההזזה כדי לפלח משתמשים (מופעי אפליקציה) שסודרו באופן אקראי לקבוצות. כל מופע של אפליקציה ממופה באופן קבוע למספר אקראי שלם או חלקי, בהתאם לערך התחלתי (seed) שהוגדר באותו פרויקט. כלל ישתמש במפתח ברירת המחדל (שמוצג כEdit seed במסוף Firebase) אלא אם תשנו את ערך ה-seed. כדי להחזיר כלל לשימוש במפתח ברירת המחדל, מוחקים את התוכן של השדה Seed. כדי להתייחס באופן עקבי לאותם מופעים של אפליקציה בטווחים נתונים של אחוזים, צריך להשתמש באותו ערך seed בכל התנאים. לחלופין, אפשר לבחור קבוצה חדשה של מופעי אפליקציה שהוקצו באופן אקראי לטווח אחוזים מסוים על ידי ציון seed חדש. לדוגמה, כדי ליצור שני תנאים קשורים שכל אחד מהם חל על 5% לא חופפים ממשתמשי האפליקציה, אפשר להגדיר תנאי אחד שתואם לאחוז בין 0% ל-5% ותנאי אחר שתואם לטווח בין 5% ל-10%. כדי לאפשר למשתמשים מסוימים להופיע באופן אקראי בשתי הקבוצות, צריך להשתמש בערכי seed שונים לכללים בכל תנאי. |
| פלח שיובא | נמצא ב- | בוחרים פלח מיובא אחד או יותר. | כדי להשתמש בכלל הזה, צריך להגדיר פלחים מיובאים בהתאמה אישית. |
| תאריך/שעה | לפני, אחרי | תאריך ושעה ספציפיים, באזור הזמן של המכשיר או באזור זמן ספציפי כמו "(GMT+11) שעון סידני". | השוואה בין השעה הנוכחית לבין שעת האחזור של המכשיר. |
| פתיחה ראשונה | לפני, אחרי | טירגוט משתמשים על סמך הפעם הראשונה שבה הם פותחים את האפליקציה:
|
אפשר להשתמש בטירגוט משתמשים לפי פתיחה ראשונה אחרי שבוחרים אפליקציה ל-Android, ל-iOS או לאינטרנט. נדרשות ערכות ה-SDK הבאות:
בנוסף, צריך להפעיל את Analytics בלקוח במהלך אירוע הפתיחה הראשונה. |
| מזהה ההתקנה | נמצא ב- | מציינים מזהה התקנה אחד או יותר (עד 50) לטירגוט. | הערך של הכלל הזה הוא true להתקנה מסוימת אם המזהה של ההתקנה הזו נמצא ברשימת הערכים המופרדים בפסיקים.
מידע על קבלת מזהי התקנה זמין במאמר בנושא אחזור מזהי לקוחות. |
| המשתמש קיים | (ללא אופרטור) | מטרגט את כל המשתמשים בכל האפליקציות בפרויקט הנוכחי. |
משתמשים בכלל התנאי הזה כדי להתאים את כל המשתמשים בפרויקט, ללא קשר לאפליקציה או לפלטפורמה. |
| אות מותאם אישית |
לערכי מחרוזות:
contains, does not contain, exactly matches, contains regular expression לערכים מספריים: =, ≠, >, ≥, <, ≤ לערכי גרסה: =, ≠, >, ≥, <, ≤ |
השוואות המחרוזות בכלל הזה הן תלויות אותיות רישיות. כשמשתמשים באופרטורים 'התאמה מדויקת', 'מכיל', 'לא מכיל' או 'מכיל ביטוי רגולרי', אפשר לבחור כמה ערכים. כשמשתמשים באופרטור של ביטוי רגולרי מסוג 'מכיל', אפשר ליצור ביטויים רגולריים בפורמט RE2. הביטוי הרגולרי יכול להתאים לכל מחרוזת היעד או לחלק ממנה. אפשר גם להשתמש בעוגנים ^ ו-$ כדי להתאים את ההתחלה, הסוף או כל המחרוזת של מחרוזת יעד. סוגי הנתונים הבאים נתמכים בסביבות לקוח:
ספרה שמייצגת את מספרי הגרסאות שתואמות (לדוגמה, 2.1.0). |
מידע נוסף על תנאי אותות מותאמים אישית וביטויים מותנים לשימוש זמין במאמרים תנאי אותות מותאמים אישית ורכיבים שמשמשים ליצירת תנאים. |
A/B Testing מדדים
כשיוצרים ניסוי, בוחרים מדד עיקרי, או מדד יעד, שלפיו ייקבע הווריאנט המנצח. כדאי גם לעקוב אחרי מדדים אחרים כדי להבין טוב יותר את הביצועים של כל וריאציה בניסוי, ולעקוב אחרי מגמות חשובות שעשויות להיות שונות בכל וריאציה, כמו שימור משתמשים, יציבות האפליקציה והכנסות מרכישות באפליקציה. אפשר לעקוב אחרי עד חמישה מדדים שלא קשורים ליעד בניסוי.
לדוגמה, נניח שאתם משתמשים ב-Remote Config כדי להשיק שני תהליכי משחק שונים באפליקציה, ואתם רוצים לבצע אופטימיזציה לרכישות מתוך האפליקציה ולהכנסות מפרסום, אבל אתם גם רוצים לעקוב אחרי היציבות ושימור המשתמשים של כל וריאציה. במקרה כזה, כדאי לבחור בהכנסה כוללת משוערת כמדד היעד, כי הוא כולל הכנסות מרכישות באפליקציה והכנסות מפרסום. אחר כך, במדדים אחרים למעקב, אפשר להוסיף את המדדים הבאים:
- כדי לעקוב אחרי שימור המשתמשים היומי והשבועי, מוסיפים את המדדים שימור (יומיים עד 3 ימים) ושימור (4 עד 7 ימים).
- כדי להשוות את היציבות בין שני תהליכי המשחק, מוסיפים את המדד משתמשים שהאפליקציה לא קרסה אצלם.
- כדי לראות תצוגות מפורטות יותר של כל סוג הכנסה, מוסיפים את המדדים הכנסות מרכישות והכנסות משוערות מפרסום.
בטבלאות הבאות מפורט אופן החישוב של מדדי היעד ומדדים אחרים.
מדדי יעדים
| מדד | תיאור |
|---|---|
| משתמשים שהאפליקציה שלהם לא קרסה | אחוז המשתמשים שלא נתקלו באפליקציה בשגיאות שזוהו על ידי Firebase Crashlytics SDK במהלך הניסוי.
הערה: אין תמיכה ב-Firebase Crashlytics באפליקציות אינטרנט. |
| הכנסות משוערות מפרסום | הרווחים המשוערים ממודעות. |
| סה"כ הכנסות משוערות | הערך המשולב של רכישות והכנסות משוערות מפרסום. |
| הכנסות מרכישות | הערך הכולל של כל האירועים מסוג purchase ו-in_app_purchase.
|
| שימור (יום אחד) | מספר המשתמשים שחוזרים לאפליקציה שלכם על בסיס יומי. |
| שימור (יומיים-שלושה) | מספר המשתמשים שחוזרים לאפליקציה שלכם תוך יומיים-שלושה. |
| שימור (4-7 ימים) | מספר המשתמשים שחוזרים לאפליקציה שלכם תוך 4 עד 7 ימים. |
| שימור (8-14 ימים) | מספר המשתמשים שחוזרים לאפליקציה שלכם תוך 8 עד 14 ימים. |
| שימור (15 ימים ומעלה) | מספר המשתמשים שחוזרים לאפליקציה 15 ימים או יותר אחרי השימוש האחרון שלהם באפליקציה. |
| first_open | אירוע Analytics שמופעל כשמשתמש פותח אפליקציה בפעם הראשונה אחרי שהוא התקין אותה או התקין אותה מחדש. משמש כחלק ממשפך המרות. |
מדדים נוספים
| מדד | תיאור |
|---|---|
| notification_dismiss | אירוע Analytics שמופעל כשסוגרים הודעה שנשלחה על ידי כלי ההודעות (Android בלבד). |
| notification_receive | אירוע Analytics שמופעל כשמתקבלת הודעה שנשלחה על ידי כלי ההודעות בזמן שהאפליקציה פועלת ברקע (ב-Android בלבד). |
| os_update | אירוע Analytics שמתעד מתי מערכת ההפעלה של המכשיר מעודכנת לגרסה חדשה.מידע נוסף זמין במאמר בנושא אירועים שנאספים באופן אוטומטי.
המדד הזה לא נתמך באפליקציות אינטרנט. |
| screen_view | Analytics אירוע שמתעד את המסכים שנצפו באפליקציה. מידע נוסף זמין במאמר בנושא מעקב אחר צפיות במסך. |
| session_start | Analytics אירוע שסופר את הסשנים של המשתמשים באפליקציה. מידע נוסף זמין במאמר אירועים שנאספים באופן אוטומטי. |
ייצוא נתונים ל-BigQuery
בנוסף לצפייה בA/B Testing נתוני הניסוי במסוףFirebase, אפשר לבדוק ולנתח את נתוני הניסוי ב-BigQuery. למרות של-A/B Testing אין טבלה נפרדת של BigQuery, חברות בניסויים ובגרסאות מאוחסנת בכל אירוע Google Analytics בטבלאות האירועים Analytics.
מאפייני המשתמש שמכילים מידע על הניסוי הם מהצורה
userProperty.key like "firebase_exp_%" או userProperty.key =
"firebase_exp_01", כאשר 01 הוא מזהה הניסוי וuserProperty.value.string_value מכיל את האינדקס (מבוסס-אפס) של וריאנט הניסוי.
אתם יכולים להשתמש במאפייני המשתמשים של הניסוי כדי לחלץ נתונים מהניסוי. כך תוכלו לפלח את תוצאות הניסוי בדרכים שונות ולאמת באופן עצמאי את התוצאות של A/B Testing.
כדי להתחיל, צריך לבצע את הפעולות הבאות כמו שמתואר במדריך הזה:
- הפעלה של ייצוא BigQuery עבור Google Analytics במסוף Firebase
- גישה לנתונים של A/B Testing באמצעות BigQuery
- דוגמאות לשאילתות
הפעלה של BigQuery ייצוא ל-Google Analytics במסוף Firebase
אם אתם רשומים לתוכנית Spark, אתם יכולים להשתמש בBigQueryארגז החול כדי לגשת אל BigQuery ללא עלות, בכפוף למגבלות ארגז החול. מידע נוסף זמין במאמר בנושא תמחור וארגז חול של BigQuery.
קודם כול, מוודאים שמייצאים את נתוני Analytics אל BigQuery:
במסוף Firebase, עוברים אל
הגדרות > הכרטיסייה שילובים.בכרטיס BigQuery, לוחצים על ניהול ומוודאים שהפרויקט מייצא נתוני Analytics אל BigQuery.
אם בכרטיס מופיעה האפשרות קישור, צריך להגדיר את הייצוא (ממשיכים לשלב הבא).
אם אתם צריכים להגדיר ייצוא:
מעיינים במאמר מידע על קישור Firebase אל BigQuery ואז לוחצים על הבא.
בקטע Configure integration (הגדרת השילוב), מפעילים את האפשרות Google Analytics.
בוחרים אזור וקובעים את הגדרות הייצוא.
לוחצים על קישור אל BigQuery.
בהתאם לאופן שבו בחרתם לייצא את הנתונים, יכול להיות שיעבור עד יום עד שהטבלאות יהיו זמינות. מידע נוסף על ייצוא נתוני פרויקט אל BigQuery זמין במאמר ייצוא נתוני פרויקט אל BigQuery.
גישה לנתוני A/B Testing ב-BigQuery
לפני שמריצים שאילתה כדי לקבל נתונים של ניסוי ספציפי, כדאי להשיג חלק מהנתונים הבאים או את כולם כדי להשתמש בהם בשאילתה:
- מזהה הניסוי: אפשר להשיג אותו מכתובת ה-URL של הדף סקירה כללית של הניסוי. לדוגמה, אם כתובת ה-URL שלכם נראית כך:
https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25, מזהה הניסוי הוא 25. - Google Analytics מזהה הנכס: מזהה הנכס בן 9 הספרותGoogle Analytics אפשר למצוא את המזהה הזה ב-Google Analytics. הוא מופיע גם ב-BigQuery כשמרחיבים את שם הפרויקט כדי להציג את השם של טבלת האירועים Google Analytics (
project_name.analytics_000000000.events). - תאריך הניסוי: כדי ליצור שאילתה מהירה ויעילה יותר, מומלץ להגביל את השאילתות למחיצות של טבלת האירועים היומית Google Analyticsשמכילות את נתוני הניסוי – טבלאות שמזוהות עם סיומת
YYYYMMDD. לכן, אם הניסוי שלכם פעל מ-2 בפברואר 2024 עד 2 במאי 2024, תציינו_TABLE_SUFFIX between '20240202' AND '20240502'. לדוגמה, אפשר לעיין במאמר בנושא בחירת ערכים של ניסוי ספציפי. - שמות האירועים: בדרך כלל, השמות האלה תואמים למדדי היעד שהגדרתם בניסוי. לדוגמה,
in_app_purchaseאירועים,ad_impressionאוuser_retentionאירועים.
אחרי שאוספים את המידע שדרוש ליצירת השאילתה:
- במסוף Google Cloud, עוברים אל BigQuery.
- בוחרים את הפרויקט ואז בוחרים באפשרות יצירת שאילתת SQL.
- מוסיפים את השאילתה. דוגמאות לשאילתות שאפשר להריץ זמינות במאמר דוגמאות לשאילתות.
- לוחצים על Run.
הרצת שאילתות על נתוני ניסויים באמצעות שאילתה שנוצרה אוטומטית במסוף Firebase
אם אתם משתמשים בתוכנית Blaze, בדף Experiment overview מוצגת שאילתה לדוגמה שמחזירה את שם הניסוי, הווריאציות, שמות האירועים ומספר האירועים בניסוי שמוצג.
כדי לקבל ולהריץ את השאילתה שנוצרה באופן אוטומטי:
- במסוף Firebase, עוברים אל DevOps & Engagement (פיתוח אפליקציות ואינטראקציה) > A/B Testing (בדיקות A/B).
- בוחרים את הניסוי A/B Testing שרוצים לשלוח לו שאילתה כדי לפתוח את סקירת הניסוי.
- בתפריט 'אפשרויות', מתחת לשילוב של BigQuery, בוחרים באפשרות שאילתת נתוני ניסוי. הפרויקט ייפתח ב-BigQuery במסוף Google Cloud, ותוצג שאילתה בסיסית שאפשר להשתמש בה כדי ליצור שאילתה של נתוני הניסוי.
בדוגמה הבאה מוצגת שאילתה שנוצרה לניסוי עם שלושה וריאנטים (כולל וריאנט הבסיס) בשם Winter welcome experiment. הפונקציה מחזירה את שם הניסוי הפעיל, שם הווריאנט, אירוע ייחודי וספירת האירועים לכל אירוע. שימו לב: בבונה השאילתות לא מצוין שם הפרויקט בשם הטבלה, כי הוא נפתח ישירות בתוך הפרויקט.
/*
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
מחילה על כל הניסויים בטווח הזמן שצוין כתאריכי ההתחלה והסיום של _TABLE_SUFFIX, ומחלצת את הווריאציות של הניסוי, את מספר המשתמשים הייחודיים בכל וריאציה ואת סכום ההכנסה הכוללת מאירועי in_app_purchase וecommerce_purchase, וגם את סטיות התקן. אפשר להשתמש בנתונים שמתקבלים מהשאילתה הזו עם מחולל מובהקות סטטיסטית למבחני 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