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
- İşlemleri ölçme
- Geri Ödemeleri Ölçme
- Ödeme Sürecini Ölçme
- Dahili Tanıtımları Ölçme
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:
- Ödeme işleminin her adımını ölçmek için izleme kodu ekleyin.
- Varsa, ödeme seçeneklerini ölçmek için izleme kodu ekleyin.
- İ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.
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());