נכתב על ידי דני צ'רניאק, DigiKnowledge. נבדק לאחרונה: 10.11.2026

אירועי האיקומרס של GA4 הם רשימה קבועה של אירועים מומלצים, מ-view_item_list ועד purchase ו-refund, שנשלחים עם מערך items שמתאר את המוצרים. לפי התיעוד של Google, בכל פריט חובה לשלוח item_id או item_name, באירוע purchase חובה גם transaction_id ומי ששולח value חייב לשלוח גם currency. אירוע שחסר בו פרמטר חובה לא נעלם: הוא נאסף כאירוע מותאם רגיל ולא מזין את דוחות האיקומרס.

אילו אירועי איקומרס יש ב-GA4 ומתי שולחים כל אחד?

התיעוד למפתחים של Google מפרט 14 אירועים. השמות קבועים וצריך להשתמש בהם בדיוק כפי שהם, כי Analytics מזהה אירוע איקומרס לפי השם שלו. הדוגמה שבתיעוד: add_to_cart ולא add_to_basket.

האירועמתי שולחים ואילו פרמטרים מצרפים ברמת האירוע, מלבד items
view_item_listמוצגת לגולש רשימת מוצרים
פרמטרים: item_list_id, item_list_name
select_itemהגולש בוחר מוצר מתוך רשימה
פרמטרים: item_list_id, item_list_name
view_itemצפייה בעמוד מוצר
פרמטרים: currency, value
add_to_cartהוספת מוצר לעגלה
פרמטרים: currency, value
add_to_wishlistהוספת מוצר לרשימת משאלות
פרמטרים: currency, value
view_cartצפייה בעגלה
פרמטרים: currency, value
remove_from_cartהסרת מוצר מהעגלה
פרמטרים: currency, value
begin_checkoutהשלב הראשון בצ'קאאוט
פרמטרים: currency, value, coupon
add_shipping_infoהגולש מוסיף פרטי משלוח
פרמטרים: currency, value, coupon, shipping_tier
add_payment_infoהגולש שולח פרטי תשלום
פרמטרים: currency, value, coupon, payment_type
purchaseהרכישה הושלמה
פרמטרים: transaction_id, currency, value, tax, shipping, coupon, customer_type
refundבוצע החזר
פרמטרים: transaction_id, currency, value, tax, shipping, coupon
view_promotionמוצג באנר או מבצע
פרמטרים: promotion_id, promotion_name, creative_name, creative_slot
select_promotionהגולש לוחץ על מבצע
פרמטרים: promotion_id, promotion_name, creative_name, creative_slot

לא חייבים את כל ה-14. למשפך רכישה מרכז העזרה של Analytics מציין את begin_checkout, add_shipping_info, add_payment_info ו-purchase, לצד view_item, select_item ו-add_to_cart. ההחלטה אילו אירועים נכנסים שייכת לתוכנית המדידה ואת אופן המסירה למפתחים פירטנו במדריך על מסמך dataLayer למפתחים.

שלד משפך הרכישה

ארבעת האירועים שמטמיעים לפני כל השאר

view_itemצפייה בעמוד מוצר
add_to_cartהוספה לעגלה
begin_checkoutתחילת הצ'קאאוט
purchaseעם transaction_id ו-value
כל אירוע בשרשרת נושא את אותו מבנה של מערך items. כך אפשר לעקוב אחרי מוצר לאורך המשפך.

מדדי הפריטים בדוחות נגזרים ישירות מהאירועים האלה. לפי מרכז העזרה של Analytics, המדד Items viewed סופר את הפריטים שבאירוע view_item. Items added to cart סופר את הפריטים שב-add_to_cart. Items checked out סופר את הפריטים שב-begin_checkout. המדד Ecommerce purchases סופר את מספר הפעמים שהאירוע purchase הופעל. מכאן שאירוע שלא נשלח הוא מדד ריק בדוח.

מה חובה לשלוח בכל אירוע?

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

items הוא חובה כמעט תמיד. מערך items מסומן בתיעוד כחובה בכל אירועי האיקומרס מלבד refund ו-select_promotion.

value ו-currency הם חובה מותנית. המשמעות לפי התיעוד: אם שולחים value, חובה לשלוח currency כדי שמדדי ההכנסה יחושבו נכון. התיעוד מוסיף ש-value נדרש בדרך כלל כדי שהדיווח יהיה משמעותי. את currency שולחים בפורמט ISO 4217 של שלוש אותיות, למשל ILS, ברמת האירוע.

transaction_id הוא חובה ב-purchase. לפי התיעוד הוא נדרש ברכישות ובהחזרים. זה המזהה הייחודי של העסקה, שלפיו Analytics מזהה אירוע רכישה שנשלח פעמיים.

כל השאר, כולל tax, shipping, coupon ו-customer_type, הוא רשות. ההמלצה של התיעוד היא לשלוח כל פרמטר איקומרס שיש לכם נתונים עבורו, גם אם הוא אופציונלי. הפרמטר customer_type מקבל את הערכים new או returning. התיעוד מבקש לא לשלוח בו ערך כשיש ספק, למשל ברכישה כאורח.

מה נכנס למערך items?

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

הפרמטרמה הוא מכיל
item_id, item_nameהמזהה והשם של המוצר. אחד מהשניים חובה
priceמחיר ליחידה. אם יש הנחה, המחיר אחרי ההנחה
quantityכמות. אם לא נשלח, הערך נקבע ל-1
discountסכום ההנחה ליחידה
item_brand, item_variantמותג ווריאנט, למשל צבע
item_category עד item_category5עד חמש רמות קטגוריה
item_list_id, item_list_nameהרשימה שבה המוצר הוצג
indexהמיקום של המוצר ברשימה
coupon, affiliation, location_idקופון ברמת הפריט, חנות או שותף, מיקום פיזי

שלוש מגבלות מהתיעוד. מערך items יכול להכיל עד 200 פריטים. בכל פריט אפשר להוסיף עד 27 פרמטרים מותאמים מעבר לפרמטרים הקבועים. affiliation ו-location_id זמינים רק ברמת הפריט.

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

איך מחשבים את value?

ההגדרה בתיעוד חד משמעית: value הוא סכום המכפלות של price ב-quantity לכל הפריטים שבמערך items. לא כוללים בו משלוח ומס, כי לאלה יש באירוע purchase פרמטרים נפרדים: shipping ו-tax.

לדוגמה, נתוני דמו: בהזמנה עם שתי יחידות של מוצר במחיר 100 ויחידה אחת של מוצר במחיר 50, ה-value הוא 250. אם המשלוח עלה 30, הוא נשלח בפרמטר shipping ולא מתווסף ל-value.

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

איך נראה אירוע purchase תקין ב-dataLayer?

בהטמעה דרך Google Tag Manager, הדוגמאות בתיעוד פותחות כל אירוע בשורה שמנקה את אובייקט ה-ecommerce הקודם, כדי שפריטים מאירוע קודם לא ייגררו לאירוע הבא.

dataLayer.push({ ecommerce: null });
dataLayer.push({
  event: "purchase",
  ecommerce: {
    transaction_id: "T_12345",
    value: 250,
    tax: 45,
    shipping: 30,
    currency: "ILS",
    coupon: "SUMMER_SALE",
    items: [
      {
        item_id: "SKU_1",
        item_name: "Product A",
        item_brand: "Brand",
        item_category: "Category",
        price: 100,
        quantity: 2
      },
      {
        item_id: "SKU_2",
        item_name: "Product B",
        price: 50,
        quantity: 1
      }
    ]
  }
});

הערכים בדוגמה הם נתוני דמו. שימו לב לסוגים: לפי התיעוד value, price ו-quantity הם מספרים, בעוד ש-transaction_id ו-currency הם מחרוזות. מי שרוצה לייצר את הקוד בלי לכתוב אותו ביד יכול להשתמש במחולל dataLayer.push.

איך מגדירים את התג ב-Google Tag Manager?

  1. יוצרים תג אירוע. תג מסוג Google Analytics: GA4 Event.
  2. מגדירים את שם האירוע. לפי התיעוד אפשר להזין ב-Event Name את המשתנה המובנה {{Event}}. כך תג אחד משרת את כל אירועי האיקומרס, כי שם האירוע נלקח מה-dataLayer.
  3. מפעילים את שליחת נתוני האיקומרס. תחת More Settings, בחלק Ecommerce, מסמנים Send Ecommerce data ובוחרים Data Layer כמקור הנתונים.
  4. מגדירים טריגר. טריגר מסוג Custom Event שתופס את שמות אירועי האיקומרס שהאתר שולח.
  5. בודקים ומפרסמים. עוברים על כל אירוע ב-Preview לפני הפרסום.

אזהרה אחת מהתיעוד: משתמשים ב-gtag.js או ב-Google Tag Manager, לא בשניהם. שימוש בשניהם יחד סופר אירועים מסוימים פעמיים.

איך בודקים שהאירועים נקלטו נכון?

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

  1. בודקים את שם האירוע. שגיאת כתיב או שם שאינו מהרשימה הופכים את האירוע, מבחינת Analytics, לאירוע מותאם רגיל.
  2. בודקים שלא חסר פרמטר חובה. כשחסר פרמטר כזה האירוע עדיין מופיע עם הפרמטרים שלו, אבל Analytics מתייחס אליו כאירוע מותאם ולא כאירוע איקומרס.
  3. בודקים את התחביר. פסיק אחרי כל ערך, סוגריים מסולסלים לפני ואחרי הפרמטרים וסוגריים מרובעים לפני ואחרי הפריטים. לפי התיעוד פסיק חסר גורם ל-Analytics להתעלם מהאירוע ומהאירועים שאחריו.
  4. מחליפים transaction_id בכל ניסיון. אם אותו אירוע נשלח שוב עם אותו מזהה עסקה, Analytics אוסף רק את הראשון, גם אם ערכים אחרים השתנו.

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

איך מדווחים על החזרים?

שולחים אירוע refund עם ה-transaction_id של העסקה המקורית. לפי התיעוד, כדי לראות מדדי החזר ברמת הפריט צריך לכלול באירוע גם את הפריטים שהוחזרו, עם item_id ו-quantity. בפועל ההחזר בדרך כלל לא קורה בדפדפן של הלקוח אלא במערכת הניהול, לכן שווה להחליט מראש אם בכלל מדווחים אותו ל-GA4 או מנהלים אותו רק במערכת ההזמנות.

שאלות נפוצות

אילו פרמטרים חובה לשלוח באירוע purchase ב-GA4?

לפי התיעוד של Google חובה לשלוח transaction_id ואת מערך items. הפרמטרים value ו-currency מסומנים כחובה מותנית: מי ששולח value חייב לשלוח גם currency כדי שמדדי ההכנסה יחושבו נכון. בכל פריט במערך items חובה לשלוח item_id או item_name. שאר הפרמטרים, כמו tax, shipping ו-coupon, הם רשות.

מה חובה לשלוח בכל פריט במערך items?

רק דבר אחד: item_id או item_name. התיעוד של Google ממליץ לשלוח את שניהם. כל שאר הפרמטרים, כמו price, quantity, item_brand ו-item_category, הם רשות. אם quantity לא נשלח, הערך שלו נקבע ל-1. ההמלצה היא לשלוח כל פרמטר שיש לכם נתונים עבורו.

כמה פריטים אפשר לשלוח במערך items?

לפי התיעוד של Google מערך items יכול להכיל עד 200 פריטים. בכל פריט אפשר להוסיף עד 27 פרמטרים מותאמים, מעבר לפרמטרים הקבועים כמו item_id, price ו-quantity. כששולחים פרמטרים מותאמים כדאי לבדוק גם את מגבלות המימדים והמדדים המותאמים של הנכס.

האם value באירוע purchase כולל משלוח ומע"מ?

לא. לפי התיעוד של Google, value הוא סכום המכפלות של price ב-quantity לכל הפריטים שבמערך items. לא כוללים בו משלוח ומס. לאלה יש פרמטרים נפרדים באירוע purchase: shipping לעלות המשלוח ו-tax למס. כששולחים value חובה לשלוח גם currency.

מה קורה כשחסר פרמטר חובה באירוע איקומרס?

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

למה שולחים dataLayer.push עם ecommerce: null לפני כל אירוע?

כדי לנקות את אובייקט ה-ecommerce הקודם מה-dataLayer. הדוגמאות בתיעוד של Google להטמעה דרך Google Tag Manager פותחות כל אירוע איקומרס בשורה הזאת. בלי הניקוי, פריטים או פרמטרים מאירוע קודם עלולים להיגרר לאירוע הבא באותו עמוד.

מה השורה התחתונה?

הטמעת איקומרס ב-GA4 נכשלת כמעט תמיד בפרטים הקטנים ולא ברעיון: שם אירוע שאינו מהרשימה, value שכולל משלוח, currency שנשכח או מערך items בלי item_id. הדרך להימנע מזה היא מסמך אחד שמגדיר לכל אירוע את הפרמטרים והסוגים שלהם ובדיקה ב-DebugView של כל שלב במשפך לפני העלייה לאוויר. מי שמתחיל מארבעת אירועי השלד ומוסיף את השאר בהדרגה מקבל משפך אמין מהר יותר. אנחנו כותבים את המסמך, מלווים את המפתחים ובודקים את הנתונים מול מערכת ההזמנות כחלק משירות הטמעת ובדיקת GA4. אם ההכנסה ב-GA4 לא מסתדרת עם ההזמנות בפועל, כתבו לנו.

מקורות

דני צ'רניאק
דני צ'רניאק
יועץ אנליטיקה דיגיטלית ומייסד DigiKnowledge. מרצה לאנליטיקה דיגיטלית באוניברסיטת תל אביב, באוניברסיטה הפתוחה ובאוניברסיטת אריאל. לעמוד האישי

כתיבת תגובה

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