ردیابی تجارت الکترونیک پیشرفته

این سند یک نمای کلی از نحوه اندازه‌گیری اقدامات و نمایش‌های مربوط به تجارت الکترونیک درون برنامه‌ای با Google Analytics SDK v4 برای Android ارائه می‌دهد.

بررسی اجمالی

تجارت الکترونیک پیشرفته اندازه‌گیری تعاملات کاربر با محصولات را در سراسر تجربه خرید کاربر، که شامل نمایش محصول، کلیک‌های محصول، مشاهده جزئیات محصول، افزودن یک محصول به سبد خرید، شروع فرآیند پرداخت، تراکنش‌ها و بازپرداخت می‌شود، ممکن می‌سازد.

پیاده سازی

اندازه‌گیری پیشرفته تجارت الکترونیک شما را ملزم می‌کند که از کلاس HitBuilder و مجموعه روش‌های آن برای ارسال داده‌های تجارت الکترونیک برای محصولات، نمایش‌ها و تبلیغات استفاده کنید. مجموعه ای از کلاس های تجارت الکترونیک Google Analytics نیز برای ساخت اطلاعات مربوط به تجارت الکترونیک ارائه شده است.

با تجارت الکترونیک پیشرفته، می توانید:

اندازه گیری فعالیت های تجارت الکترونیک

یک پیاده‌سازی توسعه‌یافته تجارت الکترونیک، نمایش محصول و هر یک از اقدامات زیر را اندازه‌گیری می‌کند:

  • انتخاب یک محصول.
  • مشاهده جزئیات محصول
  • برداشت ها و انتخاب تبلیغات داخلی.
  • افزودن/حذف یک محصول از سبد خرید.
  • شروع فرآیند پرداخت برای یک محصول.
  • خرید و بازپرداخت.

اندازه گیری تاثیرات

برای اندازه گیری نمایش محصول، یک شی 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 Analytics، یک واحد پول رایج، جهانی را برای همه تراکنش‌ها و موارد پیکربندی کنید.

واحد پول محلی باید در استاندارد ISO 4217 مشخص شود. برای فهرست کامل ارزهای تبدیل پشتیبانی شده، سند مرجع کدهای ارز را بخوانید.

ارزهای محلی با استفاده از ویژگی ردیاب currencyCode مشخص می شوند. به عنوان مثال، این ردیاب مقادیر ارز را به صورت یورو ارسال می کند:

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 Analytics پیاده سازی کنید.

Step فیلد

برای هر مرحله پرداخت که اندازه می‌گیرید، باید یک مقدار step درج کنید. این مقدار برای نگاشت اقدامات پرداخت شما به برچسب هایی که برای هر مرحله در تنظیمات تجارت الکترونیک پیکربندی کرده اید استفاده می شود.

فیلد Option

اگر در زمان اندازه‌گیری مرحله، اطلاعات بیشتری در مورد مرحله پرداخت داده شده دارید، می‌توانید فیلد option را با یک عمل checkout تنظیم کنید تا این اطلاعات ثبت شود. به عنوان مثال، نوع پرداخت پیش فرض برای کاربر (به عنوان مثال "ویزا").

اندازه گیری مرحله پرداخت

برای اندازه‌گیری مرحله پرداخت، از روش 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. Checkout Funnel Configuration

به هر مرحله از فرآیند پرداخت شما می توان یک نام توصیفی داد که در گزارش ها استفاده می شود. برای پیکربندی این نام‌ها، به بخش Admin در رابط وب Google Analytics مراجعه کنید، نمای (نمایه) را انتخاب کنید و روی تنظیمات تجارت الکترونیک کلیک کنید. دستورالعمل‌های راه‌اندازی تجارت الکترونیک را دنبال کنید تا هر مرحله تسویه‌حساب را که می‌خواهید دنبال کنید برچسب بزنید.

تنظیمات تجارت الکترونیک در بخش مدیریت رابط وب Google Analytics. تجارت الکترونیک فعال است و 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());