Android v4 - Geliştirilmiş E-ticaret

Bu kılavuzda, Android için Google Etiket Yöneticisi SDK'sı kullanılarak Universal Analytics Geliştirilmiş E-ticaret özelliklerinin nasıl uygulanacağı açıklanmaktadır.

Genel bakış

Google Analytics Geliştirilmiş E-ticaret; ürün gösterimi, tanıtım ve satış verilerinin tüm Google Analytics ekran görüntülenmeleriniz ve etkinliklerinizle birlikte gönderilmesine olanak tanır.

Başlamadan önce

Uygulamanızı planlamanıza yardımcı olması için Google Analytics Geliştirilmiş E-ticaret Geliştirici Kılavuzu'nun (Web) Geliştirilmiş E-ticaret Veri Türleri ve İşlemleri bölümünü incelemenizi öneririz. Bu kılavuz, ölçmek istediğiniz e-ticaret etkileşimlerinin her biri için hangi alanların zorunlu ve isteğe bağlı olduğunu anlamanıza yardımcı olacaktır.

Uygulama

Aşağıdaki bölümlerde, aşağıdaki geliştirilmiş e-ticaret etkinliklerini ölçmek için veri katmanının nasıl kullanılacağı gösterilmektedir:

Ürün Gösterimlerini Ölçme

  • E-ticaret Ölçümü: impressions
  • Veriyi kabul eder: impressionFieldObjects dizisi

impression işlemini ve en az bir impressionFieldObjects özelliğini kullanarak ürün gösterimlerini ölçün. Aşağıdaki örnekte, ekran gösterildiği sırada görüntülenen ürünlerle ilgili ayrıntıların bilindiği varsayılmaktadır:

// 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))));

Ürün Tıklamalarını/Seçimlerini Ölçme

  • E-ticaret Ölçümü: click
  • Şu verileri kabul eder: list, productFieldObjects dizisi

Seçilen ürünü temsil eden bir productFieldObject ile birlikte veri katmanına bir click işlemi aktararak ürün seçimlerini ölçün:

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"))))));

Ürün Ayrıntılarının Görüntülenmelerini Ölçme

  • E-ticaret Ölçümü: detail
  • Şu verileri kabul eder: list, productFieldObjects dizisi

Görüntülenen ürünleri temsil eden bir veya daha fazla productFieldObjects ile birlikte, veri katmanına bir detail işlemi göndererek ürün ayrıntıları görünümünü ölçün:

// 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")))));

Alışveriş Sepetine Yapılan Eklemeleri veya Kaldırmaları Ölçme

  • E-ticaret Ölçümü: add, remove
  • Şu verileri kabul eder: list, productFieldObjects dizisi

Bir add veya remove actionFieldObject ve bir productFieldObjects listesi kullanarak alışveriş sepetine ekleme ya da kaldırma işlemlerini ölçün:

Alışveriş Sepetine Ürün Ekleme

// 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))))));

Alışveriş Sepetinden Ürün Kaldırma

// 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))))));

Promosyonları Ölçme

Dahili uygulama tanıtımlarındaki gösterimleri ve seçimleri (ör. belirli bir ürün alt kümesindeki indirimin reklamını yapmak için uygulamada görüntülenen banner'lar veya ücretsiz kargo teklifleri) ölçebilirsiniz.

Tanıtım Gösterimlerini Ölçme

  • E-ticaret Ölçümü: promoView
  • Veriyi kabul eder: promoFieldObjects dizisi

Bir promosyon gösterimini ölçmek için e-ticaret veri katmanındaki promoView anahtarını, ekranda kullanıcılara gösterilen promosyonları açıklayan bir promoFieldObject değerine ayarlayın:

// 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")))));

Tanıtım Tıklamalarını/Seçimlerini Ölçme

Bir sıra yükseltme seçimini ölçmek için promoClick işlemini, seçilen promosyonu açıklayan promoFieldObject içeren bir diziyle veri katmanına aktarın:

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"))))));

Ödeme İşlemini Ölçme

Ödeme sürecindeki her adımı ölçmek için şunları yapmanız gerekir:

  1. checkout işlemini kullanarak ödeme işleminin her adımını ölçün.
  2. Mümkünse ödeme seçeneklerini, checkout_option işlemini kullanarak ölçün.
  3. İsteğe bağlı olarak, web arayüzünün Yönetici bölümünde E-ticaret Ayarları'nı yapılandırarak ödeme dönüşüm hunisi raporu için kullanıcı dostu adım adları belirleyin.

1. Ödeme Adımlarını Ölçme

  • E-ticaret Ölçümü: checkout
  • Şu verileri kabul eder: step, productFieldObjects dizisi

Ödeme düğmesinin yanı sıra kullanıcıların gönderim ve ödeme bilgilerini girdiği bir veya daha fazla ödeme ekranı gibi ödeme sürecini ölçmek için checkout işlemini ve step alanını kullanarak ödeme sürecinin hangi aşamasının ölçüldüğünü belirtin. option alanını, ödeme işlemi hakkında kullanıcı tarafından seçilen ödeme türü gibi ek veriler sağlamak için de kullanabilirsiniz.

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. Ödeme Seçeneklerini Ölçme

  • E-ticaret Ölçümü: checkout_option
  • Veri Kabul Edilir: step, option

Ödeme seçeneği, daha önce bir ödeme adımını ölçtüğünüz ancak aynı ödeme adımıyla ilgili ek bilgiler toplamak istediğiniz durumlarda kullanışlıdır. Örneğin, bir kullanıcı tarafından seçilen gönderim yöntemi. Bunu ölçmek için step ve option alanlarıyla birlikte checkout_option işlemini kullanın.

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. Ödeme Dönüşüm Hunisi Yapılandırması

İsteğe bağlı olarak, ödeme sürecinizdeki her adıma raporlarda kullanılacak açıklayıcı bir ad verilebilir. Bu adları yapılandırmak için Google Analytics Web arayüzünün Yönetici bölümünü ziyaret edin, görünümü (profili) seçin ve E-ticaret Ayarları'nı tıklayın. İzlemek istediğiniz her ödeme adımını etiketlemek için e-ticaret kurulum talimatlarını uygulayın.

Google Analytics yönetici arayüzünde e-ticaret kurulumu. Ödeme dönüşüm hunisi, dört adımdan oluşur: 1. Yorum Sepeti, 2. Ödeme Bilgilerini Toplama, 3. Satın Alma Ayrıntılarını Onaylayın, 4. Makbuz.
Şekil1: E-ticaret kurulumu, ödeme dönüşüm hunisi.

Satın Almaları Ölçme

  • E-ticaret Ölçümü: purchase
  • Şu verileri kabul eder: id (İşlem kimliği), productFieldObjects dizisi

purchase işlemini ve geliştirilmiş e-ticaretin etkin olduğu bir etiketi tetikleyecek event işlemini kullanarak işlem ayrıntılarınızı veri katmanına aktarın. Bu örnekte, işlem ayrıntıları ekran görüntülendiği anda bilinmektedir:

// 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)))));

Geri Ödemeleri Ölçme

  • E-ticaret Ölçümü: refund
  • Şu verileri kabul eder: id (İşlem kimliği), productFieldObjects dizisi

Bir işlemin eksiksiz geri ödemesini ölçmek için geri ödeme yapılan işlemin işlem kimliğiyle birlikte refund actionFieldObject aktarın:

// 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.

Kısmi geri ödemeyi ölçmek için, geri ödeme yapılan ürün kimlikleri ve miktarlar dahil olmak üzere productFieldObjects listesini ekleyin:

// 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.

Gösterimleri ve İşlemleri Birleştirme

Hem ürün gösterimlerinizin hem de bir işlemin olduğu durumlarda, bunu tek bir isabette birleştirip ölçmek mümkündür.

Aşağıdaki örnekte, ilgili ürünler bölümünden ürün gösterimleri ile ürün ayrıntıları görünümünün nasıl ölçüleceği gösterilmektedir:

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")))));