يتيح المكوّن الإضافي للتجارة الإلكترونية المحسَّنة لـ analytics.js إمكانية قياس تفاعلات المستخدم مع المنتجات على مواقع التجارة الإلكترونية عبر تجربة التسوق الخاصة بالمستخدم، بما في ذلك: مرات ظهور المنتج، والنقرات على المنتج، وعرض تفاصيل المنتج، وإضافة منتج إلى سلة التسوق، وبدء عملية الدفع، والمعاملات، وعمليات ردّ الأموال.
نقل البيانات والتوافق مع المكوّن الإضافي للتجارة الإلكترونية (ecommerce.js)
إذا كنت قد نفّذت بالفعل قياس التجارة الإلكترونية وتريد البدء في استخدام التجارة الإلكترونية المحسَّنة، هناك خياران رئيسيان:
استخدام موقع جديد
يمكنك إضافة أداة تتبُّع أخرى لموقع تم إنشاؤه حديثًا وتفعيل علامة/تفعيل التجارة الإلكترونية المحسَّنة للموقع الجديد. راجع العمل مع كائنات تتبع متعددة للحصول على مزيد من التفاصيل حول كيفية إرسال البيانات إلى مواقع متعددة من صفحة واحدة.
نقل موقع حالي
للانتقال من المكوّن الإضافي للتجارة الإلكترونية إلى المكوّن الإضافي للتجارة الإلكترونية المحسَّنة، على مستخدمي analytics.js الحاليين إزالة المراجع واستبدالها برمز التجارة الإلكترونية المحسَّنة.
إذا كنت تستخدم حاليًا ga.js، ستحتاج أولاً إلى نقل البيانات إلى analytics.js قبل استخدام المكوّن الإضافي للتجارة الإلكترونية المحسَّنة.
لن تتأثّر عملية نقل البيانات ببيانات المعاملات والسلع التي تمّ جمعها سابقًا باستخدام المكوِّن الإضافي ecommerce.js، وستظل متوفّرة في المواقع والملفات الشخصية التي تمّ إرسالها إليها في الأصل.
أنواع بيانات التجارة الإلكترونية المحسَّنة وإجراءاتها
تتوفّر أنواع متعدّدة من بيانات التجارة الإلكترونية التي يمكنك إرسالها:
بيانات مرات الظهور
تمثل معلومات عن منتج تم عرضه. ويُشار إليه باسم impressionFieldObject
ويحتوي على القيم التالية:
المفتاح | نوع القيمة | مطلوبة | الوصف |
---|---|---|---|
id |
text | *نعم |
معرّف المنتج أو رمز التخزين التعريفي (SKU) (مثلاً P67890)
* يجب ضبط قيمة من |
name |
text | *نعم |
اسم المنتج (مثلاً قميص Android).
* يجب ضبط قيمة من |
list |
text | لا | القائمة أو المجموعة التي ينتمي إليها المنتج (مثل نتائج البحث) |
list_name |
text | لا | القائمة أو المجموعة التي ينتمي إليها المنتج (مثل نتائج البحث) |
brand |
text | لا | العلامة التجارية المرتبطة بالمنتج (مثل Google). |
category |
text | لا |
الفئة التي ينتمي إليها المنتج (مثل الملابس). يمكنك استخدام
/ كمحدِّد لتحديد ما يصل إلى 5 مستويات من التدرج الهرمي (مثل
الملابس/الرجال/القمصان القصيرة الأكمام).
|
variant |
text | لا | خيار المنتج (مثلاً أسود). |
position |
عدد صحيح | لا | موضع المنتج في قائمة أو مجموعة (مثلاً 2). |
list_position |
عدد صحيح | لا | موضع المنتج في قائمة أو مجموعة (مثلاً 2). |
price |
الرقم | لا | سعر منتج (مثلاً 29.20). |
بيانات المنتج
تمثل بيانات المنتج المنتجات الفردية التي تم الاطّلاع عليها أو إضافتها إلى سلة التسوق أو غير ذلك. ويُشار إليها باسم productFieldObject
وتحتوي على القيم التالية:
المفتاح | نوع القيمة | مطلوبة | الوصف |
---|---|---|---|
id |
text | *نعم |
معرّف المنتج أو رمز التخزين التعريفي (SKU) (مثلاً P67890)
* يجب ضبط رقم من المعرّف أو |
name |
text | *نعم |
اسم المنتج (مثلاً قميص Android).
* يجب ضبط رقم من المعرّف أو |
brand |
text | لا | العلامة التجارية المرتبطة بالمنتج (مثل Google). |
category |
text | لا | الفئة التي ينتمي إليها المنتج (مثل الملابس). يمكنك استخدام / كمحدِّد لتحديد ما يصل إلى 5 مستويات من التسلسل الهرمي (مثل الملابس/الرجال/القمصان). |
variant |
text | لا | خيار المنتج (مثلاً أسود). |
price |
الرقم | لا | سعر منتج (مثلاً 29.20). |
quantity |
عدد صحيح | لا | كمية المنتج (مثلاً 2). |
coupon |
text | لا | رمز القسيمة المرتبط بمنتج (مثل SUMMER_SALE13). |
position |
عدد صحيح | لا | موضع المنتج في قائمة أو مجموعة (مثلاً 2). |
list_position |
عدد صحيح | لا | موضع المنتج في قائمة أو مجموعة (مثلاً 2). |
بيانات العرض الترويجي
تمثّل هذه السمة معلومات عن عرض ترويجي تمت مشاهدته. يُشار إليه باسم promoFieldObject
ويحتوي على القيم التالية:
المفتاح | نوع القيمة | مطلوبة | الوصف |
---|---|---|---|
id |
text | *نعم |
معرّف العرض الترويجي (مثل PROMO_1234)
* يجب ضبط قيمة من |
name |
text | *نعم |
اسم العرض الترويجي (مثل تخفيضات الصيف).
* يجب ضبط قيمة من |
creative |
text | لا | تصميم الإعلان المرتبط بالعرض الترويجي (على سبيل المثال الصيف_banner2). |
creative_name |
text | لا | اسم تصميم الإعلان (على سبيل المثال،ummer_banner2). |
position |
text | لا | موضع تصميم الإعلان (على سبيل المثال، بانر_slot_1). |
creative_slot |
text | لا | اسم خانة تصميم الإعلان (مثل البانر_slot_1). |
بيانات الإجراءات
يمثل معلومات عن إجراء مرتبط بالتجارة الإلكترونية تم إجراؤه.
يُشار إليه باسم actionFieldObject
ويحتوي على القيم التالية:
المفتاح | نوع القيمة | مطلوبة | الوصف |
---|---|---|---|
id |
text | *نعم |
معرِّف المعاملة (مثل T1234).
* مطلوب إذا كان نوع الإجراء |
affiliation |
text | لا | المتجر أو الارتباط الذي حدثت منه هذه المعاملة (مثل Google Store). |
revenue |
الرقم | لا |
تحدّد إجمالي الأرباح أو الإجمالي الكلي المرتبط بالمعاملة (مثلاً 11.99). يمكن أن تشمل هذه القيمة الشحن أو تكاليف الضرائب أو التسويات الأخرى في إجمالي الأرباح التي تريد تضمينها كجزء من عمليات احتساب الأرباح. |
القيمة | الرقم | لا | القيمة (أي الأرباح) المرتبطة بالحدث |
tax |
الرقم | لا | إجمالي الضريبة المرتبطة بالمعاملة. |
shipping |
الرقم | لا | تكلفة الشحن المرتبطة بالمعاملة. |
coupon |
text | لا | قسيمة المعاملة التي تم تحصيل قيمتها مع المعاملة. |
list |
text | لا | تمثّل هذه السمة القائمة التي تنتمي إليها المنتجات المرتبطة. اختياريّ. |
items |
صفيف | لا | المصفوفة التي تحتوي على المنتجات المرتبطة بها |
step |
عدد صحيح | لا | رقم يمثل خطوة في عملية الدفع. اختيارية في إجراءات "الدفع". |
checkout_step |
عدد صحيح | لا | رقم يمثل خطوة في عملية الدفع. |
option |
text | لا |
حقل إضافي لإجراءات checkout
وcheckout_option يمكن أن يصف معلومات الخيار
في صفحة الدفع، مثل طريقة الدفع المحدّدة.
|
checkout_option |
text | لا | خيار الدفع (أي طريقة الدفع المحدَّدة) |
الإجراءات المتعلقة بالمنتجات والعروض الترويجية
تحدّد الإجراءات كيفية تفسير بيانات المنتجات والعروض الترويجية التي ترسلها إلى "إحصاءات Google".
الإجراء | حدث | الوصف |
---|---|---|
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":
حقل
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" على الويب، واختيار الملف الشخصي (الملف الشخصي) والنقر على إعدادات التجارة الإلكترونية. اتّبِع تعليمات إعداد التجارة الإلكترونية لتصنيف كل خطوة دفع تنوي قياسها.
قياس عمليات الترويج الداخلية
يتضمن المكوّن الإضافي للتجارة الإلكترونية المحسَّنة دعمًا لقياس مرات الظهور والنقرات المرتبطة بالعروض الترويجية الداخلية، مثل إعلانات البانر التي يتم عرضها للترويج لتخفيضات على قسم آخر من الموقع الإلكتروني.
مرات ظهور العروض الترويجية
بشكل عام، يتم قياس مرّات ظهور الإعلان الترويجي الداخلي عند تحميل الصفحة ويتم إرسالها مع المشاهدات الأولية للصفحة باستخدام الأمر 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).
تأكَّد من ضبط مسار الإحالة الناجحة للدفع بشكل صحيح في "مشرف واجهة الويب" ضمن إعدادات التجارة الإلكترونية، إذا كان ذلك منطبقًا. مثال:
الخطوة 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". بشكل افتراضي، يتم استخدام العملة العالمية لجميع العناصر والمعاملات. بالنسبة إلى المواقع الإلكترونية التي تُجري معاملات بعملات متعددة، يسمح لك المكوّن الإضافي للتجارة الإلكترونية بتحديد العملة المحلية للمعاملة.
يجب تحديد العملة المحلية في معيار 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');