تتبُّع التجارة الإلكترونية المحسَّنة

يقدِّم هذا المستند نظرة عامة عن كيفية قياس الإجراءات ومرات الظهور ذات الصلة بالتجارة الإلكترونية داخل التطبيق باستخدام الإصدار 4 من حزمة تطوير البرامج (SDK) لخدمة "إحصاءات Google" لنظام التشغيل Android.

نظرة عامة

تتيح التجارة الإلكترونية المحسَّنة قياس تفاعلات المستخدم مع المنتجات على مستوى تجربة التسوّق للمستخدم، بما في ذلك مرات ظهور المنتجات، والنقرات على المنتجات، وعرض تفاصيل المنتج، وإضافة منتج إلى سلة التسوق، وبدء عملية الدفع، والمعاملات، وعمليات ردّ الأموال.

التنفيذ

يتطلب قياس التجارة الإلكترونية المحسَّنة استخدام الفئة HitBuilder ومجموعة طرقها لإرسال بيانات التجارة الإلكترونية للمنتجات ومرّات الظهور والعروض الترويجية. يتم أيضًا توفير مجموعة من فئات التجارة الإلكترونية في "إحصاءات Google" لإنشاء معلومات ذات صلة بالتجارة الإلكترونية.

باستخدام التجارة الإلكترونية المحسَّنة، يمكنك:

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

سيقيس تنفيذ التجارة الإلكترونية المحسَّنة النموذجي مرّات ظهور المنتجات، بالإضافة إلى أيّ من الإجراءات التالية:

  • اختيار منتج
  • عرض تفاصيل المنتج.
  • مرات الظهور واختيار العروض الترويجية الداخلية
  • إضافة منتج من سلّة التسوّق أو إزالته
  • بدء عملية الدفع لمنتج ما.
  • عمليات الشراء وردّ الأموال

قياس مرات الظهور

لقياس ظهور منتج معيّن، يمكنك إنشاء عنصر Product وإرساله مع نتيجة باستخدام طريقة addImpression. يجب أن يكون للسمة Product اسم أو قيمة رقم تعريف. وجميع القيم الأخرى اختيارية ولا تحتاج إلى ضبطها.

Product product = new Product()
    .setId("P12345")
    .setName("Android Warhol T-Shirt")
    .setCategory("Apparel/T-Shirts")
    .setBrand("Google")
    .setVariant("Black")
    .setPosition(1)
    .setCustomDimension(1, "Member");
HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder()
    .addImpression(product, "Search Results");

Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
    TrackerName.APP_TRACKER);
t.setScreenName("searchResults");
t.send(builder.build());

راجِع الإعداد المتقدّم للحصول على تفاصيل عن طريقة getTracker.

قياس الإجراءات

يتم قياس الإجراءات باستخدام طريقة addProduct مع عنصر Product لإضافة تفاصيل المنتج، وطريقة setProductAction مع عنصر ProductAction لتحديد الإجراء الذي يتم تنفيذه.

على سبيل المثال، يقيس الرمز التالي اختيار منتج معروض في قائمة نتائج البحث:

Product product =  new Product()
    .setId("P12345")
    .setName("Android Warhol T-Shirt")
    .setCategory("Apparel/T-Shirts")
    .setBrand("Google")
    .setVariant("Black")
    .setPosition(1)
    .setCustomDimension(1, "Member");
ProductAction productAction = new ProductAction(ProductAction.ACTION_CLICK)
    .setProductActionList("Search Results");
HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder()
    .addProduct(product)
    .setProductAction(productAction);

Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
    TrackerName.APP_TRACKER);
t.setScreenName("searchResults");
t.send(builder.build());

الجمع بين مرات الظهور والإجراءات

في الحالات التي يكون فيها لديك إجراء ومرّات ظهور للمنتج معًا، من الممكن دمج ذلك وقياسه في نتيجة واحدة.

يوضح المثال أدناه كيفية قياس عرض تفاصيل المنتج باستخدام قسم المنتجات ذات الصلة:

// The product from a related products section.
Product relatedProduct =  new Product()
    .setId("P12346")
    .setName("Android Warhol T-Shirt")
    .setCategory("Apparel/T-Shirts")
    .setBrand("Google")
    .setVariant("White")
    .setPosition(1);

// The product being viewed.
Product viewedProduct =  new Product()
    .setId("P12345")
    .setName("Android Warhol T-Shirt")
    .setCategory("Apparel/T-Shirts")
    .setBrand("Google")
    .setVariant("Black")
    .setPosition(1);

ProductAction productAction = new ProductAction(ProductAction.ACTION_DETAIL);
HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder()
    .addImpression(relatedProduct, "Related Products")
    .addProduct(viewedProduct)
    .setProductAction(productAction);

Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
    TrackerName.APP_TRACKER);
t.setScreenName("product");
t.send(builder.build());

قياس المعاملات

يمكنك قياس معاملة باستخدام طريقة addProduct مع عنصر Product لإضافة تفاصيل المنتج وطريقة setProductAction مع عنصر ProductAction من أجل تحديد إجراء شراء. يتم توفير تفاصيل مستوى المعاملة مثل إجمالي الإيرادات والضرائب والشحن في العنصر ProductAction.

Product product =  new Product()
    .setId("P12345")
    .setName("Android Warhol T-Shirt")
    .setCategory("Apparel/T-Shirts")
    .setBrand("Google")
    .setVariant("black")
    .setPrice(29.20)
    .setCouponCode("APPARELSALE")
    .setQuantity(1);
ProductAction productAction = new ProductAction(ProductAction.ACTION_PURCHASE)
    .setTransactionId("T12345")
    .setTransactionAffiliation("Google Store - Online")
    .setTransactionRevenue(37.39)
    .setTransactionTax(2.85)
    .setTransactionShipping(5.34)
    .setTransactionCouponCode("SUMMER2013");
HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder()
    .addProduct(product)
    .setProductAction(productAction);

Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
    TrackerName.APP_TRACKER);
t.setScreenName("transaction");
t.send(builder.build());

تحديد العملة

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

يجب تحديد العملة المحلية في معيار ISO 4217. اقرأ مستند مرجع رموز العملات للحصول على قائمة كاملة بعملات التحويل المتوافقة.

يتم تحديد العملات المحلية باستخدام سمة أداة تتبُّع currency. على سبيل المثال، سيرسل برنامج التتبُّع هذا قيم العملة مثل اليورو:

Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
    TrackerName.APP_TRACKER);
t.setScreenName("transaction");
t.set("&cu", "EUR");  // Set tracker currency to Euros.
t.send(builder.build());

قياس عمليات ردّ الأموال

لردّ أموال معاملة بأكملها، استخدِم طريقة setProductAction مع عنصر ProductAction لتحديد معرِّف المعاملة ونوع إجراء ردّ الأموال:

// Refund an entire transaction.
ProductAction productAction = new ProductAction(ProductAction.ACTION_REFUND)
    .setTransactionId("T12345");  // Transaction ID is only required field for a full refund.
HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder()
    .setProductAction(productAction);

Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
    TrackerName.APP_TRACKER);
t.setScreenName("refund");
t.send(builder.build());

إذا لم يتم العثور على أي معاملة مطابقة، لن تتم معالجة عملية ردّ الأموال.

لقياس عملية ردّ جزء من الأموال، استخدِم طريقة setProductAction مع عنصر ProductAction لتحديد معرِّف المعاملة ومعرّفات المنتجات وكميات المنتجات المطلوب ردّ أموالها:

// Refund a single product.
Product product =  new Product()
    .setId("P12345")  // Product ID is required for partial refund.
    .setQuantity(1);  // Quanity is required for partial refund.
ProductAction productAction = new ProductAction(ProductAction.ACTION_REFUND)
    .setTransactionId("T12345");  // Transaction ID is required for partial refund.
HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder()
    .addProduct(product)
    .setProductAction(productAction);

Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
    TrackerName.APP_TRACKER);
t.setScreenName("refundProduct");
t.send(builder.build());

استخدام أحداث عدم التفاعل لعمليات ردّ الأموال

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

// Refund an entire transaction.
ProductAction productAction = new ProductAction(ProductAction.ACTION_REFUND)
    .setTransactionId("T12345");
HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder()
    .setProductAction(productAction)
    .setNonInteraction(true)
    .setCategory("Ecommerce")
    .setAction("Refund");

Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
    TrackerName.APP_TRACKER);
t.send(builder.build());

قياس عملية الدفع

لقياس كل خطوة في عملية الدفع:

  1. إضافة رمز تتبّع لقياس كل خطوة من خطوات عملية الدفع
  2. أضِف رمز تتبّع، إن أمكن، لقياس خيارات الدفع.
  3. يمكنك اختياريًا ضبط أسماء خطوات سهلة الاستخدام لتقرير مسار الإحالة الناجحة للدفع من خلال ضبط إعدادات التجارة الإلكترونية في قسم المشرف على واجهة الويب.

1- قياس خطوات الدفع

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

حقل Step

عليك تضمين قيمة step لكل خطوة تقيسها في الدفع. تُستخدم هذه القيمة لربط إجراءات الدفع الخاصة بك بالتصنيفات التي ضبطتها لكل خطوة في إعدادات التجارة الإلكترونية.

حقل Option

إذا كانت لديك معلومات إضافية حول خطوة الدفع المحدّدة وقت قياس الخطوة، يمكنك ضبط الحقل option باستخدام الإجراء checkout لتسجيل هذه المعلومات. على سبيل المثال، نوع الدفع التلقائي للمستخدم (على سبيل المثال، "Visa").

قياس خطوة الدفع

لقياس خطوة الدفع، استخدِم طريقة addProduct مع عنصر Product لإضافة تفاصيل المنتج، وطريقة setProductAction مع عنصر ProductAction للإشارة إلى إجراء الدفع. يمكنك أيضًا ضبط step وoption عند الدفع، إذا كان ذلك ممكنًا.

يوضح المثال التالي كيفية قياس الخطوة الأولى في عملية الدفع باستخدام منتج واحد، وبعض المعلومات الإضافية حول نوع الدفع:

Product product =  new Product()
    .setId("P12345")
    .setName("Android Warhol T-Shirt")
    .setCategory("Apparel/T-Shirts")
    .setBrand("Google")
    .setVariant("black")
    .setPrice(29.20)
    .setQuantity(1);
// Add the step number and additional info about the checkout to the action.
ProductAction productAction = new ProductAction(ProductAction.ACTION_CHECKOUT)
    .setCheckoutStep(1)
    .setCheckoutOptions("Visa");
HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder()
    .addProduct(product)
    .setProductAction(productAction);

Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
    TrackerName.APP_TRACKER);
t.setScreenName("checkoutStep1");
t.send(builder.build());

2. قياس خيارات الدفع

تتيح لك خيارات الدفع قياس المعلومات الإضافية حول حالة الدفع. يُعدّ ذلك مفيدًا في الحالات التي تكون فيها قد قمت بقياس خطوة الدفع، ولكن تتوفر معلومات إضافية حول خطوة الدفع نفسها بعد تحديد الخيار الذي حدّده المستخدم. على سبيل المثال، يختار المستخدم طريقة شحن.

لقياس خيار الدفع، استخدِم السمة setAction للإشارة إلى خيار الدفع وتضمين رقم الخطوة ووصف الخيار.

من المحتمل أن ترغب في قياس هذا الإجراء بمجرد أن يتخذ المستخدم إجراءًا للانتقال إلى الخطوة التالية في عملية الدفع. مثال:

// (On "Next" button click.)
ProductAction productAction = new ProductAction(ProductAction.ACTION_CHECKOUT_OPTIONS)
    .setCheckoutStep(1)
    .setCheckoutOptions("FedEx");
HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder()
    .setProductAction(productAction)
    .setCategory("Checkout")
    .setAction("Option");

Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
    TrackerName.APP_TRACKER);
t.send(builder.build());

// Advance to next page.

3- إعداد مسار الدفع

يمكن إعطاء اسم وصفي لكل خطوة في عملية الدفع سيتم استخدامها في التقارير. لضبط هذه الأسماء، يُرجى الانتقال إلى قسم المشرف في واجهة ويب Google Analytics، وتحديد الملف الشخصي (الملف الشخصي) والنقر على إعدادات التجارة الإلكترونية. اتّبِع تعليمات إعداد التجارة الإلكترونية لتصنيف كل خطوة من خطوات الدفع التي تنوي تتبُّعها.

إعدادات التجارة الإلكترونية في قسم "المشرف" في واجهة "إحصاءات Google" على الويب. تم تفعيل التجارة الإلكترونية وإضافة 4 تصنيفات لخطوات مسار الدفع: 1. مراجعة سلة التسوق، 2. جمع معلومات الدفع، 3. أكِّد تفاصيل
     الشراء، 4- إيصال
الشكل 1: إعداد التجارة الإلكترونية - مسار الدفع

قياس عمليات الترويج الداخلية

تشمل التجارة الإلكترونية المحسَّنة إمكانية قياس مرّات الظهور والنقرات المرتبطة بالعروض الترويجية الداخلية، مثل إعلانات البانر المعروضة للترويج لتخفيضات.

مرات ظهور العروض الترويجية

بشكل عام، يتم قياس مرّات ظهور الإعلان الترويجي الداخلي من خلال المشاهدة الأولية للشاشة باستخدام طريقة addPromotion مع عنصر Promotion لتحديد تفاصيل العرض الترويجي. مثال:

Promotion promotion = new Promotion()
    .setId("PROMO_1234")
    .setName("Summer Sale")
    .setCreative("summer_banner2")
    .setPosition("banner_slot1");
HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder()
    .addPromotion(promotion);

Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
    TrackerName.APP_TRACKER);
t.setScreenName("promotions");
t.send(builder.build());

نقرات الترويج

يمكن قياس عدد النقرات على العروض الترويجية الداخلية باستخدام طريقة addPromotion مع عنصر Promotion، وضبط طريقة setPromotionAction على Promotion.ACTION_CLICK أو Promotion.ACTION_VIEW للإشارة إلى نقرة على عرض ترويجي أو مشاهدة على التوالي. مثال:

Promotion promotion = new Promotion()
    .setId("PROMO_1234")
    .setName("Summer Sale")
    .setCreative("summer_banner2")
    .setPosition("banner_slot1");
HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder()
    .addPromotion(promotion)
    .setPromotionAction(Promotion.ACTION_CLICK)
    .setCategory("Internal Promotions")
    .setAction("click")
    .setLabel("Summer Sale");

Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
    TrackerName.APP_TRACKER);
t.send(builder.build());