قياس التجارة الإلكترونية

يوضّح هذا الدليل كيفية جمع بيانات التجارة الإلكترونية باستخدام analytics.js.

نظرة عامة

يتيح لك قياس التجارة الإلكترونية قياس عدد المعاملات والأرباح التي يحقّقها موقعك الإلكتروني. في موقع تجارة إلكترونية نموذجي، بعد أن ينقر المستخدم على الزر "شراء" في المتصفح، يتم إرسال معلومات الشراء الخاصة بالمستخدم إلى خادم الويب الذي يُجري المعاملة. في حال نجاح هذا الإجراء، سيعيد الخادم توجيه المستخدم إلى صفحة "شكرًا لك" أو صفحة الإيصال التي تحتوي على تفاصيل المعاملة وإيصال الشراء. يمكنك استخدام مكتبة analytics.js لإرسال بيانات التجارة الإلكترونية من صفحة "شكرًا لك" إلى "إحصاءات Google".

هناك نوعان من بيانات التجارة الإلكترونية التي يمكنك إرسالها باستخدام analytics.js، وهما: بيانات المعاملات وبيانات السلع.

بيانات المعاملة

تمثّل المعاملة المعاملة الكاملة التي تتم على موقعك الإلكتروني، وتتضمّن القيم التالية:

المفتاح نوع القيمة مطلوبة الوصف
id text Yes معرِّف المعاملة. (مثلاً 1234)
affiliation text لا المتجر أو الارتباط الذي حدثت منه هذه المعاملة (مثل متجر Acme للملابس).
revenue currency لا تحدّد إجمالي الأرباح أو الإجمالي الكلي المرتبط بالمعاملة (على سبيل المثال، 11,99). يمكن أن تشمل هذه القيمة الشحن أو تكاليف الضريبة أو التسويات الأخرى في إجمالي الأرباح التي تريد تضمينها كجزء من عمليات احتساب الأرباح.
shipping currency لا تحدّد إجمالي تكلفة الشحن للمعاملة. (مثال 5)
tax currency لا تحدّد إجمالي ضريبة المعاملة. (مثلاً 1.29)

بيانات العنصر

تمثل السلعة المنتجات الفردية التي كانت في سلة التسوّق، ويحتوي على القيم التالية:

المفتاح نوع القيمة مطلوبة الوصف
id text Yes معرِّف المعاملة. ويربط هذا المعرّف العناصر بالمعاملات التي تنتمي إليها. (مثلاً 1234)
name text Yes اسم السلعة. (مثلاً، أرانب وردية منفوشة)
sku text لا تحدِّد هذه السمة رمز التخزين التعريفي أو رمز السلعة. (مثال: SKU47)
category text لا الفئة التي ينتمي إليها العنصر (على سبيل المثال، ألعاب الأطفال)
price currency لا تمثّل هذه السمة الفرد والوحدة وسعر كل سلعة. (مثلاً 11.99)
quantity عدد صحيح لا عدد الوحدات التي تم شراؤها في المعاملة. في حال تمرير قيمة لا تمثل عددًا صحيحًا في هذا الحقل (مثل 1.5)، سيتم تقريبها إلى أقرب قيمة عدد صحيح.

التنفيذ

عادةً ما تنفِّذ قياس التجارة الإلكترونية بعد أن يكمل المستخدم عملية الدفع. ويحدث ذلك بشكل عام على صفحة "شكرًا لك". بعد إجراء ذلك، وتكون جاهزًا لإرسال بيانات التجارة الإلكترونية إلى "إحصاءات Google"، هناك خطوتان عليك تنفيذهما:

تحميل المكوّن الإضافي للتجارة الإلكترونية

لخفض حجم مكتبة 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" باستخدام الأمر ecommerce:send:

ga('ecommerce:send');

سيمر هذا الأمر بكل معاملة وعنصر في سلة التسوق ويرسل البيانات ذات الصلة إلى "إحصاءات Google". بعد اكتمال العملية، يتم محو سلة التسوق وتصبح جاهزة لإرسال البيانات الخاصة بمعاملة جديدة. وإذا تم إصدار أمر ecommerce:send سابق، سيتم إرسال بيانات المعاملات والسلع الجديدة فقط.

مسح البيانات

إذا كنت بحاجة إلى محو كل المعاملات والسلع يدويًا في سلّة التسوّق، استخدِم الأمر التالي:

ga('ecommerce:clear');

تحديد العملات المحلية

يمكنك تلقائيًا إعداد عملة مشتركة وعالمية لجميع المعاملات والعناصر من خلال واجهة الويب لإدارة "إحصاءات Google". يتم تلقائيًا استخدام العملة العالمية لكل السلع والمعاملات. بالنسبة إلى المواقع الإلكترونية التي تُجري معاملات بعملات متعدّدة، يسمح لك المكوّن الإضافي للتجارة الإلكترونية بتحديد العملة المحلية للمعاملة بالإضافة إلى المنتجات الفردية.

يجب تحديد العملة المحلية في معيار 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" من المتصفح. لذلك، يجب تحقيق بعض التنسيق بين الخادم والعميل لإرسال بيانات التجارة الإلكترونية بشكل صحيح إلى "إحصاءات Google".

تعرض معظم مواقع التجارة الإلكترونية صفحة الشكر باستخدام محرّك نماذج من جهة الخادم. في هذه الحالة، عليك إضافة رمز قياس التجارة الإلكترونية إلى النموذج من جهة الخادم، واستخدام منطق الخادم لكتابة قيم بيانات التجارة الإلكترونية بشكل ديناميكي في الصفحة النهائية. وفي ما يلي مثال على الشكل الذي سيظهر به هذا الترميز بلغة 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.js، تمثّل القيمة إجمالي قيمة عملة.

يمكن استخدام علامة عشرية كمحدد بين الجزء الصحيح والجزء الكسري من العملة. تصل الدقة إلى 6 مواضع عشرية. يصلح ما يلي لحقل العملة:

1000.000001

وبعد إرسال القيمة إلى "إحصاءات Google"، تتم إزالة كل النصوص حتى الرقم الأول أو الحرف - أو الحرف . (عشري). وبالتالي:

$-55.00

سيصبح:

-55.00