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

במדריך הזה מוסבר איך לאסוף נתוני מסחר אלקטרוני באמצעות analytics.js.

סקירה

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

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

נתוני עסקה

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

מפתח סוג הערך חובה תיאור
id טקסט כן מזהה העסקה. (לדוגמה 1234)
affiliation טקסט לא החנות או הקשר העסקי שממנו בוצעה העסקה (למשל, ביגוד של Acme).
revenue currency לא הנתון הזה מציין את ההכנסה הכוללת או את הסכום הכולל המשויכים לעסקה (למשל 11.99). הערך הזה יכול לכלול עלויות משלוח, עלויות מס או התאמות אחרות של סך כל ההכנסות, שרוצים לכלול בחישובי ההכנסות.
shipping currency לא מציין את עלות המשלוח הכוללת של העסקה. (למשל 5)
tax currency לא הנתון הזה מציין את המס הכולל על העסקה. (למשל 1.29)

נתוני הפריט

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

מפתח סוג הערך חובה תיאור
id טקסט כן מזהה העסקה. המזהה הזה מקשר בין הפריטים לעסקאות שאליהן הם שייכים. (לדוגמה 1234)
name טקסט כן שם הפריט. (למשל, ארנבים צמריריים ורודים)
sku טקסט לא מציין את המק"ט או את קוד הפריט. (לדוגמה, SKU47)
category טקסט לא הקטגוריה שהפריט משתייך אליה. (למשל, צעצועים למסיבה)
price currency לא המחיר היחיד של כל פריט בנפרד. (למשל 11.99)
quantity מספר שלם לא מספר היחידות שנרכשו בעסקה. אם בשדה הזה מועבר ערך שאינו מספר שלם (למשל, 1.5), המערכת תעגל אותו למספר השלם הקרוב אליו ביותר.

הטמעה

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

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

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

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

ga('require', 'ecommerce');

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

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

הוספת עסקה

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

מוסיפים נתוני עסקאות לעגלת הקניות באמצעות הפקודה ecommerce:addTransaction:

ga('ecommerce:addTransaction', {
  'id': '1234',                     // Transaction ID. Required.
  'affiliation': 'Acme Clothing',   // Affiliation or store name.
  'revenue': '11.99',               // Grand Total.
  'shipping': '5',                  // Shipping.
  'tax': '1.29'                     // Tax.
});

הוספת פריטים

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

ga('ecommerce:addItem', {
  'id': '1234',                     // Transaction ID. Required.
  'name': 'Fluffy Pink Bunnies',    // Product name. Required.
  'sku': 'DD23444',                 // SKU/code.
  'category': 'Party Toys',         // Category or variation.
  'price': '11.99',                 // Unit price.
  'quantity': '1'                   // Quantity.
});

שליחת הנתונים מתבצעת

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

ga('ecommerce:send');

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

ניקוי נתונים

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

ga('ecommerce:clear');

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

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

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

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

ga('ecommerce:addTransaction', {
  'id': '1234',
  'affiliation': 'Acme Clothing',
  'revenue': '11.99',
  'shipping': '5',
  'tax': '1.29',
  'currency': 'EUR'  // local currency code.
});

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

  ga('ecommerce:addItem', {
    'id': '1234',
    'name': 'Fluffy Pink Bunnies',
    'sku': 'DD23444',
    'category': 'Party Toys',
    'price': '11.99',
    'quantity': '1',
    'currency': 'GBP' // local currency code.
  });

תמיכה במספר מכשירי מעקב

אפשר להשתמש בפלאגין של המסחר האלקטרוני גם אם הטמעת בדף מספר כלי מעקב (עם שם). הפלאגין פועל בדיוק באותו אופן כמו כלי המעקב שמוגדר כברירת מחדל, אלא שהפורמט הוא: trackerName.pluginName:method. לדוגמה, אם יצרתם מכשיר מעקב בשם myTracker:

ga('create', 'UA-XXXXX-Y', 'auto', {'name': 'myTracker'});

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

ga('myTracker.require', 'ecommerce');

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

var transaction = {
  'id': '1234',                    // Transaction ID.
  'affiliation': 'Acme Clothing',  // Affiliation or store name.
  'revenue': '11.99',              // Grand Total.
  'shipping': '5' ,                // Shipping.
  'tax': '1.29'                    // Tax.
};

ga('myTracker.ecommerce:addTransaction', transaction);

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

לבסוף, שולחים את נתוני העסקה באופן הבא:

ga('myTracker.ecommerce:send');

דוגמה

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

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

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

<?php
// Transaction Data
$trans = array('id'=>'1234', 'affiliation'=>'Acme Clothing',
               'revenue'=>'11.99', 'shipping'=>'5', 'tax'=>'1.29');

// List of Items Purchased.
$items = array(
  array('sku'=>'SDFSDF', 'name'=>'Shoes', 'category'=>'Footwear', 'price'=>'100', 'quantity'=>'1'),
  array('sku'=>'123DSW', 'name'=>'Sandals', 'category'=>'Footwear', 'price'=>'87', 'quantity'=>'1'),
  array('sku'=>'UHDF93', 'name'=>'Socks', 'category'=>'Footwear', 'price'=>'5.99', 'quantity'=>'2')
);
?>

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

<?php
// Function to return the JavaScript representation of a TransactionData object.
function getTransactionJs(&$trans) {
  return <<<HTML
ga('ecommerce:addTransaction', {
  'id': '{$trans['id']}',
  'affiliation': '{$trans['affiliation']}',
  'revenue': '{$trans['revenue']}',
  'shipping': '{$trans['shipping']}',
  'tax': '{$trans['tax']}'
});
HTML;
}

// Function to return the JavaScript representation of an ItemData object.
function getItemJs(&$transId, &$item) {
  return <<<HTML
ga('ecommerce:addItem', {
  'id': '$transId',
  'name': '{$item['name']}',
  'sku': '{$item['sku']}',
  'category': '{$item['category']}',
  'price': '{$item['price']}',
  'quantity': '{$item['quantity']}'
});
HTML;
}
?>

לאחר מכן, בתג <script> צריך להוסיף את הלוגיקה הנוספת של PHP כדי להפיק באופן דינמי את נתוני הטרנזקציות והפריטים:

<!-- Begin HTML -->
<script>
ga('require', 'ecommerce');

<?php
echo getTransactionJs($trans);

foreach ($items as &$item) {
  echo getItemJs($trans['id'], $item);
}
?>

ga('ecommerce:send');
</script>

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

סוגי מטבע

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

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

1000.000001

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

$-55.00

יהפוך ל:

-55.00