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

ספר: /retail/_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;
}

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

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

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

אם יש לכם אירועים של משתמשים שלא נרשמו בצורה תקינה ואתם רוצים להסיר אותם, אתם יכולים לעשות זאת באמצעות השיטה 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