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
- İşlemleri Ölçme
- Geri ödemeleri ölçme
- Ödeme Sürecini Ölçme
- Dahili Promosyonları Ölçme
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:
- Ödeme işleminin her adımını ölçmek için izleme kodu ekleyin.
- Mümkünse ö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ı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.

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