Geliştirilmiş e-ticaret, Universal Analytics mülklerinde bulunan ve kullanıcıların alışveriş deneyimlerinde ürünlerle kurulan etkileşimlerin ölçülmesini sağlayan bir Google Analytics özelliğidir. Ürün gösterimleri, ürün tıklamaları, ürün ayrıntılarının görüntülenmesi, alışveriş sepetine ürün ekleme, ödeme işlemi başlatma, işlem yapma ve geri ödeme işlemleri bu kapsamda yer alabilir.
Hem Google Etiket Yöneticisi hem de mobil uygulamalar için Google Analytics'in yeni nesil sürümleri, Google'ın mobil uygulama platformu Firebase ile birlikte çalışır. Firebase SDK'sıyla uygulamaları ölçerken, uygulama içi kodla daha da özelleştirilebilen ve desteklenebilen otomatik olarak oluşturulmuş bir dizi mobil uygulama raporuna erişebilirsiniz. Bu raporlar, iTunes ve Google Play'de App Store tarafından işlenen uygulama içi satın alma işlemleriyle ilgili verileri otomatik olarak içerir. E-ticaret uygulamaları için önerilen etkinlikler uygulanarak e-ticaretle ilgili ek raporlar oluşturulabilir. Alışveriş davranışıyla ilgili ayrıntılı raporlar (gelişmiş e-ticaret) şu anda yalnızca Universal Analytics mülklerinde kullanılabilmektedir.
Bu belgede, Universal Analytics mülklerine geliştirilmiş e-ticaret verileri göndermek amacıyla Firebase için iOS SDK'sı ile birlikte Etiket Yöneticisi'nin nasıl kullanılacağı açıklanmaktadır. İleride ek e-ticaret raporlarına yönelik aşamayı ayarlamak için aynı etkinlik ve parametre söz dizimi kullanılmalıdır.
İlk adımlar
Başlamadan önce, uygulamanız için aşağıdaki ön koşulları ayarlayın:
- Uygulamanıza Firebase ve Google Etiket Yöneticisi'ni yükleyip yapılandırın. iOS için Firebase SDK'sının 11 veya sonraki bir sürümünü kullandığınızdan emin olun.
- Etiket Yöneticisi kapsayıcınızda "promosyonlar" adlı kullanıcı tanımlı bir değişkeni aşağıdaki ayarlarla yapılandırın:
- Etkinlik Türü: Özel Parametre
- Etkinlik Parametresi Anahtarı: tanıtımlar
- Varsayılan Değer: tanımlanmamış
Uygulama
Aşağıdaki bölümlerde, geliştirilmiş e-ticaret etkinliklerini ölçmek için gerekli olan parametrelerle etkinliklerin nasıl günlüğe kaydedileceği gösterilmiştir:
- Ürün gösterimleri
- Ürün tıklamaları/seçimleri
- Ürün ayrıntısı görüntüleme sayısı
- Alışveriş sepetine yapılan eklemeler
- Alışveriş sepetinden kaldırma işlemleri
- Promosyon gösterimleri
- Promosyon tıklamaları/seçimleri
- Ödeme işlemi
- Satın alma işlemleri
- Geri ödemeler
Ürün Gösterimleri
kFIRParameterItemID
parametresi ve ilgili alanlarla tanımlanan bir veya daha fazla öğe (ör. ürünler) içeren bir etkinlik kaydederek ürün gösterimlerini ölçün.
// Define product with relevant parameters.
NSDictionary *product1 = @{
kFIRParameterItemID : @"sku1234", // ITEM_ID or ITEM_NAME is required.
kFIRParameterItemName : @"Android Jogger Sweatpants",
kFIRParameterItemCategory : @"Apparel/Men/Pants",
kFIRParameterItemVariant : @"Blue",
kFIRParameterItemBrand : @"Google",
kFIRParameterPrice : @39.99,
kFIRParameterCurrency : @"USD", // Item-level currency unused today.
kFIRParameterIndex : @1 // Position of the item in the list.
};
NSDictionary *product2 = @{
kFIRParameterItemID : @"sku5678", // ITEM_ID or ITEM_NAME is required.
kFIRParameterItemName : @"Android Capri",
kFIRParameterItemCategory : @"Apparel/Women/Pants",
kFIRParameterItemVariant : @"Black",
kFIRParameterItemBrand : @"Google",
kFIRParameterPrice : @35.99,
kFIRParameterCurrency : @"USD", // Item-level currency unused today.
kFIRParameterIndex : @2 // Position of the item in the list.
};
// Prepare ecommerce dictionary.
NSArray *items = @[product1, product2];
NSDictionary *ecommerce = @{
@"items" : items,
kFIRParameterItemList : @"Search Results" // List name.
};
// Log select_content event with ecommerce dictionary.
[FIRAnalytics logEventWithName:kFIREventViewSearchResults
parameters:ecommerce];
Bu örnek için etiket yapılandırmasını inceleyin:
- Etiket türü: Universal Analytics
- İzleme Türü: Ekran Görüntüleme
- Ayarlanacak Alanlar: (Alan Adı) screenName (değer, ör.) Arama Sonuçları Ekranı
- Geliştirilmiş E-ticaret Özelliklerini Etkinleştir: True
- Verileri Firebase Etkinliğinden oku
- Tetikleyici, ör. (Özel > Bazı Etkinlikler) Etkinlik Adı view_search_results değerine eşittir
Ürün tıklamaları/seçimleri
Alakalı alanlarla tanımlanan bir öğeye (ör. ürün) sahip bir kFIREventSelectContent
etkinliği kaydederek ürün tıklamalarını ölçün:
// Define product with relevant parameters.
NSDictionary *product1 = @{
kFIRParameterItemID : @"sku1234", // ITEM_ID or ITEM_NAME is required.
kFIRParameterItemName : @"Android Jogger Sweatpants",
kFIRParameterItemCategory : @"Apparel/Men/Pants",
kFIRParameterItemVariant : @"Blue",
kFIRParameterItemBrand : @"Google",
kFIRParameterPrice : @39.99,
kFIRParameterCurrency : @"USD", // Item-level currency unused today.
kFIRParameterIndex : @1 // Position of the item in the list.
};
// Prepare ecommerce dictionary.
NSArray *items = @[product1];
NSDictionary *ecommerce = @{
@"items" : items,
kFIRParameterItemList : @"Search Results" // List name.
};
// Log select_content event with ecommerce dictionary.
[FIRAnalytics logEventWithName:kFIREventSelectContent
parameters:ecommerce];
Bu örnek için etiket yapılandırmasını inceleyin:
- Etiket türü: Universal Analytics
- İzleme Türü: Etkinlik
- Etkinlik Kategorisi, ör. E-ticaret
- Etkinlik İşlemi, ör. Ürün Tıklaması
- Geliştirilmiş E-ticaret Özelliklerini Etkinleştir: True
- Verileri Firebase Etkinliğinden oku
- Tetikleyici, ör. (Özel > Bazı Etkinlikler) Etkinlik Adı şuna eşittir: select_content VE {{promotions}} undefined
Ürün ayrıntısı görüntüleme sayısı
Alakalı alanlarla tanımlanan bir öğeye (ör. ürün) sahip bir kFIREventViewItem
etkinliği kaydederek ürün ayrıntıları görüntüleme sayısını ölçün:
// Define product with relevant parameters.
NSDictionary *product1 = @{
kFIRParameterItemID : @"sku1234", // ITEM_ID or ITEM_NAME is required.
kFIRParameterItemName : @"Android Jogger Sweatpants",
kFIRParameterItemCategory : @"Apparel/Men/Pants",
kFIRParameterItemVariant : @"Blue",
kFIRParameterItemBrand : @"Google",
kFIRParameterPrice : @39.99,
kFIRParameterCurrency : @"USD", // Item-level currency unused today.
};
// Prepare ecommerce dictionary.
NSArray *items = @[product1];
NSDictionary *ecommerce = @{
@"items" : items,
kFIRParameterItemList : @"Search Results" // List name.
};
// Log view_item event with ecommerce dictionary.
[FIRAnalytics logEventWithName:kFIREventViewItem
parameters:ecommerce];
Bu örnek için etiket yapılandırmasını inceleyin:
- Etiket türü: Universal Analytics
- İzleme Türü: Ekran Görüntüleme
- Ayarlanacak Alanlar: (Alan Adı) screenName (değer, ör.) Ürün Ayrıntıları Ekranı
- Geliştirilmiş E-ticaret Özelliklerini Etkinleştir: True
- Verileri Firebase Etkinliğinden oku
- Tetikleyici, ör. (Özel > Bazı Etkinlikler) Etkinlik Adı şuna eşittir: view_item VE
- {{promosyonlar}} tanımlanmamış anlamına gelir
Alışveriş sepetine ekleme işlemleri
Alışveriş sepetine eklenen bir ürünü ölçmek için
ilgili alanlarda tanımlanan bir öğeye (ör. ürün) sahip
kFIREventAddToCart
etkinliği kaydedin:
/// Define product with relevant parameters.
NSDictionary *product1 = @{
kFIRParameterItemID : @"sku1234", // ITEM_ID or ITEM_NAME is required.
kFIRParameterItemName : @"Android Jogger Sweatpants",
kFIRParameterItemCategory : @"Apparel/Men/Pants",
kFIRParameterItemVariant : @"Blue",
kFIRParameterItemBrand : @"Google",
kFIRParameterPrice : @39.99,
kFIRParameterCurrency : @"USD", // Item-level currency unused today.
kFIRParameterQuantity : @1
};
// Prepare ecommerce dictionary.
NSArray *items = @[product1];
NSDictionary *ecommerce = @{
@"items" : items
};
// Log add_to_cart event with ecommerce dictionary.
[FIRAnalytics logEventWithName:kFIREventAddToCart
parameters:ecommerce];
Bu örnek için etiket yapılandırmasını inceleyin:
- Etiket türü: Universal Analytics
- İzleme Türü: Etkinlik
- Etkinlik Kategorisi, ör. E-ticaret
- Etkinlik İşlemi, ör. Sepete Ekle
- Geliştirilmiş E-ticaret Özelliklerini Etkinleştir: True
- Verileri Firebase Etkinliğinden oku
- Tetikleyici, ör. (Özel > Bazı Etkinlikler) Etkinlik adı add_to_cart
Alışveriş sepetinden kaldırma işlemleri
Alakalı alanlarla tanımlanan bir öğeye (ör. ürün) sahip bir kFIREventRemoveFromCart
etkinliği kaydederek alışveriş sepetinden kaldırılan bir ürünü ölçün:
// Define product with relevant parameters.
NSDictionary *product1 = @{
kFIRParameterItemID : @"sku1234", // ITEM_ID or ITEM_NAME is required.
kFIRParameterItemName : @"Android Jogger Sweatpants",
kFIRParameterItemCategory : @"Apparel/Men/Pants",
kFIRParameterItemVariant : @"Blue",
kFIRParameterItemBrand : @"Google",
kFIRParameterPrice : @39.99,
kFIRParameterCurrency : @"USD", // Item-level currency unused today.
kFIRParameterQuantity : @1
};
// Prepare ecommerce dictionary.
NSArray *items = @[product1];
NSDictionary *ecommerce = @{
@"items" : items
};
// Log remove_from_cart event with ecommerce dictionary.
[FIRAnalytics logEventWithName:kFIREventRemoveFromCart
parameters:ecommerce];
Bu örnek için etiket yapılandırmasını inceleyin:
- Etiket türü: Universal Analytics
- İzleme Türü: Etkinlik
- Etkinlik Kategorisi, ör. E-ticaret
- Etkinlik İşlemi, ör. Sepetten Kaldır
- Geliştirilmiş E-ticaret Özelliklerini Etkinleştir: True
- Verileri Firebase Etkinliğinden oku
- Tetikleyici, ör. (Özel > Bazı Etkinlikler) Etkinlik Adı remove_from_cart
Tanıtımın gösterim sayısı
Alakalı alanlarla tanımlanan bir promosyon öğesinin yer aldığı bir kFIREventViewItem
etkinliği kaydederek promosyon gösterimlerini ölçün.
/// Define promotion with relevant parameters.
NSDictionary *promotion = @{
kFIRParameterItemID : @"PROMO_1234", // promotion ID; either ITEM_ID or ITEM_NAME is.
kFIRParameterItemName : @"Summer Sale", // promotion name.
kFIRParameterCreativeName : @"summer_banner2",
kFIRParameterCreativeSlot : @"banner_slot1"
};
// Prepare ecommerce dictionary.
NSArray *promotions = @[promotion];
NSDictionary *ecommerce = @{
@"promotions" : promotions
};
// Log view_item, view_item_list, or view_search_results
// event with ecommerce bundle.
[FIRAnalytics logEventWithName:kFIREventViewItem
parameters:ecommerce];
Bu örnek için etiket yapılandırmasını inceleyin:
- Etiket türü: Universal Analytics
- İzleme Türü: Etkinlik
- Etkinlik Kategorisi, ör. Dahili Promosyon
- Etkinlik İşlemi, ör. Gösterim
- Etkileşim Dışı İsabet: Doğru
- Geliştirilmiş E-ticaret Özelliklerini Etkinleştir: True
- Verileri Firebase Etkinliğinden oku
- Tetikleyici, ör. (Özel > Bazı Etkinlikler) Etkinlik Adı şuna eşittir: view_item VE
- {{promosyonlar}} "tanımlanmamış" değerine eşit değildir
Tanıtım tıklamaları/seçimleri
Alakalı alanlarla tanımlanan bir promosyonla bir kFIREventSelectContent
etkinliği kaydederek promosyon tıklamalarını ölçün:
// Define promotion with relevant parameters.
NSDictionary *promotion = @{
kFIRParameterItemID : @"PROMO_1234", // promotion ID; either ITEM_ID or ITEM_NAME is required.
kFIRParameterItemName : @"Summer Sale", // promotion name.
kFIRParameterCreativeName : @"summer_banner2",
kFIRParameterCreativeSlot : @"banner_slot1"
};
// Prepare ecommerce dictionary.
NSArray *promotions = @[promotion];
// Set properties for the event to be shown in the Google Analytics (Firebase) reports.
// These properties will not impact the Universal Analytics reporting.
NSDictionary *ecommerce = @{
kFIRParameterItemID : @"PROMO_1234",
kFIRParameterContentType : @"Internal Promotions",
@"promotions" : promotions
};
// Log select_content, view_item_list, or view_search_results event with ecommerce bundle.
[FIRAnalytics logEventWithName:kFIREventSelectContent
parameters:ecommerce];
Bu örnek için etiket yapılandırmasını inceleyin:
- Etiket türü: Universal Analytics
- İzleme Türü: Etkinlik
- Etkinlik Kategorisi, ör. Dahili Promosyon
- Etkinlik İşlemi, ör. : Tıklama
- Geliştirilmiş E-ticaret Özelliklerini Etkinleştir: True
- Verileri Firebase Etkinliğinden oku
- Tetikleyici, ör. (Özel > Bazı Etkinlikler) Etkinlik Adı seç_içerik VE {{promosyonlar}} eşdeğer değildir
Ödeme işlemi
Ödeme başlatma
Alakalı alanlarla tanımlanan bir veya daha fazla öğeyi (ürünleri) içeren bir kFIREventBeginCheckout
etkinliği kaydederek ödeme işleminin ilk adımını ölçün:
// Define products with relevant parameters.
NSDictionary *product1 = @{
kFIRParameterItemID : @"sku1234", // ITEM_ID or ITEM_NAME is required.
kFIRParameterItemName : @"Android Jogger Sweatpants",
kFIRParameterItemCategory : @"Apparel/Men/Pants",
kFIRParameterItemVariant : @"Blue",
kFIRParameterItemBrand : @"Google",
kFIRParameterPrice : @39.99,
kFIRParameterCurrency : @"USD", // Item-level currency unused today.
kFIRParameterQuantity : @1
};
// Prepare ecommerce dictionary.
NSArray *items = @[product1];
// Set checkout step and optional checkout option.
NSDictionary *ecommerce = @{
@"items" : items,
kFIRParameterCheckoutStep : @1, // Optional for first step.
kFIRParameterCheckoutOption : @"Visa" // Optional.
};
// Log BEGIN_CHECKOUT event with ecommerce dictionary.
[FIRAnalytics logEventWithName:kFIREventBeginCheckout
parameters:ecommerce];
Bu örnek için etiket yapılandırmasını inceleyin:
- Etiket türü: Universal Analytics
- İzleme Türü: Ekran Görüntüleme
- Ayarlanacak Alanlar: (Alan Adı) screenName (değer, ör.) Sepet Ekranı
- Geliştirilmiş E-ticaret Özelliklerini Etkinleştir: True
- Verileri Firebase Etkinliğinden oku
- Tetikleyici, ör. (Özel > Bazı Etkinlikler) Etkinlik Adı start_checkout değerine eşittir
Ödeme seçenekleri
Ödeme seçenekleri, ödeme sürecinin durumuyla ilgili ek bilgileri ölçmenize olanak tanır. Ödeme seçeneklerini bir ödeme adımı etkinliğinin parçası olarak (yukarıda gösterildiği gibi) veya kullanıcı belirli bir ödeme adımına ait etkinlik oluşturulduktan sonra bir seçenek belirledikten sonra ölçebilirsiniz.
İlgili kFIRParameterCheckoutStep
ve kFIRParameterCheckoutOption
parametreleriyle bir kFIREventCheckoutProgress
etkinliği kaydederek, ödeme adımından sonra ödeme seçeneklerini ölçün:
// Define products with relevant parameters.
NSDictionary *product1 = @{
kFIRParameterItemID : @"sku1234", // ITEM_ID or ITEM_NAME is required.
kFIRParameterItemName : @"Android Jogger Sweatpants",
kFIRParameterItemCategory : @"Apparel/Men/Pants",
kFIRParameterItemVariant : @"Blue",
kFIRParameterItemBrand : @"Google",
kFIRParameterPrice : @39.99,
kFIRParameterCurrency : @"USD", // Item-level currency unused today.
kFIRParameterQuantity : @1
};
// Prepare ecommerce dictionary.
NSArray *items = @[product1];
// Set checkout step and optional checkout option.
NSDictionary *ecommerce = @{
@"items" : items,
kFIRParameterCheckoutStep : @2, // Optional for first step.
kFIRParameterCheckoutOption : @"Visa" // Optional.
};
// Log CHECKOUT_PROGRESS event with ecommerce dictionary.
[FIRAnalytics logEventWithName:kFIREventCheckoutProgress
parameters:ecommerce];
Bu örnek için etiket yapılandırmasını inceleyin:
- g Türü: Universal Analytics
- ack Tür: Etkinlik
- ent Kategorisi, ör.: E-ticaret
- ent Action, ör. : Ödeme Seçeneği Oluştur
- Geliştirilmiş E-ticaret Özellikleri mümkün: True
- Firebase Etkinliği reklam verileri
- Tetikleyici, ör. (Özel > Bazı Etkinlikler) Etkinlik Adı set_checkout_option değerine eşittir
Satın alma işlemleri
Alakalı alanlarla tanımlanan bir veya daha fazla öğeyi (ör. ürünler) içeren bir kFIREventEcommercePurchase
etkinliği kaydederek satın alma işlemlerini ölçün:
// Define products with relevant parameters.
NSDictionary *product1 = @{
kFIRParameterItemID : @"sku1234", // ITEM_ID or ITEM_NAME is required.
kFIRParameterItemName : @"Android Jogger Sweatpants",
kFIRParameterItemCategory : @"Apparel/Men/Pants",
kFIRParameterItemVariant : @"Blue",
kFIRParameterItemBrand : @"Google",
kFIRParameterPrice : @39.99,
kFIRParameterCurrency : @"USD", // Item-level currency unused today.
kFIRParameterQuantity : @1
};
NSDictionary *product2 = @{
kFIRParameterItemID : @"sku5678", // ITEM_ID or ITEM_NAME is required.
kFIRParameterItemName : @"Android Capri",
kFIRParameterItemCategory : @"Apparel/Women/Pants",
kFIRParameterItemVariant : @"Black",
kFIRParameterItemBrand : @"Google",
kFIRParameterPrice : @35.99,
kFIRParameterCurrency : @"USD", // Item-level currency unused today.
kFIRParameterQuantity : @1
};
// Prepare ecommerce dictionary.
NSArray *items = @[product1, product2];
NSDictionary *ecommerce = @{
@"items" : items,
kFIRParameterItemList : @"Search Results", // List name.
kFIRParameterTransactionID : @"T12345",
kFIRParameterAffiliation : @"Google Store - Online",
kFIRParameterValue : @75.98, // Revenue.
kFIRParameterTax : @3.80,
kFIRParameterShipping : @5.34,
kFIRParameterCurrency : @"USD",
kFIRParameterCoupon : @"SUMMER2017"
};
// Log ecommerce_purchase event with ecommerce dictionary.
[FIRAnalytics logEventWithName:kFIREventEcommercePurchase
parameters:ecommerce];
Bu örnek için etiket yapılandırmasını inceleyin:
- Etiket türü: Universal Analytics
- İzleme Türü: Ekran Görüntüleme
- Ayarlanacak Alanlar: (Alan Adı) screenName (değer, ör.) Teşekkür Ekranı
- Geliştirilmiş E-ticaret Özelliklerini Etkinleştir: True
- Verileri Firebase Etkinliğinden oku
- Tetikleyici, ör. (Özel > Bazı Etkinlikler) Etkinlik Adı ecommerce_purchase değerine eşittir
Geri ödemeler
Geri ödemeyi, ilgili işlem kimliğiyle belirtilen kFIREventPurchaseRefund
etkinliğinde ve isteğe bağlı olarak (kısmi geri ödemelerde) öğe kimlikleri ve miktarlarla tanımlanan bir veya daha fazla öğeyi (ör.ürünler) kaydederek ölçün.
// (OPTIONAL) For partial refunds, define the item IDs and
// quantities of products being refunded.
NSDictionary *refundedProduct = @{
kFIRParameterItemID : @"sku1234", // Required for partial refund.
kFIRParameterQuantity : @1
};
// Prepare ecommerce bundle with transaction ID to be refunded.
NSDictionary *ecommerce = @{
@"items" : @[ refundedProduct ],
kFIRParameterTransactionID : @"T12345", // Required.
kFIRParameterValue : @75.98 // Optional in Universal Analytics.
};
// Log purchase_refund event with ecommerce.
[FIRAnalytics logEventWithName:kFIREventPurchaseRefund
parameters:ecommerce];
Bu örnek için etiket yapılandırmasını inceleyin:
- Etiket türü: Universal Analytics
- İzleme Türü: Etkinlik
- Etkinlik Kategorisi, ör. E-ticaret
- Etkinlik İşlemi, ör.Refund .
- Geliştirilmiş E-ticaret Özelliklerini Etkinleştir: True
- Verileri Firebase Etkinliğinden oku
- Tetikleyici, ör. (Özel > Bazı Etkinlikler) Event Name purchase_refund