ניהול אירועים של משתמשים

ספר: /gemini-enterprise-cx/ai-commerce-search/_book.yaml

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

הצטרפות מחדש למדריך לאירועים של משתמשים

במדריך הזה נסביר איך להצטרף מחדש לאירועי משתמשים באמצעות שליחת בקשת POST לנקודת הקצה userEvents:rejoin.


בלחיצה על תראו לי איך תקבלו הסבר מפורט על המשימה ישירות ב-Cloud Shell Editor:

תראו לי איך


הדרכה להסרת אירועים של משתמשים

במדריך הזה מוסבר איך למחוק לצמיתות אירועים שקשורים למשתמשים.


בלחיצה על תראו לי איך תקבלו הסבר מפורט על המשימה ישירות ב-Cloud Shell Editor:

תראו לי איך


צפייה במידע נצבר על אירועים של משתמשים

אפשר לראות את מדדי שילוב האירועים בכרטיסייה Events (אירועים) במסוף AI Commerce Search ב-Gemini Enterprise for Customer Experience בדף Data (נתונים). בדף הזה מוצגים כל האירועים שנכתבו או יובאו בשנה האחרונה. יכולות לעבור עד 24 שעות מרגע שהנתונים נקלטים בהצלחה ועד שהמדדים יופיעו.

מעבר לדף Data

נתונים סטטיסטיים של אירועים שקשורים ל-AI Commerce Search

אירועים של הצטרפות מחדש של משתמשים

אפשר להצטרף מחדש לאירועים של משתמשים על ידי שליחת בקשת POST לנקודת הקצה userEvents:rejoin.

פעולת ההצטרפות מחדש מצטרפת לאירועים שצוינו עם הגרסה העדכנית של קטלוג המוצרים.

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

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

כדי לבצע קריאה לשיטה הזו, צריך לקבל את תפקיד ה-IAM‏ Retail AI Admin. תהליך ההצטרפות מחדש יכול להימשך כמה שעות או ימים. מוודאים שיש לכם את ההרשאות הנדרשות.

curl

מגדירים את userEventRejoinScope בהתאם לסוגי האירועים שרוצים להצטרף אליהם מחדש:

  • ‫USER_EVENT_REJOIN_SCOPE_UNSPECIFIED: ברירת מחדל. הפעלת טריגר להצטרפות מחדש לאירועים שהמשתתפים הצטרפו אליהם ולאירועים שהמשתתפים לא הצטרפו אליהם.
  • ‫JOINED_EVENTS: הפעלת הצטרפות מחדש רק לאירועים שהמשתמש הצטרף אליהם.
  • ‫UNJOINED_EVENTS: הפעלה מחדש של ההצטרפות רק לאירועים שלא הצטרפתם אליהם.

בדוגמה הבאה, ההצטרפות מחדש מופעלת רק לאירועים שלא הצטרפתם אליהם:

curl -X POST \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data "{
     'userEventRejoinScope': 'UNJOINED_EVENTS'
     }" \
    "https://retail.googleapis.com/v2/projects/PROJECT_ID/locations/global/catalogs/default_catalog/userEvents:rejoin"

אמורים לקבל אובייקט תגובה שנראה כך:

{
  "name": "projects/PROJECT_ID/locations/global/catalogs/default_catalog/operations/OPERATION_ID"
}

אפשר לבדוק את הסטטוס של ההצטרפות מחדש. מחליפים את OPERATION_ID במזהה הפעולה שהוחזר על ידי שיטת ההצטרפות מחדש:

curl -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
"https://retail.googleapis.com/v2/projects/PROJECT_ID/locations/global/catalogs/default_catalog/operations/OPERATION_ID"

כשהפעולה מסתיימת, סטטוס הפעולה חוזר כ-done:

{
  "name": "projects/PROJECT_ID/locations/global/catalogs/default_catalog/operations/OPERATION_ID",
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.retail.v2.RejoinUserEventsResponse",
    "rejoinedUserEventsCount": "1"
  }
}

Java

public static String rejoinUserEvents(UserEventRejoinScope scope)
    throws IOException, InterruptedException, ExecutionException {
  UserEventServiceClient userEventsClient = getUserEventServiceClient();

  RejoinUserEventsRequest request = RejoinUserEventsRequest.newBuilder()
      .setParent(DEFAULT_CATALOG_NAME)
      .setUserEventRejoinScope(scope)
      .build();

  String operationName = userEventsClient
      .rejoinUserEventsAsync(request).getName();

  userEventsClient.shutdownNow();
  userEventsClient.awaitTermination(2, TimeUnit.SECONDS);

  return operationName;
}

הסרת אירועים של משתמשים

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

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

אם יש לכם אירועים של משתמשים שלא נרשמו בצורה תקינה ואתם רוצים להסיר אותם, תוכלו לעשות זאת באמצעות ה-method‏ userEvents.purge.

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

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

כדי לבצע קריאה לשיטה הזו, צריך לקבל את תפקיד ה-IAM‏ Retail AI Admin. מוודאים שיש לכם את ההרשאות הנדרשות.

curl

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

curl -X POST \
  -H "Authorization: Bearer "$(gcloud auth application-default print-access-token)"" \
  -H "Content-Type: application/json; charset=utf-8" \
  --data '{
    "filter":"eventTime > \"2019-12-23T18:25:43.511Z\" eventTime < \"2019-12-23T18:30:43.511Z\"",
    "force":"false"
  }' \
  "https://retail.googleapis.com/v2/projects/PROJECT_ID/locations/global/catalogs/default_catalog/userEvents:purge"

אמורים לקבל אובייקט תגובה שנראה בערך כך, כאשר purge-user-events-54321 הוא מזהה הפעולה:

{
  "name": "projects/PROJECT_ID/locations/global/catalogs/default_catalog/operations/purge-user-events-54321"
}

בדוגמה הזו מתבקש סטטוס הפעולה:

curl -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
"https://retail.googleapis.com/v2/projects/PROJECT_ID/locations/global/catalogs/default_catalog/operations/OPERATION_ID"

דוגמה לסטטוס פעולה:

{
  "name": "projects/PROJECT_ID/locations/global/catalogs/default_catalog/operations/OPERATION_ID",
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.retail.v2.PurgeUserEventsResponse",
    "purgedEventsCount": "1"
  }
}

הגדרת השדה force לערך true גורמת למחיקה.

curl -X POST \
  -H "Authorization: Bearer "$(gcloud auth application-default print-access-token)"" \
  -H "Content-Type: application/json; charset=utf-8" \
  --data '{
    "filter":"eventTime > \"2019-12-23T18:25:43.511Z\" eventTime < \"2019-12-23T18:30:43.511Z\"",
    "force":"true"
  }' \
"https://retail.googleapis.com/v2/projects/PROJECT_ID/locations/global/catalogs/default_catalog/userEvents:purge"

Java

public static String purgeUserEvents(
    String filter)
    throws IOException, InterruptedException, ExecutionException {
  UserEventServiceClient userEventsClient = getUserEventServiceClient();

  PurgeUserEventsRequest request = PurgeUserEventsRequest.newBuilder()
      .setParent(DEFAULT_CATALOG_NAME)
      .setFilter(filter)
      .setForce(true)
      .build();

  String operationName = userEventsClient
      .purgeUserEventsAsync(request).getName();

  userEventsClient.shutdownNow();
  userEventsClient.awaitTermination(2, TimeUnit.SECONDS);

  return operationName;
}

שימוש במסנן אירועים של משתמשים

אתם יכולים לסנן את אירועי המשתמשים שאתם רוצים למחוק.

המסנן הוא מחרוזת שמכילה אחת או יותר מההגבלות הבאות:

  • eventTime

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

  • eventType

    להגביל את האירועים שיימחקו לסוג אירוע יחיד.

  • visitorID

    הגבלת האירועים למחיקה למזהה מבקר יחיד.

  • userID

    הגבלת האירועים למחיקה למזהה משתמש יחיד.

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

כדי למחוק את כל אירועי המשתמש מסוג add-to-cart שנרשמו ב-1 בפברואר 2019 או אחריו, צריך להזין את מחרוזת המסנן הבאה:

eventTime > "2019-02-01T00:00:00Z" eventType = add-to-cart