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

מאפייני משתמשים מתארים פלחים של בסיס המשתמשים, כמו העדפות שפה או מיקום גיאוגרפי. מערכת 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
    }
}