Geliştirilmiş E-ticaret İzleme

Bu belgede, Android için Google Analytics SDK v4 ile uygulama içi e-ticaretle ilgili işlemlerin ve gösterimlerin nasıl ölçüleceğine genel bir bakış sunulmaktadır.

Genel bakış

Geliştirilmiş e-ticaret, kullanıcının alışveriş deneyimi genelinde ürünlerle olan etkileşimlerinin ölçülmesini sağlar. Bu etkileşimler arasında ürün gösterimleri, ürün tıklamaları, ürün ayrıntılarını görüntüleme, alışveriş sepetine ürün ekleme, ödeme sürecini başlatma, işlemler ve geri ödemeler yer alır.

Uygulama

Geliştirilmiş e-ticaret ölçümü, ürünler, gösterimler ve promosyonlar için e-ticaret verilerini göndermek üzere HitBuilder sınıfını ve bu sınıfın yöntemlerini kullanmanızı gerektirir. E-ticaretle ilgili bilgileri oluşturmak için bir dizi Google Analytics e-ticaret sınıfı da sağlanır.

Geliştirilmiş e-ticaret ile şunları yapabilirsiniz:

E-Ticaret Etkinliklerini Ölçme

Tipik bir geliştirilmiş e-ticaret uygulaması, ürün gösterimlerini ve aşağıdaki işlemlerin herhangi birini ölçer:

  • Ürün seçmek.
  • Ürün ayrıntılarını görüntüleme.
  • Gösterim sayısı ve dahili tanıtım seçimi.
  • Alışveriş sepetine ürün ekleme veya sepetten ürün çıkarma.
  • Bir ürün için ödeme sürecini başlatma.
  • Satın alma işlemleri ve geri ödemeler.

Gösterimleri Ölçme

Bir ürün gösterimini ölçmek için bir Product nesnesi oluşturun ve addImpression yöntemini kullanarak bu nesneyi bir isabetle gönderin. Product öğesi bir name veya id [no] değerine sahip olmalıdır. Diğer tüm değerler isteğe bağlıdır ve ayarlanması gerekmez.

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 yöntemi ile ilgili ayrıntılar için Gelişmiş Yapılandırma bölümüne bakın.

İşlemleri Ölçme

İşlemler, ürün ayrıntılarını eklemek için Product nesnesiyle addProduct yöntemi ve gerçekleştirilmekte olan işlemi belirtmek için bir ProductAction nesnesiyle setProductAction yöntemi kullanılarak ölçülür.

Örneğin, aşağıdaki kod arama sonuçları listesinde görüntülenen bir ürünün seçimini ölçer:

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

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üyle ürün ayrıntıları görünümünün nasıl ölçüleceği gösterilmektedir:

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

İşlemleri Ölçme

Ürün ayrıntılarını eklemek için Product nesnesiyle addProduct yöntemini, bir satın alma işlemini belirtmek içinse ProductAction nesnesiyle setProductAction yöntemini kullanarak bir işlemi ölçün. Toplam gelir, vergi ve gönderim bedeli gibi işlem düzeyindeki ayrıntılar ProductAction nesnesinde sağlanır.

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

Para Birimi Belirtme

Varsayılan olarak, Google Analytics yönetimi web arayüzü üzerinden tüm işlemler ve öğeler için ortak, global bir para birimi yapılandırabilirsiniz.

Yerel para birimi ISO 4217 standardında belirtilmelidir. Desteklenen dönüşüm para birimlerinin tam listesi için Para Birimi Kodları Referansı belgesini okuyun.

Yerel para birimleri, currencyCode izleyici özelliği kullanılarak belirtilir. Örneğin, bu izleyici para birimi değerlerini Euro olarak gönderir:

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

Geri Ödemeleri Ölçme

Bir işlemin tamamı için geri ödeme yapmak istiyorsanız işlem kimliğini ve geri ödeme işlemi türünü belirtmek için ProductAction nesnesiyle setProductAction yöntemini kullanın:

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

Eşleşen bir işlem bulunmazsa geri ödeme işleme alınmaz.

Kısmi geri ödemeyi ölçmek amacıyla işlem kimliğini, ürün kimliklerini ve geri ödenecek ürün miktarını belirtmek için ProductAction nesnesiyle setProductAction yöntemini kullanın:

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

Geri Ödemeler için Etkileşim Dışı Etkinlikleri Kullanma

Geri ödeme verilerini bir etkinlik kullanarak göndermeniz gerekiyorsa ve bu etkinlik, normal şekilde ölçülen kullanıcı davranışının bir parçası değilse (ör. kullanıcı tarafından başlatılmıyorsa) bir etkileşim dışı etkinlik göndermeniz önerilir. Böylece belirli metriklerin etkinlikten etkilenmesi önlenmiş olur. Örneğin:

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

Ödeme Sürecini Ölçme

Ödeme sürecindeki her adımı ölçmek için:

  1. Ödeme işleminin her adımını ölçmek için izleme kodu ekleyin.
  2. Varsa, ödeme seçeneklerini ölçmek için izleme kodu ekleyin.
  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ı ayarlayın.

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

Google Analytics'e veri göndermek için, ödeme işleminizdeki her adıma karşılık gelen izleme kodunu uygulamanız gerekir.

Step Alan

Ölçtüğünüz her ödeme adımı için bir step değeri eklemeniz gerekir. Bu değer, ödeme işlemlerinizi E-ticaret Ayarları'nda her adım için yapılandırdığınız etiketlerle eşlemek amacıyla kullanılır.

Option Alan

Adımın ölçülmesi sırasında belirtilen ödeme adımıyla ilgili ek bilginiz varsa bu bilgiyi yakalamak için option alanını checkout işlemiyle ayarlayabilirsiniz. Örneğin, kullanıcı için varsayılan ödeme türü (ör. "Visa").

Bir Ödeme Adımını Ölçme

Bir ödeme adımını ölçmek istiyorsanız ürün ayrıntılarını eklemek için Product nesnesiyle addProduct yöntemini ve ödeme işlemini belirtmek için ProductAction nesnesiyle setProductAction yöntemini kullanın. Mümkünse ödeme sırasında step ve option belirleyebilirsiniz.

Aşağıdaki örnekte, bir ödeme işleminin ilk adımının tek bir ürünle nasıl ölçüleceği ve ödeme türüyle ilgili bazı ek bilgiler gösterilmektedir:

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

Ödeme seçenekleri, ödeme işleminin durumuyla ilgili ek bilgileri ölçmenize olanak tanır. Bu özellik, bir ödeme adımını ölçtüğünüz ancak kullanıcı tarafından belirlenen bir seçenek ayarlandıktan sonra aynı ödeme adımıyla ilgili ek bilgilerin alınabildiği durumlarda faydalıdır. Örneğin, kullanıcı bir gönderim yöntemi seçer.

Bir ödeme seçeneğini ölçmek amacıyla, ödeme seçeneğini belirtmek ve adım numarası ile seçenek açıklamasını eklemek için setAction öğesini kullanın.

Kullanıcı ödeme işleminin sonraki adımına geçmek için bir işlem yaptıktan sonra bu işlemi ölçmek isteyebilirsiniz. Örneğin:

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

Ö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ü (profil) 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.

E-ticaret Ayarları'nı tıklayın. E-ticaret etkinleştirildi ve 4 ödeme dönüşüm hunisi adımı etiketi eklendi: 1. Yorum Sepeti, 2. Ödeme Bilgilerini Toplama, 3. Satın Alma Ayrıntılarını Onaylayın, 4. Fatura
Şekil 1: E-ticaret Kurulumu - Ödeme Dönüşüm Hunisi

Dahili Tanıtımları Ölçme

Geliştirilmiş e-ticaret, bir indirimi tanıtmak için görüntülenen banner'lar gibi dahili tanıtımların gösterimlerini ve tıklamalarını ölçme desteği içerir.

Promosyon Gösterim Sayısı

Dahili tanıtım gösterimleri genellikle promosyonun ayrıntılarını belirtmek için Promotion nesnesiyle addPromotion yöntemi kullanılarak ilk ekran görüntülenmeyle ölçülür. Örneğin:

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

Promosyon Tıklama Sayısı

Dahili tanıtım tıklamaları, Promotion nesnesiyle addPromotion yöntemi ve sırasıyla bir tanıtım tıklaması veya görüntüleme belirtmek için setPromotionAction yöntemi Promotion.ACTION_CLICK veya Promotion.ACTION_VIEW olarak ayarlanarak ölçülebilir. Örneğin:

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