מידע על אירועים שקשורים למשתמשים

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

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

איך פועל שיוך (Attribution) של חיפושים

איך פועל השיוך (Attribution)

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

יש כמה סוגים של אירועים שקשורים למשתמשים שאפשר לתעד בזמן שהם גולשים באתר הקמעונאי שלכם:

שם אירוע המשתמש פעולת המשתמש ‫Google Analytics 4 event_name
home-page-view צפייה בדף הבית. view_homepage
חיפוש (חיפוש ודפדוף) חיפוש בקטלוג. ‫view_item_list + [searchQuery או pageCategories + filter]
‫category-page-view (המלצות בלבד) צפייה בדפים מיוחדים, כמו דפי מבצעים או קידומי מכירות. view_item_list + pageCategories
detail-page-view צפיות בדף פרטי המוצר. view_item
add-to-cart הוספת מוצר לעגלת הקניות. add_to_cart
shopping-cart-page-view צפייה בעגלת הקניות. view_cart
purchase-complete השלמת התשלום בקופה. purchase

מתוך סוגי האירועים האלה, AI Commerce Search משתמש ספציפית בארבעת האירועים הבאים כדי לסמן פריטים פופולריים:

  • SEARCH
  • DETAIL_PAGE_VIEW
  • ADD_TO_CART
  • PURCHASE_COMPLETE

רשימה מפורטת של שדות אירועים ב-GA4 זמינה במאמר שדות אירועים של משתמשים ב-Google Analytics 4.

למידע מפורט על אובייקט UserEvent, אפשר לעיין במאמר בנושא UserEvent.

דרישות לגבי אירועים של משתמשים

בטבלאות הבאות מפורטות הדרישות והשיטות המומלצות לסוגי אירועים של משתמשים שבהם נעשה שימוש בהמלצות ובחיפוש. חשוב לוודא שאירועי המשתמשים עומדים בדרישות האלה כדי ש-AI Commerce Search יוכל ליצור תוצאות איכותיות.

בקטע הזה מפורטים:

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

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

דרישות כלליות לגבי אירועים של משתמשים

כדי ש-AI Commerce Search יוכל להפיק תוצאות איכותיות, חשוב לוודא שאירועי המשתמשים עומדים בדרישות הבאות. ההגדרות האלה חלות גם על המלצות וגם על חיפושים.

סוג אירוע דרישה השפעה
כל האירועים

אל תכללו נתונים סינתטיים או אירועים כפולים.

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

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

כך מוודאים של-AI Commerce Search יש מספיק נתונים כדי ליצור תוצאות איכותיות.

המזהים של המבקרים צריכים להיות באותו פורמט בדיוק בייבוא האירועים או בתיעוד האירועים ובבקשות ה-API.

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

המוצרים שכלולים באירועים צריכים להופיע בקטלוג המוצרים שלכם.

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

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

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

כדי ליצור היסטוריה תקפה של רצפי התנהגות, AI Commerce Search צריכה לראות כמה אירועים עם אותו מזהה מבקר.

לדוגמה, visitor123 צפה בחמישה דפים של פרטי מוצרים, הוסיף שלושה מוצרים לעגלת הקניות ואז קנה שניים מתוך חמשת המוצרים המקוריים. אם כל האירועים האלה מספקים את אותו מזהה מבקר בפורמט עקבי, מודלים של AI Commerce Search יכולים להתייחס לרצף ההתנהגות הזה.

detail-page-view

צריך לכלול בדיוק מוצר אחד לכל אירוע.

אי אפשר להשתמש באירוע אם לא קיים מוצר. אם נכללים כמה מוצרים, האירוע פגום ואי אפשר להשתמש בו.

add-to-cart

צריך לכלול בדיוק מוצר אחד לכל אירוע.

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

purchase-complete

כלול purchase_transaction.revenue.

אירועים מסוג purchase-complete שחסר בהם השדה revenue לא משמשים לאימון מודלים.

צריך לכלול בדיוק אחד purchase_transaction.currency_code בכל אירועי הרכישה.

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

אירועי רכישה ללא השדה הזה יובילו למדדי הכנסה שגויים.

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

אם יש לכם כמה אירועי רכישה עם כמה מוצרים, המודל יכול ללמוד דפוסי רכישה משותפים.

דרישות ספציפיות להמלצות

אם אתם משתמשים בהמלצות, חשוב לוודא שאירועי המשתמשים עומדים בדרישות הבאות.

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

סוג אירוע דרישה השפעה
purchase-complete

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

כך מוודאים שנוצרים דפוסי רכישה משותפת תקינים.

דרישות ספציפיות לחיפוש

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

סוג אירוע דרישה השפעה
search

המאפיין searchQuery חייב להיות קיים באירועי חיפוש, והמאפיין pageCategories חייב להיות קיים באירועי גלישה.

אי הכללה של השדה הזה עלולה להשפיע לרעה על איכות תוצאות החיפוש והמדדים.

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

אם הם לא זהים, האירועים פגומים והמדדים יכולים להיות שגויים.

רשימת מזהי המוצרים באירועי חיפוש צריכה להיות זהה לרשימת המוצרים שמוצגת למשתמש במלואה.

אם אין התאמה, ההשפעה השלילית על איכות תוצאות החיפוש עלולה להיות חמורה, והמדדים יהיו שגויים.

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

אם השדה הזה לא קיים, AI Commerce Search לא יכול להשתמש בחלק המסנן של הנתונים, מה שיכול לפגוע באיכות תוצאות החיפוש.

כדי לקשר אירועים אחרים לאירועי חיפוש, צריך לכלול את השדה attribution_token.

אם לא תכללו אסימון שיוך, תוצג שגיאה ב-AI Commerce Search ב-Gemini Enterprise for Customer Experience, והדבר ישפיע באופן שלילי על איכות החיפוש ועל דיוק המדדים.

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

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

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

מדד האירועים נפח/תדירות האירועים תיאור
נפח האירועים search ‫250,000 ב-90 הימים האחרונים

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

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

נפח האירועים מסוג detail-page-view שמשויכים לאירוע מסוג search ‫500,000 ב-30 הימים האחרונים נדרשים לפחות 500,000 אירועים כדי לבצע אופטימיזציה של תוצאות החיפוש באמצעות אירועים של משתמשים.
מספר האירועים הממוצע detail-page-view שאפשר לשייך לאירוע search לכל מוצר ‫10 ב-30 הימים האחרונים חובה לאופטימיזציה של תוצאות החיפוש באמצעות האירועים שהמערכת קולטת, אלא אם מעלים אירועים מ-21 הימים האחרונים.
שיעור האירועים search עם מסננים שניתנים לניתוח ‫0.1 ב-30 הימים האחרונים מומלץ לאופטימיזציה של סדר ההיבטים הדינמיים בתגובה לחיפוש.
שיעור המוצרים שנמצאו בחיפוש עם מחיר ‫0.95 ב-30 הימים האחרונים נדרש לאופטימיזציה של תוצאות החיפוש באמצעות האירועים שנאספו.
מספר ממוצע של אירועי add-to-cart שאפשר לשייך לאירוע search לכל מוצר בתשלום ‫0.5 ב-30 הימים האחרונים מומלץ לשיפור ההכנסות מתוצאות החיפוש.
מספר האירועים הממוצע purchase-complete שאפשר לשייך לאירוע search לכל מוצר עם מחיר שאפשר לחפש ‫0.5 ב-30 הימים האחרונים מומלץ לשיפור ההכנסות מתוצאות החיפוש.

דרישות לשימוש בתוצאות חיפוש בהתאמה אישית

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

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

מדד האירועים נפח/תדירות האירועים תיאור
נפח האירועים מסוג search שהוצגו בחיפוש ‫100,000 ב-30 הימים האחרונים

כדי לספק התאמה אישית, צריך לפחות 100,000 אירועים שהוצגו בחיפוש ב-30 הימים האחרונים.

תוצאות החיפוש לא נשמרות במטמון פחות מ-1% מ-100,000 אירועי המשתמשים האחרונים

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

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

התאמות של מזהי מבקרים בין SearchRequests לבין אירועים של משתמשים יותר מ-10% התאמה ל-100,000 אירועי המשתמשים האחרונים מוודאים שהרווחים והפורמט של מזהה המבקר זהים ב-SearchRequests ובאירועי המשתמשים. פורמט עקבי של מזהה מבקר מאפשר לוודא שחיפוש Google יכול לזהות את פעילות המשתמש בצורה נכונה.

שיטות מומלצות לשימוש באירועים שקשורים למשתמשים

בקטע הזה מפורטות שיטות מומלצות לשימוש באירועי משתמשים ב-AI Commerce Search.

בדיקת חשיפות של מוצרים

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

חשוב לציין שהנפח המינימלי הנדרש של אירועים הוא לא מספר נפח כללי. לדוגמה, אם המגבלה היא 150,000 אירועים של צפייה בדף פרטים, אי אפשר לחשוב על זה כ-150,000 אירועים אקראיים של צפייה בדף פרטים. האירועים צריכים להיות קשורים לאירועים אחרים כמו SEARCH או ADD TO CART.

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

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

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

העדיפות של סוג האירוע

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

עדיפות סוגי אירועים שקשורים למשתמשים

נדרש לניסויים ראשוניים בשידור חי להמלצות

(סוגי האירועים תלויים בסוג מודל ההמלצות)

detail-page-view

add-to-cart

purchase-complete

home-page-view

אירוע נוסף שנדרש לניסוי של חיפוש Google במצב Live

search

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

בנוסף, אירועי המשתמשים הם גם הבסיס למדידת KPI, כולל הכנסה לכל משתמש, שיעור קליקים ו-CVR.

כדי לאמן מודל על סמך נתונים היסטוריים שנוצרו על ידי מנוע החיפוש הקודם, צריך למלא תחילה את נתוני האירועים של המשתמשים על סמך נתוני אינטראקציות היסטוריים באתר (בדרך כלל מסופקים על ידי מסגרת כלים למדידת ביצועי אתרים). יכול להיות שתצטרכו לשנות את האירועים ההיסטוריים הקיימים לסכימת אירועי המשתמש שמומלצת ל-AI Commerce Search. הנתונים האלה נדרשים כדי לאמן את המודל לאופטימיזציה של ההכנסות. לאחר מכן, צריך לשלוח אירועים באופן רציף ל-AI Commerce Search באמצעות איסוף או ייבוא בכמות גדולה.

שיוך (Attribution) אירועים

זרימת הרצף של אירועי המשתמשים מתארת את האופן שבו המשתמשים ביצעו את הפעילויות באתר.

מסלול המשתמש האידיאלי הוא:

  1. המשתמש מבצע חיפוש של שאילתה.

  2. המשתמש מפעיל צפיות בדף של המוצר שמעניין אותו.

  3. המשתמש מוסיף את המוצר לעגלת הקניות שהוא מתכוון לקנות.

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

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

זרימת האירועים האידיאלית היא:

  • נתיב 1: אירוע חיפוש ← אירוע צפייה בדף פרטים ← אירוע הוספה לעגלת קניות ← אירוע רכישה
  • נתיב 2: אירוע חיפוש ← אירוע הוספה לעגלת קניות ← אירוע רכישה

בשיחה עם API של חיפוש שלא נשמר במטמון, רצף האירועים הוא כזה:

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

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

בקטע הזה מפורטים פורמטי הנתונים של כל סוג אירוע נתמך.

הוספנו דוגמאות לפיקסל JavaScript ול-Tag Manager. ב-BigQuery, מפורטת סכימת הטבלה המלאה לכל סוג.

בכל סוגי האירועים של המשתמשים, השימוש ב-userId הוא אופציונלי. השדות של פרטי המוצר (priceInfo ו-availability) הם אופציונליים.

חשוב לדעת:

  • השדה experimentIds נדרש רק אם אתם מריצים ניסוי A/B.
  • השדה attributionToken הוא חובה רק ב-AI Commerce Search. הוא משמש למדידת ביצועים. אין לשלוח טוקנים של שיוך אל predict, אל search ואל detail-page-view, או אל אירועי מסוג קליק.
  • חשוב לוודא שבכל האירועים נעשה שימוש במטבע אחד, במיוחד אם אתם מתכננים להשתמש בGoogle Cloud מסוף כדי לקבל מדדי הכנסה. ‫AI Commerce Search API לא תומך בשימוש בכמה מטבעות לכל קטלוג.

מידע נוסף על אובייקט אירוע המשתמש מופיע בUserEventמאמרי העזרה של ה-API.

הוסף לעגלה

בדוגמה הבאה מוצג פורמט אירוע המשתמש add-to-cart עם שדות חובה בלבד.

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

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

יכול להיות שיהיו שדות נוספים שיהיה צורך למלא, בהתאם לשיטת ה-API שבה משתמשים או אם משתמשים בשדות נוספים. (לדוגמה, אם אירוע המשתמש משויך לישות, צריך לציין את השדה entity). לפרטים מלאים על כל שדה ומתי הוא נדרש, אפשר לעיין במסמכי העזרה של UserEvent API.

פיקסל JavaScript

var user_event = {
  "eventType": "add-to-cart",
  "visitorId": "visitor-id",
  "productDetails": [{
    "product": {
      "id": "product-id"
    },
    "quantity": { "value": product-quantity }
  }]
};

Tag Manager

<script>
    dataLayer = dataLayer || [];
    dataLayer.push({
      'cloud_retail': {
        'eventType': 'add-to-cart',
        'visitorId': 'visitor-id',
        // You can also define the visitor ID
        // directly on the Tag Manager tag.
        'productDetails': [{
          'product': {
            'id': 'product-id'
          },
          'quantity': product-quantity
        }]
      }
    });
</script>

BigQuery

זוהי סכימת ה-JSON המלאה של סוג האירוע הזה שקשור למשתמש. מציינים את הסכימה הזו כשיוצרים טבלאות לסוג האירוע הזה של המשתמש ב-BigQuery.

הערכים של שדות החובה הם REQUIRED או REPEATED. ההגדרות של שדות אופציונליים הן NULLABLE.

שימו לב שנדרש eventTime כדי לייבא אירועים באמצעות BigQuery. ‫eventTime היא מחרוזת עם פורמט של חותמת זמן.

[
 {
   "name": "eventType",
   "type": "STRING",
   "mode": "REQUIRED"
 },
 {
   "name": "visitorId",
   "type": "STRING",
   "mode": "REQUIRED"
 },
 {
   "name": "eventTime",
   "type": "STRING",
   "mode": "REQUIRED"
 },
 {
   "name": "experimentIds",
   "type": "STRING",
   "mode": "REPEATED"
 },
 {
   "name": "attributionToken",
   "type": "STRING",
   "mode": "NULLABLE"
 },
 {
   "name": "productDetails",
   "type": "RECORD",
   "mode": "REPEATED",
   "fields": [
     {
       "name": "product",
       "type": "RECORD",
       "mode": "REQUIRED",
       "fields": [
         {
           "name": "id",
           "type": "STRING",
           "mode": "REQUIRED"
         }
       ]
     },
     {
       "name": "quantity",
       "type": "INTEGER",
       "mode": "REQUIRED"
     }
   ]
 },
 {
   "name": "cartId",
   "type": "STRING",
   "mode": "NULLABLE"
 },
 {
   "name": "userInfo",
   "type": "RECORD",
   "mode": "NULLABLE",
   "fields": [
     {
       "name": "userId",
       "type": "STRING",
       "mode": "NULLABLE"
     },
     {
       "name": "ipAddress",
       "type": "STRING",
       "mode": "NULLABLE"
     },
     {
       "name": "userAgent",
       "type": "STRING",
       "mode": "NULLABLE"
     },
     {
       "name": "directUserRequest",
       "type": "BOOLEAN",
       "mode": "NULLABLE"
     }
   ]
 },
 {
   "name": "uri",
   "type": "STRING",
   "mode": "NULLABLE"
 },
 {
   "name": "referrerUri",
   "type": "STRING",
   "mode": "NULLABLE"
 },
 {
   "name": "pageViewId",
   "type": "STRING",
   "mode": "NULLABLE"
 },
 {
   "name": "entity",
   "type": "STRING",
   "mode": "NULLABLE"
 }
]

צפייה בדף קטגוריה

בדוגמה הבאה מוצג פורמט אירוע המשתמש category-page-view.

בדוגמאות הבאות מוצגים רק שדות החובה של פורמט אירוע המשתמש category-page-view.

בדרך כלל יש רק קטגוריה אחת שמשויכת לדף, אבל השדה pageCategories תומך גם בהיררכיית קטגוריות שאפשר לספק כרשימה.

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

יכול להיות שיהיו שדות נוספים שיהיה צורך למלא, בהתאם לשיטת ה-API שבה משתמשים או אם משתמשים בשדות נוספים. (לדוגמה, אם אירוע המשתמש משויך לישות, צריך לציין את השדה entity). לפרטים מלאים על כל שדה ומתי הוא נדרש, אפשר לעיין במסמכי העזרה של UserEvent API.

פיקסל JavaScript

var user_event = {
  "eventType": "category-page-view",
  "visitorId": "visitor-id",
  "pageCategories": ["category1 > category2"]
};

Tag Manager

<script>
    dataLayer = dataLayer || [];
    dataLayer.push({
      'cloud_retail': {
        'eventType': 'category-page-view',
        'visitorId": 'visitor-id',
        // You can also define the user ID and visitor ID
        // directly on the Tag Manager tag.
        'pageCategories': ['category1 > category2']
      }
    });
</script>

BigQuery

זוהי סכימת ה-JSON המלאה של סוג האירוע הזה שקשור למשתמש. מציינים את הסכימה הזו כשיוצרים טבלאות לסוג האירוע הזה של המשתמש ב-BigQuery.

הערכים של שדות החובה הם REQUIRED או REPEATED. ההגדרות של שדות אופציונליים הן NULLABLE.

שימו לב שנדרש eventTime כדי לייבא אירועים באמצעות BigQuery. ‫eventTime היא מחרוזת עם פורמט של חותמת זמן.

[
 {
   "name": "eventType",
   "type": "STRING",
   "mode": "REQUIRED"
 },
 {
   "name": "visitorId",
   "type": "STRING",
   "mode": "REQUIRED"
 },
 {
   "name": "eventTime",
   "type": "STRING",
   "mode": "REQUIRED"
 },
 {
   "name": "experimentIds",
   "type": "STRING",
   "mode": "REPEATED"
 },
 {
   "name": "attributionToken",
   "type": "STRING",
   "mode": "NULLABLE"
 },
 {
   "name": "productDetails",
   "type": "RECORD",
   "mode": "REPEATED",
   "fields": [
     {
       "name": "product",
       "type": "RECORD",
       "mode": "REQUIRED",
       "fields": [
         {
           "name": "id",
           "type": "STRING",
           "mode": "REQUIRED"
         }
       ]
     }
   ]
 },
 {
   "name": "pageCategories",
   "type": "STRING",
   "mode": "REPEATED"
 },
 {
   "name": "userInfo",
   "type": "RECORD",
   "mode": "NULLABLE",
   "fields": [
     {
       "name": "userId",
       "type": "STRING",
       "mode": "NULLABLE"
     },
     {
       "name": "ipAddress",
       "type": "STRING",
       "mode": "NULLABLE"
     },
     {
       "name": "userAgent",
       "type": "STRING",
       "mode": "NULLABLE"
     },
     {
       "name": "directUserRequest",
       "type": "BOOLEAN",
       "mode": "NULLABLE"
     }
   ]
 },
 {
   "name": "uri",
   "type": "STRING",
   "mode": "NULLABLE"
 },
 {
   "name": "referrerUri",
   "type": "STRING",
   "mode": "NULLABLE"
 },
 {
   "name": "pageViewId",
   "type": "STRING",
   "mode": "NULLABLE"
 },
 {
   "name": "entity",
   "type": "STRING",
   "mode": "NULLABLE"
 }
]

צפייה בדף פרטים

בהמשך מוצג פורמט נתוני האירועים של המשתמש detail-page-view.

בדוגמאות הבאות מוצגים רק שדות החובה של הפורמט של אירוע משתמש detail-page-view.

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

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

יכול להיות שיהיו שדות נוספים שיהיה צורך למלא, בהתאם לשיטת ה-API שבה משתמשים או אם משתמשים בשדות נוספים. (לדוגמה, אם אירוע המשתמש משויך לישות, צריך לציין את השדה entity). לפרטים מלאים על כל שדה ומתי הוא נדרש, אפשר לעיין במסמכי העזרה של UserEvent API.

פיקסל JavaScript

var user_event = {
  "eventType": "detail-page-view",
  "visitorId": "visitor-id",
  "productDetails": [{
    "product": {
      "id": "product-id"
    }
  }]
};

Tag Manager

<script>
    dataLayer = dataLayer || [];
    dataLayer.push({
      'cloud_retail': {
        'eventType': 'detail-page-view',
        'visitorId': 'visitor-id',
        // You can also define the visitor ID directly on
        // the Tag Manager tag.
        'productDetails': [{
          'product': {
            'id': 'product-id'
          }
        }]
      }
    });
</script>

BigQuery

זוהי סכימת ה-JSON המלאה של סוג האירוע הזה שקשור למשתמש. מציינים את הסכימה הזו כשיוצרים טבלאות לסוג האירוע הזה של המשתמש ב-BigQuery.

הערכים של שדות החובה הם REQUIRED או REPEATED. ההגדרות של שדות אופציונליים הן NULLABLE.

שימו לב שנדרש eventTime כדי לייבא אירועים באמצעות BigQuery. ‫eventTime היא מחרוזת עם פורמט של חותמת זמן.

[
 {
   "name": "eventType",
   "type": "STRING",
   "mode": "REQUIRED"
 },
 {
   "name": "visitorId",
   "type": "STRING",
   "mode": "REQUIRED"
 },
 {
   "name": "eventTime",
   "type": "STRING",
   "mode": "REQUIRED"
 },
 {
   "name": "experimentIds",
   "type": "STRING",
   "mode": "REPEATED"
 },
 {
   "name": "attributionToken",
   "type": "STRING",
   "mode": "NULLABLE"
 },
 {
   "name": "productDetails",
   "type": "RECORD",
   "mode": "REPEATED",
   "fields": [
     {
       "name": "product",
       "type": "RECORD",
       "mode": "REQUIRED",
       "fields": [
         {
           "name": "id",
           "type": "STRING",
           "mode": "REQUIRED"
         }
       ]
     }
   ]
 },
 {
   "name": "userInfo",
   "type": "RECORD",
   "mode": "NULLABLE",
   "fields": [
     {
       "name": "userId",
       "type": "STRING",
       "mode": "NULLABLE"
     },
     {
       "name": "ipAddress",
       "type": "STRING",
       "mode": "NULLABLE"
     },
     {
       "name": "userAgent",
       "type": "STRING",
       "mode": "NULLABLE"
     },
     {
       "name": "directUserRequest",
       "type": "BOOLEAN",
       "mode": "NULLABLE"
     }
   ]
 },
 {
   "name": "uri",
   "type": "STRING",
   "mode": "NULLABLE"
 },
 {
   "name": "referrerUri",
   "type": "STRING",
   "mode": "NULLABLE"
 },
 {
   "name": "pageViewId",
   "type": "STRING",
   "mode": "NULLABLE"
 },
 {
   "name": "entity",
   "type": "STRING",
   "mode": "NULLABLE"
 }
]

צפייה בדף הבית

בדוגמה הבאה מוצג פורמט אירוע המשתמש home-page-view.

בדוגמאות הבאות מוצגים רק שדות החובה של הפורמט של אירוע משתמש home-page-view.

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

יכול להיות שיהיו שדות נוספים שיהיה צורך למלא, בהתאם לשיטת ה-API שבה משתמשים או אם משתמשים בשדות נוספים. (לדוגמה, אם אירוע המשתמש משויך לישות, צריך לציין את השדה entity). לפרטים מלאים על כל שדה ומתי הוא נדרש, אפשר לעיין במסמכי העזרה של UserEvent API.

פיקסל JavaScript

var user_event = {
  "eventType": "home-page-view",
  "visitorId": "visitor-id",
};

Tag Manager

<script>
    dataLayer = dataLayer || [];
    dataLayer.push({
      'cloud_retail': {
        'eventType': 'home-page-view',
        'visitorId': 'visitor-id'
        // You can also define the visitor ID
        // directly on the Tag Manager tag.
      }
    });
</script>

BigQuery

זוהי סכימת ה-JSON המלאה של סוג האירוע הזה שקשור למשתמש. מציינים את הסכימה הזו כשיוצרים טבלאות לסוג האירוע הזה של המשתמש ב-BigQuery.

הערכים של שדות החובה הם REQUIRED או REPEATED. ההגדרות של שדות אופציונליים הן NULLABLE.

חשוב לזכור שנדרש eventTime כדי לייבא אירועים באמצעות BigQuery. ‫eventTime היא מחרוזת עם פורמט של חותמת זמן.

[
 {
   "name": "eventType",
   "type": "STRING",
   "mode": "REQUIRED"
 },
 {
   "name": "visitorId",
   "type": "STRING",
   "mode": "REQUIRED"
 },
 {
   "name": "eventTime",
   "type": "STRING",
   "mode": "REQUIRED"
 },
 {
   "name": "experimentIds",
   "type": "STRING",
   "mode": "REPEATED"
 },
 {
   "name": "attributionToken",
   "type": "STRING",
   "mode": "NULLABLE"
 },
 {
   "name": "productDetails",
   "type": "RECORD",
   "mode": "REPEATED",
   "fields": [
     {
       "name": "product",
       "type": "RECORD",
       "mode": "REQUIRED",
       "fields": [
         {
           "name": "id",
           "type": "STRING",
           "mode": "REQUIRED"
         }
       ]
     },
     {
       "name": "quantity",
       "type": "INTEGER",
       "mode": "REQUIRED"
     }
   ]
 },
 {
   "name": "userInfo",
   "type": "RECORD",
   "mode": "NULLABLE",
   "fields": [
     {
       "name": "userId",
       "type": "STRING",
       "mode": "NULLABLE"
     },
     {
       "name": "ipAddress",
       "type": "STRING",
       "mode": "NULLABLE"
     },
     {
       "name": "userAgent",
       "type": "STRING",
       "mode": "NULLABLE"
     },
     {
       "name": "directUserRequest",
       "type": "BOOLEAN",
       "mode": "NULLABLE"
     }
   ]
 },
 {
   "name": "uri",
   "type": "STRING",
   "mode": "NULLABLE"
 },
 {
   "name": "referrerUri",
   "type": "STRING",
   "mode": "NULLABLE"
 },
 {
   "name": "pageViewId",
   "type": "STRING",
   "mode": "NULLABLE"
 },
 {
   "name": "entity",
   "type": "STRING",
   "mode": "NULLABLE"
 }
]

הרכישה הושלמה

בהמשך מוצג פורמט נתוני האירועים של המשתמש purchase-complete.

בדוגמאות הבאות מוצגים רק שדות החובה של פורמט אירוע המשתמש purchase-complete.

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

יכול להיות שיהיו שדות נוספים שיהיה צורך למלא, בהתאם לשיטת ה-API שבה משתמשים או אם משתמשים בשדות נוספים. (לדוגמה, אם אירוע המשתמש משויך לישות, צריך לציין את השדה entity). לפרטים מלאים על כל שדה ומתי הוא נדרש, אפשר לעיין במסמכי העזרה של UserEvent API.

פיקסל JavaScript

var user_event = {
  "eventType": "purchase-complete",
  "visitorId": "visitor-id",
  "productDetails": [{
    "product": {
      "id": "product-id"
    },
    "quantity": product-quantity
  }],
  "purchaseTransaction": {
    "revenue": revenue,
    "currencyCode": "currency-code"
  }
};

Tag Manager

<script>
    dataLayer = dataLayer || [];
    dataLayer.push({
      'cloud_retail': {
        'eventType': 'purchase-complete',
        'visitorId': 'visitor-id',
        // You can also define the visitor ID directly on
        // the Tag Manager tag.
        'productDetails': [{
          'product': {
            'id': 'product-id'
          },
          'quantity': product-quantity
        }],
        'purchaseTransaction': {
          'revenue': revenue,
          'currencyCode': 'currency-code'
        }
      }
    });
</script>

BigQuery

זוהי סכימת ה-JSON המלאה של סוג האירוע הזה שקשור למשתמש. מציינים את הסכימה הזו כשיוצרים טבלאות לסוג האירוע הזה של המשתמש ב-BigQuery.

הערכים של שדות החובה הם REQUIRED או REPEATED. ההגדרות של שדות אופציונליים הן NULLABLE.

שימו לב שנדרש eventTime כדי לייבא אירועים באמצעות BigQuery. ‫eventTime היא מחרוזת עם פורמט של חותמת זמן.

[
 {
   "name": "eventType",
   "type": "STRING",
   "mode": "REQUIRED"
 },
 {
   "name": "visitorId",
   "type": "STRING",
   "mode": "REQUIRED"
 },
 {
   "name": "eventTime",
   "type": "STRING",
   "mode": "REQUIRED"
 },
 {
   "name": "experimentIds",
   "type": "STRING",
   "mode": "REPEATED"
 },
 {
   "name": "attributionToken",
   "type": "STRING",
   "mode": "NULLABLE"
 },
 {
   "name": "productDetails",
   "type": "RECORD",
   "mode": "REPEATED",
   "fields": [
     {
       "name": "product",
       "type": "RECORD",
       "mode": "REQUIRED",
       "fields": [
         {
           "name": "id",
           "type": "STRING",
           "mode": "REQUIRED"
         },
         {
           "name": "priceInfo",
           "type": "RECORD",
           "mode": "NULLABLE",
           "fields": [
             {
               "name": "price",
               "type": "FLOAT",
               "mode": "REQUIRED"
             },
             {
               "name": "originalPrice",
               "type": "FLOAT",
               "mode": "NULLABLE"
             },
             {
               "name": "currencyCode",
               "type": "STRING",
               "mode": "REQUIRED"
             },
             {
               "name": "cost",
               "type": "FLOAT",
               "mode": "NULLABLE"
             }
           ]
         }
       ]
     },
     {
       "name": "quantity",
       "type": "INTEGER",
       "mode": "REQUIRED"
     }
   ]
 },
 {
   "name": "cartId",
   "type": "STRING",
   "mode": "NULLABLE"
 },
 {
   "name": "purchaseTransaction",
   "type": "RECORD",
   "mode": "REQUIRED",
   "fields": [
     {
       "name": "id",
       "type": "STRING",
       "mode": "NULLABLE"
     },
     {
       "name": "revenue",
       "type": "FLOAT",
       "mode": "REQUIRED"
     },
     {
       "name": "tax",
       "type": "FLOAT",
       "mode": "NULLABLE"
     },
     {
       "name": "cost",
       "type": "FLOAT",
       "mode": "NULLABLE"
     },
     {
       "name": "currencyCode",
       "type": "STRING",
       "mode": "REQUIRED"
     }
   ]
 },
 {
   "name": "userInfo",
   "type": "RECORD",
   "mode": "NULLABLE",
   "fields": [
     {
       "name": "userId",
       "type": "STRING",
       "mode": "NULLABLE"
     },
     {
       "name": "ipAddress",
       "type": "STRING",
       "mode": "NULLABLE"
     },
     {
       "name": "userAgent",
       "type": "STRING",
       "mode": "NULLABLE"
     },
     {
       "name": "directUserRequest",
       "type": "BOOLEAN",
       "mode": "NULLABLE"
     }
   ]
 },
 {
   "name": "uri",
   "type": "STRING",
   "mode": "NULLABLE"
 },
 {
   "name": "referrerUri",
   "type": "STRING",
   "mode": "NULLABLE"
 },
 {
   "name": "pageViewId",
   "type": "STRING",
   "mode": "NULLABLE"
 },
 {
   "name": "entity",
   "type": "STRING",
   "mode": "NULLABLE"
 }
]

בדוגמה הבאה מוצג פורמט אירוע המשתמש search.

אובייקט החיפוש המינימלי הנדרש

אלה שדות המינימום שנדרשים כדי ש-AI Commerce Search יחזיר רשימה של תוצאות חיפוש:

  • ‫searchQuery נקרא מהפרמטר search_term או מאירועים מסוג view_search_results.
  • הערך של productDetails נקרא מהפרמטר items של האירוע view_item_list. היא צריכה לכלול את רשימת מזהי המוצרים שמוצגים למשתמש הקצה בדף תוצאות החיפוש.
  • ‫userEvents מתעד את כל פרטי המטא-נתונים ש-AI Commerce Search API צריך לדעת על האינטראקציות של משתמשי הקצה עם האתר של הלקוח.

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

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

יכול להיות שיהיו שדות נוספים שיהיה צורך למלא, בהתאם לשיטת ה-API שבה משתמשים או אם משתמשים בשדות נוספים. (לדוגמה, אם אירוע המשתמש משויך לישות, צריך לציין את השדה entity). לפרטים מלאים על כל שדה ומתי הוא נדרש, אפשר לעיין במסמכי העזרה של UserEvent API.

פיקסל JavaScript

var user_event = {
  "eventType": "search",
  "visitorId": "visitor-id",
  "searchQuery": "search-query",
  "pageCategories": ["category1 > category2"],
  "productDetails": [
    {
      "product": {
        "id": "product-id1"
      }
    }, {
      "product": {
        "id": "product-id2"
      }
    }
  ]
};

Tag Manager

<script>
    dataLayer = dataLayer || [];
    dataLayer.push({
      'cloud_retail': {
        'eventType': 'search',
        'visitorId': 'visitor-id',
        // You can also define the visitor ID
        // directly on the Tag Manager tag.
        'searchQuery': 'search-query',
        'pageCategories': ['category1 > category2'],
        'productDetails': [
          {
            'product': {
              'id': 'product-id1'
            }
          }, {
            'product': {
              'id': 'product-id2'
            }
          }
        ]
      }
    });
</script>

BigQuery

זוהי סכימת ה-JSON המלאה של סוג האירוע הזה שקשור למשתמש. מציינים את הסכימה הזו כשיוצרים טבלאות לסוג האירוע הזה של המשתמש ב-BigQuery.

הערכים של שדות החובה הם REQUIRED או REPEATED. ההגדרות של שדות אופציונליים הן NULLABLE.

שימו לב שנדרש eventTime כדי לייבא אירועים באמצעות BigQuery. ‫eventTime היא מחרוזת עם פורמט של חותמת זמן.

[
 {
   "name": "eventType",
   "type": "STRING",
   "mode": "REQUIRED"
 },
 {
   "name": "visitorId",
   "type": "STRING",
   "mode": "REQUIRED"
 },
 {
   "name": "eventTime",
   "type": "STRING",
   "mode": "REQUIRED"
 },
 {
   "name": "productDetails",
   "type": "RECORD",
   "mode": "REPEATED",
   "fields": [
     {
       "name": "product",
       "type": "RECORD",
       "mode": "REQUIRED",
       "fields": [
         {
           "name": "id",
           "type": "STRING",
           "mode": "REQUIRED"
         }
       ]
     }
   ]
 },
 {
   "name": "searchQuery",
   "type": "STRING",
   "mode": "NULLABLE"
 },
 {
   "name": "pageCategories",
   "type": "STRING",
   "mode": "REPEATED"
 },
 {
   "name": "entity",
   "type": "STRING",
   "mode": "NULLABLE"
 }
]

השלמה אוטומטית

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

בדוגמאות הבאות מוצג השדה completionDetail כשמשתמש מקליד 'sh' ולוחץ על ההצעה השנייה, 'shoes', ברשימת ההצעות כדי להפעיל אירוע חיפוש. אם המשתמש לא לוחץ על אף אחת מההצעות, השדה completionDetail נשאר ריק.

הערך של eventType חייב להיות "search".

‫completionAttributionToken הוא הערך attributionToken מהתגובה של completeQuery.

הערך של selectedSuggestion צריך להיות זהה לערך של searchQuery.

פיקסל JavaScript

var user_event = {
  "eventType": "search",
  "visitorId": "visitor-id",
  "searchQuery": "search-query",
  "pageCategories": ["category1 > category2"],
  "productDetails": [
    {
      "product": {
        "id": "product-id1"
      }
    }, {
      "product": {
        "id": "product-id2"
      }
    }
  ]
  "completionDetail": {
    "completionAttributionToken": "completion_token",
    "selectedSuggestion": "search-query",
    "selectedPosition": completion_position
  }
};

Tag Manager

<script>
    dataLayer = dataLayer || [];
    dataLayer.push({
      'cloud_retail': {
        'eventType': 'search',
        'visitorId': 'visitor-id',
        // You can also define the visitor ID
        // directly on the Tag Manager tag.
        'searchQuery': 'search-query',
        'pageCategories': ['category1 > category2'],
        'productDetails': [
          {
            'product': {
              'id': 'product-id1'
            }
          }, {
            'product': {
              'id': 'product-id2'
            }
          }
        ]
        "completionDetail": {
          "completionAttributionToken": 'completion_token',
          "selectedSuggestion": 'search-query',
          "selectedPosition": completion_position
        }
      }
    });
</script>

BigQuery

זוהי סכימת ה-JSON המלאה של סוג האירוע הזה שקשור למשתמש. מציינים את הסכימה הזו כשיוצרים טבלאות לסוג האירוע הזה של המשתמש ב-BigQuery.

הערכים של שדות החובה הם REQUIRED או REPEATED. ההגדרות של שדות אופציונליים הן NULLABLE.

שימו לב שנדרש eventTime כדי לייבא אירועים באמצעות BigQuery. ‫eventTime היא מחרוזת עם פורמט של חותמת זמן.

[
 {
   "name": "eventType",
   "type": "STRING",
   "mode": "REQUIRED"
 },
 {
   "name": "visitorId",
   "type": "STRING",
   "mode": "REQUIRED"
 },
 {
   "name": "eventTime",
   "type": "STRING",
   "mode": "REQUIRED"
 },
 {
   "name": "productDetails",
   "type": "RECORD",
   "mode": "REPEATED",
   "fields": [
     {
       "name": "product",
       "type": "RECORD",
       "mode": "REQUIRED",
       "fields": [
         {
           "name": "id",
           "type": "STRING",
           "mode": "REQUIRED"
         }
       ]
     }
   ]
 },
 {
   "name": "searchQuery",
   "type": "STRING",
   "mode": "NULLABLE"
 },
 {
   "name": "pageCategories",
   "type": "STRING",
   "mode": "REPEATED"
 },
 {
   "name": "completionDetail",
   "type": "RECORD"
   "mode": "NULLABLE"
   "fields": [
     {
       "name": "completionAttributionToken",
       "type": "STRING",
       "mode": "REQUIRED"
     },
     {
       "name": "selectedSuggestion",
       "type": "STRING",
       "mode": "REQUIRED"
     },
     {
       "name": "selectedPosition",
       "type": "INTEGER",
       "mode": "REQUIRED"
     }
    ]
 }
]

צפייה בדף עגלת הקניות

בהמשך מוצג פורמט נתוני האירועים של המשתמש shopping-cart-page-view.

בדוגמאות הבאות מוצגים רק שדות החובה של פורמט אירוע המשתמש shopping-cart-page-view.

מספקים את האובייקטים productDetails ו-userEvents אלא אם עגלת הקניות ריקה.

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

יכול להיות שיהיו שדות נוספים שיהיה צורך למלא, בהתאם לשיטת ה-API שבה משתמשים או אם משתמשים בשדות נוספים. (לדוגמה, אם אירוע המשתמש משויך לישות, צריך לציין את השדה entity). לפרטים מלאים על כל שדה ומתי הוא נדרש, אפשר לעיין במסמכי העזרה של UserEvent API.

פיקסל JavaScript

var user_event = {
  "eventType": "shopping-cart-page-view"",
  "visitorId": "VISITOR-ID"
  "cartId": "CART-ID",
  "productDetails": [{
      "product": {
        "id": "PRODUCT-ID"
      },
      "quantity": PRODUCT-QUANTITY
    }]
};

מחליפים את PRODUCT-ID, PRODUCT-QUANTITY, VISOTOR-ID ו-CART-ID במזהה המוצר, בכמות המוצרים, במזהה הסשן ובמזהה עגלת הקניות.

Tag Manager

<script>
    dataLayer = dataLayer || [];
    dataLayer.push({
      'cloud_retail': {
        'eventType': 'shopping-cart-page-view',
        'visitorId': 'VISITOR-ID'
        // You can also define the visitor ID
        // directly on the Tag Manager tag.
        'cartId': 'CART-ID',
        'productDetails': [{
            'product': {
              'id': 'PRODUCT-ID'
            },
            'quantity': PRODUCT-QUANTITY
          }]
      }
    });
</script>

מחליפים את PRODUCT-ID, PRODUCT-QUANTITY, VISOTOR-ID ו-CART-ID במזהה המוצר, בכמות המוצרים, במזהה הסשן ובמזהה עגלת הקניות.

BigQuery

זוהי סכימת ה-JSON המלאה של סוג האירוע הזה שקשור למשתמש. מציינים את הסכימה הזו כשיוצרים טבלאות לסוג האירוע הזה של המשתמש ב-BigQuery.

הערכים של שדות החובה הם REQUIRED או REPEATED. ההגדרות של שדות אופציונליים הן NULLABLE.

חשוב לזכור שנדרש eventTime כדי לייבא אירועים באמצעות BigQuery. ‫eventTime היא מחרוזת עם פורמט של חותמת זמן.

[
 {
   "name": "eventType",
   "type": "STRING",
   "mode": "REQUIRED"
 },
 {
   "name": "visitorId",
   "type": "STRING",
   "mode": "REQUIRED"
 },
 {
   "name": "eventTime",
   "type": "STRING",
   "mode": "REQUIRED"
 },
 {
   "name": "experimentIds",
   "type": "STRING",
   "mode": "REPEATED"
 },
 {
   "name": "attributionToken",
   "type": "STRING",
   "mode": "NULLABLE"
 },
 {
   "name": "productDetails",
   "type": "RECORD",
   "mode": "REPEATED",
   "fields": [
     {
       "name": "product",
       "type": "RECORD",
       "mode": "REQUIRED",
       "fields": [
         {
           "name": "id",
           "type": "STRING",
           "mode": "REQUIRED"
         }
       ]
     },
     {
       "name": "quantity",
       "type": "INTEGER",
       "mode": "REQUIRED"
     }
   ]
 },
 {
   "name": "cartId",
   "type": "STRING",
   "mode": "NULLABLE"
 },
 {
   "name": "userInfo",
   "type": "RECORD",
   "mode": "NULLABLE",
   "fields": [
     {
       "name": "userId",
       "type": "STRING",
       "mode": "NULLABLE"
     },
     {
       "name": "ipAddress",
       "type": "STRING",
       "mode": "NULLABLE"
     },
     {
       "name": "userAgent",
       "type": "STRING",
       "mode": "NULLABLE"
     },
     {
       "name": "directUserRequest",
       "type": "BOOLEAN",
       "mode": "NULLABLE"
     }
   ]
 },
 {
   "name": "uri",
   "type": "STRING",
   "mode": "NULLABLE"
 },
 {
   "name": "referrerUri",
   "type": "STRING",
   "mode": "NULLABLE"
 },
 {
   "name": "pageViewId",
   "type": "STRING",
   "mode": "NULLABLE"
 },
 {
   "name": "entity",
   "type": "STRING",
   "mode": "NULLABLE"
 }
]

שדות של אירועי משתמשים ב-Google Analytics 4

בטבלה הבאה אפשר לראות איך שדות של אירועי משתמשים ב-Google Analytics 4 ממופים לשדות של חיפוש מסחרי מבוסס-AI.

לפני שמייבאים או מתעדים אירועי משתמשים מ-Google Analytics 4, צריך לוודא שאירועי המשתמשים ב-Google Analytics 4 משתמשים בשדות הבאים, כדי ש-AI Commerce Search יוכל לשלב את הנתונים בצורה נכונה.

‫Google Analytics 4 קמעונאות
ecommerce.purchase_revenue purchaseTransaction.revenue
event_name eventType
event_timestamp eventTime
items.item_id productDetails.product.id
items.price productDetails.product.priceInfo.price
items.quantity productDetails.quantity
מפתח:
event_params.key הערך שמוגדר הוא "currency"

ערך:
event_params.value.string_value
productDetails.product.priceInfo.currencyCode
מפתח:
event_params.key הערך שמוגדר הוא "currency"

ערך:
event_params.value.string_value
purchaseTransaction.currencyCode
מפתח:
event_params.key הערך שמוגדר הוא "search_term"

ערך:
event_params.value.string_value
searchQuery
user_id userInfo.userId
user_pseudo_id visitorId

המאמרים הבאים