שליחה של מאפייני משתמש

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

מאפייני משתמשים משפרים את פילוח המשתמשים, אבל נתוני מאפייני המשתמשים זמינים בדרך כלל רק בצד השרת. ‫Measurement Protocol מאפשר לכם להוסיף לנתוני המדידה בצד הלקוח נתונים בצד השרת. בדרך כלל, אי אפשר לעשות את זה רק באמצעות פתרונות בצד הלקוח.

שמות שמורים

חלק מהשמות של מאפייני המשתמשים שמורים ואי אפשר להשתמש בהם במדידות:

  • first_open_time
  • first_visit_time
  • last_deep_link_referrer
  • user_id
  • first_open_after_install

בנוסף, שמות של מאפייני משתמשים לא יכולים להתחיל ב:

  • google_
  • ga_
  • firebase_

דוגמה לשימוש

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

קודם כול, הלקוח שולח אירוע add_payment_info יחד עם קריאה ל-API של השרת שיש לו גישה למערכת ה-CRM:

קוד לקוח

FirebaseAnalytics.logEvent("add_payment_info")
ServerAPI.addCustomerTier(
  FirebaseAnalytics.getAppInstanceId(),
  "[{name: \"add_payment_info\"}"]
);

השרת שלכם מוסיף למדידה את customer_tierמאפיין המשתמש באמצעות Measurement Protocol:

קוד שרת

const firebaseAppId = "FIREBASE_APP_ID";
const apiSecret = "API_SECRET";

function addCustomerTier(appInstanceId, events) {

  // Request the customer tier from the CRM.
  const customerTier = getCustomerTier(appInstanceId);

  const queryParams = `?firebase_app_id=${firebaseAppId}&api_secret=${apiSecret}`;
  fetch(`https://www.google-analytics.com/mp/collect${queryParams}`, {
    method: "POST",
    headers: {
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      "app_instance_id": "APP_INSTANCE_ID",
      "user_properties": {
        "customer_tier": {
          "value": "CUSTOMER_TIER"
        }
      },
      "events": JSON.parse(events)
    })
  });
}

מאפיין המשתמש הזה מדווח על שני הפלחים premium ו-standard.

במאמר בנושא שליחת אירועים מפורטות כל ההוראות לשליחת אירועים באמצעות Measurement Protocol.

חותמת זמן של ביטול

ב-Measurement Protocol נעשה שימוש בחותמת הזמן הראשונה שנמצאת ברשימה הבאה עבור כל מאפיין משתמש בבקשה:

  1. הtimestamp_micros של הרשומה ב-user_properties.
  2. timestamp_micros של הבקשה.
  3. השעה שבה Measurement Protocol מקבל את הבקשה.

בדוגמה הבאה נשלחת חותמת זמן ברמת הבקשה שחלה על כל מאפייני המשתמש בבקשה. כתוצאה מכך, Measurement Protocol מקצה למאפייני המשתמשים customer_tier ו-customer_group חותמת זמן של requestUnixEpochTimeInMicros.

{
  "timestamp_micros": requestUnixEpochTimeInMicros,
  "user_properties": {
      "customer_tier": {
        "value": customerTierValue
      },
      "customer_group": {
        "value": customerGroupValue
      }
  }
}

בדוגמה הבאה נשלחת חותמת זמן ברמת הבקשה וגם חותמת זמן של מאפיין המשתמש customer_tier. כתוצאה מכך, Measurement Protocol מקצה ל-customer_tier חותמת זמן של customerTierUnixEpochTimeInMicros, ול-customer_group חותמת זמן של requestUnixEpochTimeInMicros.

"timestamp_micros": requestUnixEpochTimeInMicros,
"user_properties": {
    "customer_tier": {
      "value": customerTierValue,
      "timestamp_micros": customerTierUnixEpochTimeInMicros
    },
    "customer_group": {
      "value": customerGroupValue
    }
}