מסחר אלקטרוני משופר

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

העברה ותאימות לפלאגין של מסחר אלקטרוני (ecommerce.js)

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

שימוש בנכס חדש

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

העברת נכס קיים

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

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

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

פעולות וסוגים של נתונים של מסחר אלקטרוני משופר

יש כמה סוגים של נתוני מסחר אלקטרוני שאפשר לשלוח:

נתוני חשיפות

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

מפתח סוג הערך חובה תיאור
id טקסט *כן

מזהה המוצר או המק"ט (למשל P67890).

* יש להגדיר את אחד מהערכים id או name.

name טקסט *כן

שם המוצר (למשל, טישרט של Android).

* יש להגדיר את אחד מהערכים id או name.

list טקסט לא הרשימה או האוסף שאליהם המוצר שייך (למשל, תוצאות חיפוש)
list_name טקסט לא הרשימה או האוסף שאליהם המוצר שייך (למשל, תוצאות חיפוש)
brand טקסט לא המותג המשויך למוצר (למשל, Google).
category טקסט לא הקטגוריה שאליה משתייך המוצר (למשל, 'ביגוד'). אפשר להשתמש במאפיין / כתו מפריד כדי לציין עד 5 רמות של היררכיה (למשל: ביגוד/גברים/חולצות טי).
variant טקסט לא הווריאציה של המוצר (למשל, שחור).
position מספר שלם לא מיקום המוצר ברשימה או באוסף (למשל 2).
list_position מספר שלם לא מיקום המוצר ברשימה או באוסף (למשל 2).
price number לא מחיר המוצר (למשל 29.20).

נתוני המוצר

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

מפתח סוג הערך חובה תיאור
id טקסט *כן

מזהה המוצר או המק"ט (למשל P67890).

* יש להגדיר אחד מהמזהים או name.

name טקסט *כן

שם המוצר (למשל, טישרט של Android).

* יש להגדיר אחד מהמזהים או name.

brand טקסט לא המותג המשויך למוצר (למשל, Google).
category טקסט לא הקטגוריה שאליה משתייך המוצר (למשל, 'ביגוד'). אפשר להשתמש / כתו מפריד כדי לציין עד 5 רמות של היררכיה (למשל: ביגוד/גברים/חולצות טי).
variant טקסט לא הווריאציה של המוצר (למשל, שחור).
price number לא מחיר המוצר (למשל 29.20).
quantity מספר שלם לא כמות המוצר (למשל 2).
coupon טקסט לא קוד השובר המשויך למוצר (למשל SUMMER_SALE13).
position מספר שלם לא מיקום המוצר ברשימה או באוסף (למשל 2).
list_position מספר שלם לא מיקום המוצר ברשימה או באוסף (למשל 2).

נתוני מבצע

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

מפתח סוג הערך חובה תיאור
id טקסט *כן

מזהה קידום המכירות (למשל PROMO_1234).

* יש להגדיר את אחד מהערכים id או name.

name טקסט *כן

שם המבצע (למשל, 'מבצע קיץ').

* יש להגדיר את אחד מהערכים id או name.

creative טקסט לא הקריאייטיב שמשויך לקידום המכירות (למשל, summer_banner2).
creative_name טקסט לא שם הקריאייטיב (למשל: summer_banner2).
position טקסט לא מיקום הקריאייטיב (למשל,banner_slot_1).
creative_slot טקסט לא השם של משבצת הקריאייטיב (למשל,banner_slot_1).

נתוני פעולה

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

מפתח סוג הערך חובה תיאור
id טקסט *כן

מזהה העסקה (למשל T1234).

* חובה אם סוג הפעולה הוא purchase או refund

affiliation טקסט לא החנות או הנתונים המשויכים שמהם העסקה הזו התרחשה (למשל, Google Store).
revenue number לא

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

value number לא הערך (כלומר הכנסה) שמשויך לאירוע.
tax number לא המס הכולל שמשויך לעסקה.
shipping number לא עלות המשלוח שמשויכת לעסקה.
coupon טקסט לא שובר העסקה שמומש בעסקה.
list טקסט לא הרשימה שאליה שייכים המוצרים המשויכים. זה שינוי אופציונלי.
items מערך לא המערך שמכיל את המוצרים המשויכים.
step מספר שלם לא מספר שמייצג שלב בתהליך התשלום בקופה. אופציונלי בפעולות 'checkout'.
checkout_step מספר שלם לא מספר שמייצג שלב בתהליך התשלום בקופה.
option טקסט לא שדה נוסף לפעולות checkout ו-checkout_option שיכולות לתאר את פרטי האפשרות בדף התשלום, כמו אמצעי התשלום שנבחר.
checkout_option טקסט לא אפשרות התשלום בקופה (כלומר, אמצעי התשלום שנבחר).

פעולות של מוצרים וקידום מכירות

הפעולות מציינות איך לפרש את נתוני המוצרים והמבצעים שאתם שולחים ל-Google Analytics.

פעולה אירוע תיאור
click קליק על קישור למוצר או למוצר למוצר אחד או יותר.
detail תצוגה של פרטי המוצר.
add הוספה של מוצר אחד או יותר לעגלת קניות.
remove מסירים מוצר אחד או יותר מעגלת קניות.
checkout התחלת תהליך התשלום למוצר אחד או יותר.
checkout_option המערכת שולחת את ערך האפשרות של שלב נתון בקופה.
purchase מכירה של מוצר אחד או יותר.
refund ההחזר הכספי על מוצר אחד או יותר.
promo_click קליק על קידום מכירות פנימי.
add_to_cart משתמש מוסיף מוצר אחד או יותר לעגלת הקניות.
begin_checkout משתמש מתחיל את תהליך התשלום על מוצר אחד או יותר.
checkout_progress משתמש משלים את שלבי התשלום אחרי השלב הראשון בקופה.
purchase משתמש משלים רכישה.
refund משתמש מקבל החזר כספי על מוצר אחד או יותר.
remove_from_cart משתמש מסיר מוצר אחד או יותר מעגלת קניות.
select_content משתמש לוחץ על קישור למוצר או למוצר.
set_checkout_option השלב בקופה שהמשתמש משלים.
view_item משתמש צופה בפרטים של מוצר.
view_item_list משתמש צופה ברשימה של מוצר אחד או יותר.
view_promotion משתמש לוחץ על קידום מכירות פנימי.
view_refund משתמש צופה בהחזר כספי על מוצר אחד או יותר.

הטמעה

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

טעינת הפלאגין למסחר אלקטרוני

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

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

ga('require', 'ec');

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

שליחת נתונים של מסחר אלקטרוני משופר

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

מדידת פעילויות של מסחר אלקטרוני

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

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

מדידת חשיפות

חשיפות של מוצרים נמדדות באמצעות הפקודה ec:addImpression. פרטים על המוצר מופיעים ב-impressionFieldObject.

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

ga('ec:addImpression', {            // Provide product details in an impressionFieldObject.
  'id': 'P12345',                   // Product ID (string).
  'name': 'Android Warhol T-Shirt', // Product name (string).
  'category': 'Apparel/T-Shirts',   // Product category (string).
  'brand': 'Google',                // Product brand (string).
  'variant': 'Black',               // Product variant (string).
  'list': 'Search Results',         // Product list (string).
  'position': 1,                    // Product position (number).
  'dimension1': 'Member'            // Custom dimension (string).
});

ל-impressionFieldObject חייב להיות ערך name או id. כל שאר הערכים הם אופציונליים ולא חייבים להגדיר אותם.

פעולות מדידת

הפעולות נמדדות באמצעות הפקודה ec:addProduct עם productFieldObject כדי להוסיף את פרטי המוצר, והפקודה ec:setAction מציינת את הפעולה שמבוצעת.

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

ga('ec:addProduct', {               // Provide product details in a productFieldObject.
  'id': 'P12345',                   // Product ID (string).
  'name': 'Android Warhol T-Shirt', // Product name (string).
  'category': 'Apparel',            // Product category (string).
  'brand': 'Google',                // Product brand (string).
  'variant': 'Black',               // Product variant (string).
  'position': 1,                    // Product position (number).
  'dimension1': 'Member'            // Custom dimension (string).
});

ga('ec:setAction', 'click', {       // click action.
  'list': 'Search Results'          // Product list (string).
});

ל-productFieldObject חייב להיות ערך name או id. כל שאר הערכים הם אופציונליים ולא חייבים להגדיר אותם.

שילוב של חשיפות ופעולות

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

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

// The impression from a Related Products section.
ga('ec:addImpression', {            // Provide product details in an impressionFieldObject.
  'id': 'P12345',                   // Product ID (string).
  'name': 'Android Warhol T-Shirt', // Product name (string).
  'category': 'Apparel/T-Shirts',   // Product category (string).
  'brand': 'Google',                // Product brand (string).
  'variant': 'Black',               // Product variant (string).
  'list': 'Related Products',       // Product list (string).
  'position': 1                     // Product position (number).
});

// The product being viewed.
ga('ec:addProduct', {                 // Provide product details in an productFieldObject.
  'id': 'P67890',                     // Product ID (string).
  'name': 'YouTube Organic T-Shirt',  // Product name (string).
  'category': 'Apparel/T-Shirts',     // Product category (string).
  'brand': 'YouTube',                 // Product brand (string).
  'variant': 'gray',                  // Product variant (string).
  'position': 2                       // Product position (number).
});

ga('ec:setAction', 'detail');       // Detail action.

מדידת עסקאות

כדי למדוד טרנזקציה, משתמשים בפקודה ec:setAction ומגדירים את סוג הפעולה כ-purchase. פרטים ברמת העסקה, כמו ההכנסה הכוללת, המס ודמי המשלוח, מופיעים בactionFieldObject:

ga('ec:addProduct', {               // Provide product details in an productFieldObject.
  'id': 'P12345',                   // Product ID (string).
  'name': 'Android Warhol T-Shirt', // Product name (string).
  'category': 'Apparel',            // Product category (string).
  'brand': 'Google',                // Product brand (string).
  'variant': 'black',               // Product variant (string).
  'price': '29.20',                 // Product price (number).
  'coupon': 'APPARELSALE',          // Product coupon (string).
  'quantity': 1                     // Product quantity (number).
});

ga('ec:setAction', 'purchase', {          // Transaction details are provided in an actionFieldObject.
  'id': 'T12345',                         // (Required) Transaction id (string).
  'affiliation': 'Google Store - Online', // Affiliation (string).
  'revenue': '37.39',                     // Revenue (number).
  'tax': '2.85',                          // Tax (number).
  'shipping': '5.34',                     // Shipping (number).
  'coupon': 'SUMMER2013'                  // Transaction coupon (string).
});

ל-actionFieldObject חייב להיות ערך id אם סוג הפעולה הוא purchase או refund. כל שאר הערכים הם אופציונליים ולא חייבים להגדיר אותם.

מדידת החזרים כספיים

כדי לבצע החזר כספי על העסקה כולה, צריך להגדיר פעולת refund ולציין את מזהה העסקה:

// Refund an entire transaction.
ga('ec:setAction', 'refund', {
  // Transaction ID is only required field for full refund.
  'id': 'T12345'
});

אם לא נמצאה עסקה תואמת, ההתאמה refund לא תעובד.

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

// Refund a single product.
ga('ec:addProduct', {
  'id': 'P12345',       // Product ID is required for partial refund.
  'quantity': 1         // Quantity is required for partial refund.
});

ga('ec:setAction', 'refund', {
  'id': 'T12345',       // Transaction ID is required for partial refund.
});

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

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

ga('send', 'event', 'Ecommerce', 'Refund', {'nonInteraction': 1});

מדידת תהליך התשלום

כדי למדוד כל שלב בתהליך התשלום:

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

‫1. מדידת שלבי התשלום

בכל שלב בתהליך התשלום צריך להטמיע את הקוד המתאים כדי לשלוח נתונים ל-Google Analytics:

  • שדה אחד (step)

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

  • שדה אחד (option)

    אם יש לכם מידע נוסף על השלב הנתון בקופה בזמן שהשלב נמדד, תוכלו להגדיר את השדה option עם הפעולה checkout כדי לאסוף את המידע הזה. לדוגמה, סוג התשלום שמוגדר כברירת מחדל למשתמש (למשל Visa).

  • מדידת שלב התשלום

    כדי למדוד שלב בקופה, יש להשתמש במאפיין ec:addProduct לכל מוצר ובמאפיין ec:setAction כדי לציין שלב תשלום. אם זה רלוונטי, ec:setAction יכול לבצע actionFieldObject נוסף כדי לתאר את שלב התשלום עם step ו-option.

    הדוגמה הבאה מציגה איך למדוד את השלב הראשון בתהליך תשלום, עם מוצר יחיד, וכמה מידע נוסף על סוג התשלום:

    ga('ec:addProduct', {               // Provide product details in an productFieldObject.
      'id': 'P12345',                   // Product ID (string).
      'name': 'Android Warhol T-Shirt', // Product name (string).
      'category': 'Apparel',            // Product category (string).
      'brand': 'Google',                // Product brand (string).
      'variant': 'black',               // Product variant (string).
      'price': '29.20',                 // Product price (number).
      'quantity': 1                     // Product quantity (number).
    });
    
    // Add the step number and additional info about the checkout to the action.
    ga('ec:setAction','checkout', {
        'step': 1,
        'option': 'Visa'
    });
    

2. אפשרויות מדידה של תהליך התשלום

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

כדי למדוד אפשרות של תשלום, השתמשו ב-ec:setAction על מנת לציין checkout_option ולכלול את מספר השלב ואת תיאור האפשרות.

סביר להניח שתרצו למדוד את הפעולה הזו אחרי שהמשתמש לחץ כדי לעבור לשלב הבא בתהליך התשלום. למשל:

// (On "Next" button click)
ga('ec:setAction', 'checkout_option', {'step': 2, 'option': 'FedEx'});

ga('send', 'event', 'Checkout', 'Option', {
    hitCallback: function() {
      // advance to next page
    },
});

3. הגדרת משפך התשלום

לכל שלב בתהליך התשלום אפשר לתת שם תיאורי שישמש בדוחות. כדי להגדיר את השמות האלה, היכנסו לקטע ניהול בממשק האינטרנט של Google Analytics, בחרו את התצוגה המפורטת (פרופיל) ולחץ על הגדרות מסחר אלקטרוני. בצעו את ההוראות להגדרת מסחר אלקטרוני כדי להוסיף תוויות לכל שלב בקופה שאתם מתכוונים למדוד.

הגדרות מסחר אלקטרוני בקטע 'ניהול' בממשק האינטרנט של Google Analytics. המסחר האלקטרוני הופעל ונוספו 4 תוויות של שלבים במשפך התשלום: 1. בדיקת עגלת קניות, 2. איסוף פרטי תשלום, 3. מאשרים את פרטי
     הרכישה, 4. קבלה
איור 1: הגדרת מסחר אלקטרוני – תשלום משפך

מדידת קידומי מכירות פנימיים

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

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

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

ga('ec:addPromo', {               // Promo details provided in a promoFieldObject.
  'id': 'PROMO_1234',             // Promotion ID. Required (string).
  'name': 'Summer Sale',          // Promotion name (string).
  'creative': 'summer_banner2',   // Creative (string).
  'position': 'banner_slot1'      // Position  (string).
});

קליקים בקידום מכירות

אפשר למדוד קליקים על קידומי מכירות פנימיים על ידי הגדרת הפעולה promo_click. למשל:

// Identify the promotion that was clicked.
ga('ec:addPromo', {
  'id': 'PROMO_1234',
  'name': 'Summer Sale',
  'creative': 'summer_banner2',
  'position': 'banner_slot1'
});

// Send the promo_click action with an event.
ga('ec:setAction', 'promo_click');
ga('send', 'event', 'Internal Promotions', 'click', 'Summer Sale');

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

// 1. Send product and impression data with pageview.
ga('ec:addProduct', {
  'id': 'P12345',                   // Product ID (string).
  'name': 'Android Warhol T-Shirt', // Product name (string).
  'category': 'Apparel',            // Product category (string).
  'brand': 'Google',                // Product brand (string).
  'variant': 'Black',               // Product variant (string).
  'position': 1,                    // Product position (number).
});

// The impression from the Related Products section.
ga('ec:addImpression', {
  'id': 'P12345',                   // Product ID (string).
  'name': 'Android Warhol T-Shirt', // Product name (string).
  'category': 'Apparel/T-Shirts',   // Product category (string).
  'brand': 'Google',                // Product brand (string).
  'variant': 'Black',               // Product variant (string).
  'list': 'Related Products',       // Product list (string).
  'position': 1,                    // Product position (number).
});

ga('ec:setAction', 'detail');       // Detail action.

ga('send', 'pageview');             // Send the product data with initial pageview.


// 2. Send the promo click data when the promo click occurs.
// Call this function when promo click occurs.
function onPromoClick() {
  ga('ec:addPromo', {
    'id': 'PROMO_1234',
    'name': 'Summer Sale',
    'creative': 'summer_banner2',
    'position': 'banner_slot1'
  });

  // Send the promo_click action with an event.
  ga('ec:setAction', 'promo_click');
  ga('send', 'event', 'Internal Promotions', 'click', 'Summer Sale');
}

ל-promoFieldObject חייב להיות ערך name או id. כל שאר הערכים הם אופציונליים ולא חייבים להגדיר אותם.

דוגמה מלאה

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

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

בדוגמה הזו, משתמש צופה תחילה במוצר ברשימה של תוצאות חיפוש. כדי למדוד את החשיפה של המוצר הזה, השתמשו בפקודה ec:addImpression וציינו את פרטי המוצר בimpressionFieldObject:

ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');

ga('ec:addImpression', {
  'id': 'P12345',                   // Product details are provided in an impressionFieldObject.
  'name': 'Android Warhol T-Shirt',
  'category': 'Apparel/T-Shirts',
  'brand': 'Google',
  'variant': 'black',
  'list': 'Search Results',
  'position': 1                     // 'position' indicates the product position in the list.
});

ga('ec:addImpression', {
  'id': 'P67890',
  'name': 'YouTube Organic T-Shirt',
  'category': 'Apparel/T-Shirts',
  'brand': 'YouTube',
  'variant': 'gray',
  'list': 'Search Results',
  'position': 2
});

ga('send', 'pageview');              // Send product impressions with initial pageview.

מדידת קליק על מוצר

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

כדי למדוד את הקליק על המוצר, יש להשתמש ב-ec:addProduct וב-ec:setAction:

// Called when a link to a product is clicked.
function onProductClick() {
  ga('ec:addProduct', {
    'id': 'P12345',
    'name': 'Android Warhol T-Shirt',
    'category': 'Apparel',
    'brand': 'Google',
    'variant': 'black',
    'position': 1
  });
  ga('ec:setAction', 'click', {list: 'Search Results'});

  // Send click with an event, then send user to product page.
  ga('send', 'event', 'UX', 'click', 'Results', {
    hitCallback: function() {
      document.location = '/product_details?id=P12345';
    }
  });
}

לאחר מכן אפשר להטמיע את הקישור למוצר באופן הבא:

<a href="/next-page.html"
   onclick="onProductClick(); return !ga.loaded;">
  Android Warhol T-Shirt
</a>

מדידה של תצוגת פרטי מוצר

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

כדי למדוד את תצוגת פרטי המוצר, צריך להשתמש ב-ec:addProduct וב-ec:setAction על מנת לציין את הפעולה detail:

ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');

ga('ec:addProduct', {
  'id': 'P12345',
  'name': 'Android Warhol T-Shirt',
  'category': 'Apparel',
  'brand': 'Google',
  'variant': 'black'
});

ga('ec:setAction', 'detail');

ga('send', 'pageview');       // Send product details view with the initial pageview.

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

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

כדי למדוד הוספה או הסרה של מוצר מעגלת קניות, משתמשים ב-ec:addProduct ומגדירים את הסוג add או remove:

// Called when a product is added to a shopping cart.
function addToCart(product) {
  ga('ec:addProduct', {
    'id': product.id,
    'name': product.name,
    'category': product.category,
    'brand': product.brand,
    'variant': product.variant,
    'price': product.price,
    'quantity': product.qty
  });
  ga('ec:setAction', 'add');
  ga('send', 'event', 'UX', 'click', 'add to cart');     // Send data using an event.
}

מדידת תהליך התשלום

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

  • מוסיפים את פרטי התשלום (payment.html).
  • מוסיפים את פרטי המשלוח (shipping.html).

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

הגדרות מסחר אלקטרוני בקטע &#39;ניהול&#39; בממשק האינטרנט של Google Analytics. המסחר האלקטרוני מופעל ונוספו תוויות של שלבים במשפך התשלום: 1. פרטי תשלום, 2. פרטי משלוח
איור 2: הגדרת מסחר אלקטרוני - משפך תשלום

שלב 1 – תשלום

כדי למדוד את השלב הראשון בקופה, צריך להשתמש ב-ec:addProduct לכל מוצר בעגלת הקניות, וב-ec:setAction כדי לציין checkout. ec:setAction משתמש ב-actionFieldObject כדי לתאר את השלב בקופה עם מספר ומידע נוסף על סוג התשלום המוגדר כברירת מחדל עבור המשתמש הזה, באמצעות השדה option:

ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');

/**
 * Called when the user begins the checkout process.
 * @param {Array} cart An array representing the user's shopping cart.
 */
function checkout(cart) {
  for(var i = 0; i < cart.length; i++) {
    var product = cart[i];
    ga('ec:addProduct', {
      'id': product.id,
      'name': product.name,
      'category': product.category,
      'brand': product.brand,
      'variant':  product.variant,
      'price': product.price,
      'quantity': product.qty
    });
  }
}

// In the case of checkout actions, an additional actionFieldObject can
// specify a checkout step and option.
ga('ec:setAction','checkout', {
    'step': 1,            // A value of 1 indicates this action is first checkout step.
    'option': 'Visa'      // Used to specify additional info about a checkout stage, e.g. payment method.
});
ga('send', 'pageview');   // Pageview for payment.html

שלב 2 – משלוח

כדי למדוד את השלב השני של התשלום, משתמשים ב-ec:addProduct לכל מוצר בעגלת הקניות וב-ec:setAction כדי לציין מעבר. במקרה הזה אין לנו מידע נוסף על אפשרות המשלוח שנבחרה בזמן השליחה של הצפייה הראשונית בדף, לכן נטפל בזה בנפרד באמצעות השדה ec:setAction כדי לציין checkout_option.

// Measure checkout step 2:
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');

/**
 * Called when the user begins the checkout process.
 * @param {Array} cart An array representing the user's shopping cart.
 */
function checkout(cart) {
  for(var i = 0; i < cart.length; i++) {
    var product = cart[i];
    ga('ec:addProduct', {
      'id': product.id,
      'name': product.name,
      'category': product.category,
      'brand': product.brand,
      'variant':  product.variant,
      'price': product.price,
      'quantity': product.qty
    });
  }
}

ga('ec:setAction','checkout', {'step': 2});
ga('send', 'pageview');     // Pageview for shipping.html


// Called when user has completed shipping options.
function onShippingComplete(stepNumber, shippingOption) {
  ga('ec:setAction', 'checkout_option', {
    'step': stepNumber,
    'option': shippingOption
  });

  ga('send', 'event', 'Checkout', 'Option', {
     hitCallback: function() {
       // Advance to next page.
     }
  });
}

לאחר מכן ניתן להטמיע את הטופס באופן הבא:

<a href="/next-page.html"
   onclick="onShippingComplete(2, 'FedEx'); return !ga.loaded;">
  Continue
</a>

מדידת עסקה

לבסוף, המשתמש משלים את תהליך התשלום ושולח את הרכישה.

כדי למדוד את המכירה של מוצר אחד או יותר, משתמשים ב-ec:addProduct כדי להוסיף כל מוצר, ואז ב-ec:setAction כדי לציין purchase. אפשר לציין פרטים ברמת העסקה כמו ההכנסה הכוללת, המס וכו' באמצעות actionFieldObject. למשל:

ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');

ga('ec:addProduct', {
  'id': 'P12345',
  'name': 'Android Warhol T-Shirt',
  'category': 'Apparel',
  'brand': 'Google',
  'variant': 'black',
  'price': '29.20',
  'quantity': 1
});

// Transaction level information is provided via an actionFieldObject.
ga('ec:setAction', 'purchase', {
  'id': 'T12345',
  'affiliation': 'Google Store - Online',
  'revenue': '37.39',
  'tax': '2.85',
  'shipping': '5.34',
  'coupon': 'SUMMER2013'    // User added a coupon at checkout.
});

ga('send', 'pageview');     // Send transaction data with initial pageview.

ציון מטבעות מקומיים

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

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

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

ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');

ga('set', 'currencyCode', 'EUR'); // Set currency to Euros.

ga('ec:addProduct', {
  'id': 'P12345',
  'name': 'Android Warhol T-Shirt',
  'category': 'Apparel',
  'brand': 'Google',
  'variant': 'black',
  'price': '21.89',
  'quantity': 1
});

ga('ec:setAction', 'purchase', {
  id: 'T12345',
  affiliation: 'Google Store - Online',
  revenue: '28.03',
  tax: '2.14',
  shipping: '4.00',
  coupon: 'SUMMER2013'
});

ga('send', 'pageview');