اندروید نسخه 4 - تجارت الکترونیک پیشرفته

این راهنما نحوه پیاده‌سازی ویژگی‌های Universal Analytics Enhanced Commerce را با استفاده از Google Tag Manager SDK برای Android شرح می‌دهد.

بررسی اجمالی

Google Analytics Enhanced Ecommerce به شما امکان می‌دهد داده‌های نمایش، تبلیغات و فروش محصول را با هر یک از نمایش‌ها و رویدادهای Google Analytics ارسال کنید.

قبل از اینکه شروع کنی

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

پیاده سازی

بخش های زیر به شما نشان می دهد که چگونه از لایه داده برای اندازه گیری فعالیت های تجارت الکترونیک پیشرفته زیر استفاده کنید:

اندازه گیری برداشت محصول

  • اندازه گیری تجارت الکترونیک: impressions
  • داده ها را می پذیرد: آرایه impressionFieldObjects

با استفاده از عمل impression و یک یا چند impressionFieldObjects نمایش‌های محصول را اندازه‌گیری کنید. مثال زیر فرض می کند که جزئیات مربوط به محصولات نمایش داده شده در زمان نمایش صفحه مشخص است:

// Product impressions are sent by pushing an impressions object
// containing one or more impressionFieldObjects.
dataLayer.push("ecommerce",
    DataLayer.mapOf(
        "currencyCode", "EUR",                                  // Local currency is optional.
        "impressions", DataLayer.listOf(
            DataLayer.mapOf(
                "name", "Triblend Android T-Shirt",             // Name or ID is required.
                "id", "12345",
                "price", "15.25",
                "brand", "Google",
                "category", "Apparel",
                "variant", "Gray",
                "list", "Search Results",
                "position", 1),
            DataLayer.mapOf(
                "name", "Donut Friday Scented T-Shirt",
                "id", "67890",
                "price", "33.75",
                "brand", "Google",
                "category", "Apparel",
                "variant", "Black",
                "list", "Search Results",
                "position", 2))));

اندازه گیری کلیک/انتخابات محصول

  • اندازه گیری تجارت الکترونیک: click
  • داده ها را می پذیرد: list ، آرایه ای از productFieldObjects

انتخاب محصول را با فشار دادن یک click روی لایه داده، به همراه productFieldObject برای نمایش محصول انتخاب شده اندازه گیری کنید:

dataLayer.pushEvent("productClick",
    DataLayer.mapOf(
        "ecommerce", DataLayer.mapOf(
            "click", DataLayer.mapOf(
                "actionField", DataLayer.mapOf(
                    "list", "Search Results"),                    // Optional list property.
                "products", DataLayer.listOf(
                    DataLayer.mapOf(
                        "name", "Triblend Android T-Shirt",       // Name or ID is required.
                        "id", "12345",
                        "price", "15.25",
                        "brand", "Google",
                        "category", "Apparel",
                        "variant", "Gray"))))));

اندازه گیری نماها از جزئیات محصول

  • اندازه گیری تجارت الکترونیک: detail
  • داده ها را می پذیرد: list ، آرایه ای از productFieldObjects

نمایی از جزئیات محصول را با فشار دادن یک اقدام detail به لایه داده، به همراه یک یا چند productFieldObjects که نشان دهنده محصولات در حال مشاهده هستند، اندازه گیری کنید:

// Measure a view of product details.
dataLayer.push("ecommerce",
    DataLayer.mapOf(
        "detail", DataLayer.mapOf(
            "actionField", DataLayer.mapOf(
                "list", "Apparel Gallery"),               // detail actions have an optional list property.
            "products", DataLayer.listOf(
                DataLayer.mapOf(
                    "name", "Triblend Android T-Shirt",   // Name or ID is required.
                    "id", "12345",
                    "price", "15.25",
                    "brand", "Google",
                    "category", "Apparel",
                    "variant", "Gray")))));

اندازه گیری اضافه یا حذف از سبد خرید

  • اندازه گیری تجارت الکترونیک: add ، remove
  • داده ها را می پذیرد: list ، آرایه ای از productFieldObjects

با استفاده از add یا remove actionFieldObject و لیستی از productFieldObjects موارد اضافه یا حذف را از سبد خرید اندازه گیری کنید:

افزودن محصول به سبد خرید

// Measure adding a product to a shopping cart by using an "add"
// actionFieldObject and a list of productFieldObjects.
dataLayer.pushEvent("addToCart",
    DataLayer.mapOf(
        "ecommerce", DataLayer.mapOf(
            "currencyCode", "EUR",
            "add", DataLayer.mapOf(                             // 'add' actionFieldObject measures.
                "products", DataLayer.listOf(
                    DataLayer.mapOf(
                        "name", "Triblend Android T-Shirt",
                        "id", "12345",
                        "price", "15.25",
                        "brand", "Google",
                        "category", "Apparel",
                        "variant", "Gray",
                        "quantity", 1))))));

حذف یک محصول از سبد خرید

// Measure the removal of a product from a shopping cart.
dataLayer.pushEvent("removeFromCart",
    DataLayer.mapOf(
        "ecommerce", DataLayer.mapOf(
            "remove", DataLayer.mapOf(                      // 'remove' actionFieldObject measures.
                "products", DataLayer.listOf(
                    DataLayer.mapOf(
                        "name", "Triblend Android T-Shirt",
                        "id", "12345",
                        "price", "15.25",
                        "brand", "Google",
                        "category", "Apparel",
                        "variant", "Gray",
                        "quantity", 1))))));

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

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

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

  • اندازه گیری تجارت الکترونیک: promoView
  • داده ها را می پذیرد: آرایه ای از promoFieldObjects

برای اندازه‌گیری نمایش تبلیغات، کلید promoView را در لایه داده‌های تجارت الکترونیک روی یک promoFieldObject تنظیم کنید که تبلیغات نمایش داده شده برای کاربران روی صفحه را توصیف می‌کند:

// An example of measuring promotion views. This example assumes that
// information about the promotions displayed is available when the screen is
// displayed.
dataLayer.push("ecommerce",
    DataLayer.mapOf(
        "promoView", DataLayer.mapOf(
            "promotions", DataLayer.listOf(         // List of promoFieldObjects.
                DataLayer.mapOf(
                    "id", "JUNE_PROMO13",           // ID or Name is required.
                    "name", "June Sale",
                    "creative", "banner1",
                    "position", "slot1"),
                DataLayer.mapOf(
                    "id", "FREE_SHIP13",
                    "name", "Free Shipping Promo",
                    "creative", "skyscraper1",
                    "position", "slot2")))));

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

برای اندازه‌گیری یک انتخاب تبلیغاتی، عمل promoClick را با آرایه‌ای حاوی یک promoFieldObject که تبلیغ انتخاب‌شده را توصیف می‌کند، به لایه داده فشار دهید:

dataLayer.pushEvent("promotionClick",
    DataLayer.mapOf(
        "ecommerce", DataLayer.mapOf(
            "promoClick", DataLayer.mapOf(
                "promotions", DataLayer.listOf(
                    DataLayer.mapOf(
                        "id", "JUNE_PROMO13",          // Name or ID is required.
                        "name", "June Sale",
                        "creative", "banner1",
                        "position", "slot1"))))));

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

برای اندازه‌گیری هر مرحله در فرآیند پرداخت، باید:

  1. هر مرحله از فرآیند پرداخت را با استفاده از عمل checkout اندازه گیری کنید.
  2. در صورت وجود، گزینه های پرداخت را با استفاده از عملکرد checkout_option اندازه گیری کنید.
  3. با پیکربندی تنظیمات تجارت الکترونیک در بخش مدیریت رابط وب، نام‌های مرحله کاربرپسند را برای گزارش قیف پرداخت به صورت اختیاری تنظیم کنید.

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

  • اندازه گیری تجارت الکترونیک: checkout
  • داده ها را می پذیرد: step ، آرایه productFieldObjects

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

dataLayer.pushEvent("checkout",
    DataLayer.mapOf(
        "ecommerce", DataLayer.mapOf(
            "checkout", DataLayer.mapOf(
                "actionField", DataLayer.mapOf(
                    "step", 1,
                    "option", "Visa"),
                "products", DataLayer.listOf(
                    DataLayer.mapOf(
                        "name", "Triblend Android T-Shirt",
                        "id", "12345",
                        "price", "15.25",
                        "brand", "Google",
                        "category", "Apparel",
                        "variant", "Gray",
                        "quantity", 1))))));

2. اندازه گیری گزینه های پرداخت

  • اندازه گیری تجارت الکترونیک: checkout_option
  • داده ها را می پذیرد: step ، option

گزینه پرداخت در مواردی مفید است که قبلاً یک مرحله پرداخت را اندازه‌گیری کرده‌اید، اما می‌خواهید اطلاعات بیشتری در مورد همان مرحله پرداخت دریافت کنید. به عنوان مثال، روش ارسال توسط یک کاربر انتخاب شده است. برای اندازه گیری این، از عمل checkout_option به همراه فیلدهای step و option استفاده کنید.

dataLayer.pushEvent("checkoutOption",
    DataLayer.mapOf(
        "ecommerce", DataLayer.mapOf(
            "checkout_option", DataLayer.mapOf(
                "products", DataLayer.listOf(),     // checkout_option expects a list of products. The workaround is to provide an empty list.
                "actionField", DataLayer.mapOf(
                    "step", 1,
                    "option", "Express")))));

3. Checkout Funnel Configuration

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

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

اندازه گیری خریدها

  • اندازه گیری تجارت الکترونیک: purchase
  • داده ها را می پذیرد: id (شناسه تراکنش)، آرایه productFieldObjects

با استفاده از اقدام purchase ، جزئیات تراکنش خود را به لایه داده وارد کنید، همراه با event که یک تگ پیشرفته با قابلیت تجارت الکترونیک را فعال می کند. در این مثال، جزئیات تراکنش در زمان نمایش صفحه مشخص است:

// Send transaction data with a screenview if possible.
// Otherwise, use an event when the transaction data becomes available.
dataLayer.push("ecommerce",
    DataLayer.mapOf(
        "purchase", DataLayer.mapOf(
            "actionField", DataLayer.mapOf(
                "id", "T12345",                             // Transaction ID. Required for purchases and refunds.
                "affiliation", "Online Store",
                "revenue", "35.43",                         // Total transaction value (incl. tax and shipping)
                "tax", "4.90",
                "shipping", "5.99",
                "coupon", "SUMMER_SALE"),
            "products", DataLayer.listOf(                   // List of productFieldObjects.
                DataLayer.mapOf(
                    "name", "Triblend Android T-Shirt",     // Name or ID is required.
                    "id", "12345",
                    "price", "15.25",
                    "brand", "Google",
                    "category", "Apparel",
                    "variant", "Gray",
                    "quantity", 1,
                    "coupon", ""),                          // Optional fields may be omitted or set to empty string.
                DataLayer.mapOf(
                    "name", "Donut Friday Scented T-Shirt",
                    "id", "67890",
                    "price", "33.75",
                    "brand", "Google",
                    "category", "Apparel",
                    "variant", "Black",
                    "quantity", 1)))));

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

  • اندازه گیری تجارت الکترونیک: refund
  • داده ها را می پذیرد: id (شناسه تراکنش)، آرایه productFieldObjects

برای اندازه گیری بازپرداخت کامل تراکنش، یک refund actionFieldObject به همراه شناسه تراکنش تراکنش در حال بازپرداخت را فشار دهید:

// Refund an entire transaction by providing the transaction ID. This example
// assumes the details of the completed refund are available when the screen
// is displayed.
dataLayer.push("ecommerce",
    DataLayer.mapOf(
        "refund", DataLayer.mapOf(
            "products", DataLayer.listOf(),     // refund expects a list of products. The workaround is to provide an empty list.
            "actionField", DataLayer.mapOf(
                "id", "T12345"))));             // Transaction ID. Required for refunds.

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

// Measure a partial refund by providing an array of productFieldObjects and
// specifying the ID and quantity of each product being returned. This example
// assumes the partial refund details are known at the time the screen is
// displayed:
dataLayer.push("ecommerce",
    DataLayer.mapOf(
        "refund", DataLayer.mapOf(
            "products", DataLayer.listOf(
                DataLayer.mapOf(
                    "id", "P4567",
                    "quantity", 1),                 // Product ID & quantity. Required for partial refunds.
                DataLayer.mapOf(
                    "id", "P8901",
                    "quantity", 2)),
            "actionField", DataLayer.mapOf(
                "id", "T12345"))));                 // Transaction ID.

ترکیب برداشت ها و اقدامات

در مواردی که هم نمایش محصول و هم یک اقدام دارید، می‌توانید این را در یک ضربه ترکیب و اندازه‌گیری کنید.

مثال زیر نحوه اندازه‌گیری نمای جزئیات محصول با نمایش محصول از بخش محصولات مرتبط را نشان می‌دهد:

dataLayer.push("ecommerce",
    DataLayer.mapOf(
        "impressions", DataLayer.listOf(
            DataLayer.mapOf(
                "name", "Triblend Android T-Shirt",       // Name or ID is required.
                "id", "12345",
                "price", "15.25",
                "brand", "Google",
                "category", "Apparel",
                "variant", "Gray",
                "list", "Related Products",
                "position", 1),
            DataLayer.mapOf(
                "name", "Donut Friday Scented T-Shirt",
                "id", "67890",
                "price", "33.75",
                "brand", "Google",
                "category", "Apparel",
                "variant", "Black",
                "list", "Related Products",
                "position", 2)),
        "detail", DataLayer.mapOf(
            "actionField", DataLayer.mapOf(
                "list", "Apparel Gallery"),              // 'detail' actions have an optional list property.
            "products", DataLayer.listOf(
                DataLayer.mapOf(
                    "name", "Triblend Android T-Shirt",   // Name or ID is required.
                    "id", "12345",
                    "price", "15.25",
                    "brand", "Google",
                    "category", "Apparel",
                    "variant", "Gray")))));