Bu dokümanda Android SDK'nın eski bir sürümü açıklanmaktadır. Analytics'te yeniyseniz en son SDK'yı kullanın. Daha fazla bilgi

Geliştirilmiş E-ticaret İzleme

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

Genel bakış

Geliştirilmiş e-ticaret, kullanıcının alışveriş deneyimi boyunca gerçekleşen ürün etkileşimleri, ürün tıklamaları, ürün ayrıntılarını görüntüleme, alışveriş sepetine ürün ekleme, ödeme sürecini, işlemleri ve geri ödemeleri başlatma gibi kullanıcı etkileşimleri ile ilgili ürün ölçümlerini ölçmeye olanak tanır.

Uygulama

Geliştirilmiş e-ticaret ölçümü; ürünler, gösterimler ve tanıtımlar için e-ticaret verileri göndermek amacıyla HitBuilder sınıfını ve bu yöntemlerin grubunu kullanmanızı gerektirir. E-ticaretle ilgili bilgileri oluşturmak için bir dizi Google Analytics e-ticaret sınıfı da sunulur.

Geliştirilmiş e-ticaret sayesinde:

E-ticaret Etkinliklerini Ölçme

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

  • Ürün seçme.
  • Ürün ayrıntıları görüntüleniyor.
  • Gösterim sayısı ve dahili tanıtım seçimi.
  • Alışveriş sepetine ürün ekleme / alışveriş sepetinden ürün çıkarma.
  • Bir ürün için ödeme işlemi başlatma.
  • Satın alma ve geri ödeme işlemleri.

Gösterimleri Ölçme

Bir ürün gösterimini ölçmek için Product nesnesi oluşturun ve addImpression yöntemini kullanarak bunu bir isabetle gönderin. Product öğesinin adı veya kimlik değeri olmalıdır. Diğer tüm değerler isteğe bağlıdır ve belirlenmeleri 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öntemiyle ilgili ayrıntılı bilgi için Gelişmiş Yapılandırma konusuna bakın.

İşlemleri Ölçme

İşlemler, ürün ayrıntılarını eklemek için bir Product nesnesiyle addProduct yöntemi ve gerçekleştirilen 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österiminizin hem de işleminizin olduğu durumlarda bunu tek bir isabet altında birleştirip ölçebilirsiniz.

Aşağıdaki örnekte, ilgili ürün bölümü ile ü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ı eklemek için Product nesnesiyle addProduct yöntemini ve satın alma işlemi belirtmek için bir 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ü aracılığıyla tüm işlemler ve öğeler için ortak ve küresel 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ı dokümanını 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 isterseniz işlem kimliğini ve geri ödeme işlem 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 koyulmaz.

Kısmi geri ödemenin ölçülebilmesi için, geri ödeme yapılacak ürün kimliğini, ürün kimliklerini ve ürün miktarlarını belirten 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 İçin Etkileşim Dışı Etkinlikleri Kullanma

Geri ödeme verilerini bir etkinlik kullanarak göndermeniz gerekiyorsa ve etkinlik normal olarak ölçülen kullanıcı davranışının (kullanıcı tarafından başlatılmayan) bir parçası değilse etkileşim dışı bir etkinlik göndermeniz önerilir. Bu, belirli metriklerin etkinlikten etkilenmesini engelleyecektir. Ö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

Bir ö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. Mümkünse ö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ını ayarlayın.

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

Ödeme sürecinizdeki her adımda, Google Analytics'e veri göndermek için karşılık gelen izleme kodunu uygulamanız gerekir.

Step Alanı

Ölçdüğü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 bir adım için yapılandırdığınız etiketlerle eşlemek için kullanılır.

Option Alanı

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

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

Ödeme adımını ölçmek istiyorsanız Product yöntemini kullanarak addProduct yöntemini ve ödeme işlemini belirtmek için ProductAction nesnesini kullanarak setProductAction yöntemini kullanın. Geçerliyse ödeme sırasında bir step ve option politikası da belirleyebilirsiniz.

Aşağıdaki örnekte tek bir ürünle birlikte ödeme sürecinin ilk adımının 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, bir ödeme adımını ölçtüğünüzde kullanışlı ancak kullanıcı tarafından belirlenen bir seçenek belirlendikten sonra aynı ödeme adımıyla ilgili ek bilginin bulunduğu durumlarda yararlıdır. Örneğin, kullanıcı bir gönderim yöntemi seçer.

Bir ödeme seçeneğini ölçmek için setAction kullanın. Burada bir ödeme seçeneği belirtilir, adım numarası ve seçenek açıklaması belirtilir.

Kullanıcı ödeme işlemi sırasında sonraki adıma geçmek için bir işlem gerçekleştirdikten sonra muhtemelen bu işlemi ölçmek istersiniz. Ö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.

Google Analytics web arayüzünün Yönetici bölümündeki
     E-ticaret Ayarları. E-ticaret etkin ve dönüşüm hunisine yönelik 4 adım etiketi eklendi: 1. Alışveriş Sepetini İnceleme, 2. Ödeme bilgilerini toplama, 3. Satın Alma Ayrıntılarını Doğrulayın, 4. Fatura
Şekil 1: E-ticaret Kurulumu - Ödeme Dönüşüm Hunisi

Dahili Tanıtımları Ölçme

Geliştirilmiş e-ticaret, bir tanıtımın tanıtımı için görüntülenen banner'lar gibi dahili tanıtımların gösterim ve tıklama sayılarının ölçülmesini destekler.

Tanıtımın Gösterim Sayısı

Dahili tanıtım gösterimleri, genellikle tanıtımın ayrıntılarını belirtmek için bir Promotion nesnesine sahip 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ımlara yapılan tıklamalar, bir addPromotion nesnesinin Promotion yöntemi kullanılarak ve setPromotionAction yönteminin sırasıyla bir tanıtım tıklaması veya görüntülemesini belirtmek için Promotion.ACTION_CLICK veya Promotion.ACTION_VIEW değerine ayarlanmış olarak ö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());