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

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

مهاجرت و سازگاری با افزونه تجارت الکترونیک (ecommerce.js)

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

از یک ملک جدید استفاده کنید

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

مهاجرت یک ملک موجود

برای انتقال از افزونه تجارت الکترونیک به افزونه تجارت الکترونیک پیشرفته، کاربران فعلی analytics.js باید کدهای تجارت الکترونیک پیشرفته را حذف و جایگزین مراجع کنند.

اگر در حال حاضر از ga.js استفاده می کنید، باید قبل از استفاده از افزونه تجارت الکترونیک پیشرفته، ابتدا به analytics.js مهاجرت کنید .

داده‌های تراکنش و مواردی که قبلاً با استفاده از افزونه ecommerce.js جمع‌آوری شده‌اند تحت تأثیر این انتقال قرار نمی‌گیرند و در ویژگی‌ها و نمایه‌هایی که در ابتدا به آن‌ها ارسال شده‌اند در دسترس باقی می‌مانند.

انواع داده ها و اقدامات تجارت الکترونیک پیشرفته

انواع مختلفی از داده های تجارت الکترونیک وجود دارد که می توانید ارسال کنید:

داده های برداشت

نشان دهنده اطلاعات مربوط به محصولی است که مشاهده شده است. به آن impressionFieldObject گفته می شود و حاوی مقادیر زیر است:

کلید نوع ارزش ضروری شرح
id متن *آره

شناسه محصول یا SKU (به عنوان مثال P67890).

* یکی از id یا name باید تنظیم شود.

name متن *آره

نام محصول (مثلا تی شرت اندروید).

* یکی از id یا name باید تنظیم شود.

list متن خیر لیست یا مجموعه ای که محصول به آن تعلق دارد (مثلاً نتایج جستجو)
brand متن خیر نام تجاری مرتبط با محصول (به عنوان مثال گوگل).
category متن خیر دسته ای که محصول به آن تعلق دارد (مثلاً پوشاک). از / به عنوان یک جداکننده برای تعیین حداکثر 5 سطح سلسله مراتب استفاده کنید (مانند پوشاک / مردانه / تی شرت).
variant متن خیر نوع محصول (به عنوان مثال مشکی).
position عدد صحیح خیر موقعیت محصول در یک لیست یا مجموعه (مثلاً 2).
price عدد خیر قیمت یک محصول (به عنوان مثال 29.20).

اطلاعات محصول

داده‌های محصول نشان‌دهنده محصولات فردی است که مشاهده شده، به سبد خرید اضافه شده‌اند، و غیره. به عنوان productFieldObject نامیده می‌شود و حاوی مقادیر زیر است:

کلید نوع ارزش ضروری شرح
id متن *آره

شناسه محصول یا SKU (به عنوان مثال P67890).

* یکی از شناسه یا name باید تنظیم شود.

name متن *آره

نام محصول (مثلا تی شرت اندروید).

* یکی از شناسه یا name باید تنظیم شود.

brand متن خیر نام تجاری مرتبط با محصول (به عنوان مثال گوگل).
category متن خیر دسته ای که محصول به آن تعلق دارد (مثلاً پوشاک). از / به عنوان یک جداکننده برای تعیین حداکثر 5 سطح سلسله مراتب استفاده کنید (مانند پوشاک / مردانه / تی شرت).
variant متن خیر نوع محصول (به عنوان مثال مشکی).
price عدد خیر قیمت یک محصول (به عنوان مثال 29.20).
quantity عدد صحیح خیر مقدار یک محصول (به عنوان مثال 2).
coupon متن خیر کد کوپن مرتبط با یک محصول (به عنوان مثال SUMMER_SALE13).
position عدد صحیح خیر موقعیت محصول در یک لیست یا مجموعه (مثلاً 2).

داده های تبلیغاتی

نشان دهنده اطلاعات تبلیغاتی است که مشاهده شده است. به یک promoFieldObject ارجاع داده می شود و حاوی مقادیر زیر است:

کلید نوع ارزش ضروری شرح
id متن *آره

شناسه تبلیغ (به عنوان مثال PROMO_1234).

* یکی از id یا name باید تنظیم شود.

name متن *آره

نام تبلیغات (به عنوان مثال فروش تابستانی).

* یکی از id یا name باید تنظیم شود.

creative متن خیر خلاقیت مرتبط با تبلیغات (به عنوان مثال summer_banner2).
position متن خیر موقعیت خلاق (به عنوان مثال banner_slot_1).

داده های اقدام

نشان دهنده اطلاعات مربوط به یک اقدام مرتبط با تجارت الکترونیک است که انجام شده است. به آن actionFieldObject گفته می شود و حاوی مقادیر زیر است:

کلید نوع ارزش ضروری شرح
id متن *آره

شناسه تراکنش (به عنوان مثال T1234).

* اگر نوع اقدام purchase یا refund باشد، الزامی است

affiliation متن خیر فروشگاه یا وابستگی که این تراکنش از آن انجام شده است (مثلاً فروشگاه Google).
revenue عدد خیر

کل درآمد یا کل کل مرتبط با تراکنش را مشخص می کند (مثلاً 11.99). این مقدار ممکن است شامل هزینه‌های حمل و نقل، مالیات یا سایر تنظیمات مربوط به کل درآمد باشد که می‌خواهید به عنوان بخشی از محاسبات درآمد خود لحاظ کنید.

tax عدد خیر کل مالیات مربوط به معامله.
shipping عدد خیر هزینه حمل و نقل مرتبط با معامله.
coupon متن خیر کوپن معامله با معامله بازخرید شد.
list متن خیر لیستی که محصولات مرتبط به آن تعلق دارند. اختیاری.
step عدد صحیح خیر عددی که نمایانگر مرحله ای از فرآیند پرداخت است. اختیاری در اقدامات "تسویه حساب".
option متن خیر فیلد اضافی برای اقدامات checkout و checkout_option که می‌تواند اطلاعات گزینه را در صفحه پرداخت، مانند روش پرداخت انتخابی، توصیف کند.

محصولات و اقدامات ترویجی

اقدامات نحوه تفسیر محصول و داده های تبلیغاتی را که به Google Analytics ارسال می کنید مشخص می کند.

عمل شرح
click کلیک بر روی یک محصول یا پیوند محصول برای یک یا چند محصول.
detail نمایی از جزئیات محصول
add افزودن یک یا چند محصول به سبد خرید.
remove یک یا چند محصول را از سبد خرید حذف کنید.
checkout شروع فرآیند پرداخت برای یک یا چند محصول.
checkout_option ارسال مقدار گزینه برای یک مرحله پرداخت مشخص.
purchase فروش یک یا چند محصول.
refund بازپرداخت یک یا چند محصول.
promo_click یک کلیک روی یک تبلیغ داخلی

پیاده سازی

بخش‌های زیر نحوه پیاده‌سازی افزونه تجارت الکترونیک پیشرفته را برای اندازه‌گیری فعالیت تجارت الکترونیک در وب‌سایت با کتابخانه 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).
});

اگر نوع اقدام purchase یا refund باشد، یک actionFieldObject باید یک مقدار id داشته باشد. همه مقادیر دیگر اختیاری هستند و نیازی به تنظیم ندارند.

اندازه گیری بازپرداخت

برای بازپرداخت کل یک تراکنش، یک اقدام 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 Analytics پیاده سازی کنید:

  • 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. Checkout Funnel Configuration

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

تنظیمات تجارت الکترونیک در بخش مدیریت رابط وب Google Analytics. تجارت الکترونیک فعال است و 4 برچسب مرحله پرداخت قیف اضافه شده است: 1. بررسی سبد خرید، 2. جمع آوری اطلاعات پرداخت، 3. تأیید جزئیات خرید، 4. رسید
شکل 1: راه اندازی تجارت الکترونیک - قیف پرداخت

اندازه گیری تبلیغات داخلی

افزونه تجارت الکترونیک پیشرفته شامل پشتیبانی از اندازه گیری برداشت ها و کلیک های تبلیغات داخلی است، مانند بنرهایی که برای تبلیغ فروش در بخش دیگری از یک وب سایت نمایش داده می شوند.

برداشت های تبلیغاتی

نمایش تبلیغات داخلی معمولاً زمانی اندازه گیری می شود که صفحه بارگیری می شود و با استفاده از دستور 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).

در صورت امکان، مطمئن شوید که یک قیف پرداخت را در مدیریت رابط وب، در تنظیمات تجارت الکترونیک ، به درستی پیکربندی کرده‌اید. مثلا:

تنظیمات تجارت الکترونیک در بخش مدیریت رابط وب Google Analytics. تجارت الکترونیک فعال است و برچسب‌های مرحله پرداخت قیف اضافه شده است: 1. جزئیات پرداخت و 2. جزئیات حمل و نقل
شکل 2: راه اندازی تجارت الکترونیک - قیف پرداخت

مرحله 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 Analytics، یک واحد پول رایج، جهانی را برای همه تراکنش‌ها و موارد پیکربندی کنید. به طور پیش فرض، ارز جهانی برای همه اقلام و معاملات استفاده می شود. برای وب‌سایت‌هایی که تراکنش‌ها را با چندین ارز انجام می‌دهند، افزونه تجارت الکترونیک به شما امکان می‌دهد ارز محلی تراکنش را مشخص کنید.

واحد پول محلی باید در استاندارد 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');