Geliştirilmiş e-ticaret

analytics.js için geliştirilmiş e-ticaret eklentisi, kullanıcının alışveriş deneyimi boyunca e-ticaret web sitelerindeki ürünlerle kurduğu etkileşimlerin ölçülmesini sağlar. Bu etkinlikler 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 bulunur.

E-Ticaret Eklentisi ile Taşıma ve Uyumluluk (ecommerce.js)

E-ticaret ölçümünü zaten uyguladıysanız ve Geliştirilmiş E-ticaret'i kullanmaya başlamak istiyorsanız iki ana seçeneğiniz vardır:

Yeni bir mülk kullan

Yeni oluşturulan mülk için ek bir izleyici ekleyebilir ve yeni mülk için etiket/Geliştirilmiş E-ticaret'i etkinleştirebilirsiniz. Tek bir sayfadan birden fazla mülke veri göndermeyle ilgili ayrıntılar için Birden Fazla İzleme Nesnesiyle Çalışma bölümüne bakın.

Mevcut bir mülkü taşıma

E-ticaret eklentisinden geliştirilmiş e-ticaret eklentisine geçiş yapmak için, mevcut analytics.js kullanıcılarının referansları kaldırıp gelişmiş e-ticaret koduyla değiştirmeleri gerekir.

Şu anda ga.js kullanıyorsanız geliştirilmiş e-ticaret eklentisini kullanmadan önce analytics.js'ye geçmeniz gerekir.

ecommerce.js eklentisi kullanılarak daha önce toplanan işlem ve öğe verileri, taşıma işleminden etkilenmez ve orijinal olarak gönderildikleri mülklerde ve profillerde kullanılabilir olmaya devam eder.

Geliştirilmiş E-ticaret Veri Türleri ve İşlemleri

Gönderebileceğiniz birden çok e-ticaret verisi türü vardır:

Gösterim Verileri

Görüntülenen bir ürünle ilgili bilgileri temsil eder. impressionFieldObject olarak adlandırılır ve aşağıdaki değerleri içerir:

Anahtar Değer Türü Gerekli Açıklama
id text (metin) *Evet

Ürün kimliği veya SKU (ör. P67890).

* id veya name değerlerinden biri ayarlanmalıdır.

name text (metin) *Evet

Ürünün adı (ör. Android Tişört).

* id veya name değerlerinden biri ayarlanmalıdır.

list text (metin) Hayır Ürünün ait olduğu liste veya koleksiyon (ör. Arama Sonuçları)
list_name text (metin) Hayır Ürünün ait olduğu liste veya koleksiyon (ör. Arama Sonuçları)
brand text (metin) Hayır Ürünle ilişkili marka (ör. Google).
category text (metin) Hayır Ürünün ait olduğu kategori (ör. Giyim). 5'e kadar hiyerarşi düzeyi belirtmek için sınırlayıcı olarak / kullanın (ör. Giyim/Erkek/Tişörtler).
variant text (metin) Hayır Ürünün varyantı (ör. Siyah).
position tam sayı Hayır Ürünün bir liste veya koleksiyondaki konumu (ör. 2).
list_position tam sayı Hayır Ürünün bir liste veya koleksiyondaki konumu (ör. 2).
price sayı Hayır Bir ürünün fiyatı (ör. 29,20).

Ürün Verileri

Ürün verileri, görüntülenen, alışveriş sepetine eklenen vb. ürünleri ayrı ayrı temsil eder. productFieldObject olarak adlandırılır ve aşağıdaki değerleri içerir:

Anahtar Değer Türü Gerekli Açıklama
id text (metin) *Evet

Ürün kimliği veya SKU (ör. P67890).

* Kimlik veya name özelliklerinden biri ayarlanmalıdır.

name text (metin) *Evet

Ürünün adı (ör. Android Tişört).

* Kimlik veya name özelliklerinden biri ayarlanmalıdır.

brand text (metin) Hayır Ürünle ilişkili marka (ör. Google).
category text (metin) Hayır Ürünün ait olduğu kategori (ör. Giyim). 5 karaktere kadar hiyerarşi düzeyi belirtmek için sınırlayıcı olarak / karakterini kullanın (ör. Giyim/Erkek/Tişörtler).
variant text (metin) Hayır Ürünün varyantı (ör. Siyah).
price sayı Hayır Bir ürünün fiyatı (ör. 29,20).
quantity tam sayı Hayır Bir ürünün miktarı (ör. 2).
coupon text (metin) Hayır Bir ürünle ilişkilendirilen kupon kodu (ör. YAZ_İNDİRİMİ13).
position tam sayı Hayır Ürünün bir liste veya koleksiyondaki konumu (ör. 2).
list_position tam sayı Hayır Ürünün bir liste veya koleksiyondaki konumu (ör. 2).

Promosyon Verileri

Görüntülenen promosyonla ilgili bilgileri temsil eder. Bu öğe promoFieldObject olarak adlandırılır ve aşağıdaki değerleri içerir:

Anahtar Değer Türü Gerekli Açıklama
id text (metin) *Evet

Promosyon kodu (ör. PROMO_1234).

* id veya name değerlerinden biri ayarlanmalıdır.

name text (metin) *Evet

Promosyonun adı (ör. Yaz İndirimi).

* id veya name değerlerinden biri ayarlanmalıdır.

creative text (metin) Hayır Promosyonla ilişkili reklam öğesi (ör. yaz_banner2).
creative_name text (metin) Hayır Reklam öğesinin adı (ör. yaz_banner2).
position text (metin) Hayır Reklam öğesinin konumu (ör. banner_slot_1).
creative_slot text (metin) Hayır Reklam öğesi alanının adı (ör. banner_slot_1).

İşlem Verileri

E-ticaretle ilgili yapılmış bir işlemle ilgili bilgileri temsil eder. actionFieldObject olarak adlandırılır ve aşağıdaki değerleri içerir:

Anahtar Değer Türü Gerekli Açıklama
id text (metin) *Evet

İşlem kimliği (ör. T1234).

* İşlem türü purchase veya refund ise zorunludur

affiliation text (metin) Hayır Bu işlemin gerçekleştirildiği mağaza veya satış ortaklığı (ör. Google Store).
revenue sayı Hayır

İşlemle ilişkili toplam geliri veya genel toplamı belirtir (ör. 11,99). Bu değer, gönderim bedelini, vergi maliyetlerini veya gelir hesaplamalarınızın bir parçası olarak toplam gelire dahil etmek istediğiniz diğer düzenlemeleri içerebilir.

value sayı Hayır Etkinlikle ilişkili değer (ör. gelir).
tax sayı Hayır İşlemle ilişkilendirilen toplam vergi.
shipping sayı Hayır İşlemle ilişkilendirilen gönderim maliyeti.
coupon text (metin) Hayır İşlemde kullanılan işlem kuponu.
list text (metin) Hayır İlişkilendirilmiş ürünlerin ait olduğu liste. İsteğe bağlı.
items dizi Hayır İlişkilendirilmiş ürünleri içeren dizi.
step tam sayı Hayır Ödeme sürecindeki bir adımı temsil eden sayı. "Ödeme" işlemlerinde isteğe bağlıdır.
checkout_step tam sayı Hayır Ödeme sürecindeki bir adımı temsil eden sayı.
option text (metin) Hayır checkout ve checkout_option işlemleri için, seçilen ödeme yöntemi gibi ödeme sayfasındaki seçenek bilgilerini açıklayabilen ek alan.
checkout_option text (metin) Hayır Ödeme seçeneği (seçili ödeme yöntemi).

Ürün ve Promosyon İşlemleri

İşlemler, Google Analytics'e gönderdiğiniz ürün ve promosyon verilerinin nasıl yorumlanacağını belirtir.

İşlem Etkinlik Açıklama
click Bir veya daha fazla ürünün ürün veya ürün bağlantısının tıklanması.
detail Ürün ayrıntılarının görünümü.
add Alışveriş sepetine bir veya daha fazla ürün ekleme.
remove Alışveriş sepetinden bir veya daha fazla ürünü kaldırın.
checkout Bir veya daha fazla ürün için ödeme sürecini başlatma.
checkout_option Belirli bir ödeme adımı için seçenek değerini gönderme.
purchase Bir veya daha fazla ürünün satışı.
refund Bir veya daha fazla ürün için geri ödeme.
promo_click Dahili tanıtımın tıklanması.
add_to_cart Bir kullanıcı alışveriş sepetine bir veya daha fazla ürün ekler.
begin_checkout Kullanıcı bir veya daha fazla ürün için ödeme sürecini başlatır.
checkout_progress Kullanıcı ödeme adımlarını ilk ödeme adımından sonra tamamlar.
purchase Kullanıcı bir satın alma işlemini tamamlar.
refund Bir kullanıcıya bir veya daha fazla ürün için geri ödeme yapılır.
remove_from_cart Kullanıcı, alışveriş sepetinden bir veya daha fazla ürünü kaldırır.
select_content Kullanıcı bir ürünü veya ürünün bağlantısını tıklar.
set_checkout_option Kullanıcının tamamladığı ödeme adımı.
view_item Kullanıcı bir ürünün ayrıntılarını görüntüler.
view_item_list Kullanıcı bir veya daha fazla üründen oluşan bir listeyi görüntüler.
view_promotion Bir kullanıcı, dahili bir tanıtımı tıklar.
view_refund Kullanıcı, bir veya daha fazla ürün için yapılan geri ödemeyi görüntüler.

Uygulama

Aşağıdaki bölümlerde, analytics.js kitaplığıyla bir web sitesindeki e-ticaret etkinliğini ölçmek için geliştirilmiş e-ticaret eklentisinin nasıl uygulanacağı açıklanmaktadır.

E-Ticaret Eklentisi'ni Yükle

analytics.js kitaplığının boyutunu küçültmek için, geliştirilmiş e-ticaret varsayılan kitaplıkta sağlanmaz. Bunun yerine, kullanılmadan önce yüklenmesi gereken bir eklenti modülü olarak sağlanır.

Geliştirilmiş e-ticaret eklentisini yüklemek için aşağıdaki komutu kullanın:

ga('require', 'ec');

Bu komut, izleyici nesnenizi oluşturduktan sonra ve geliştirilmiş e-ticarete özgü işlevlerden herhangi birini kullanmadan önce gerçekleşmelidir.

Geliştirilmiş E-ticaret Verileri Gönderme

Yüklendikten sonra, geliştirilmiş e-ticarete özel birkaç yeni komut varsayılan izleyiciye eklenir ve e-ticaret verilerini göndermeye başlayabilirsiniz.

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:

  • Bir ürün bağlantısının tıklanması.
  • Ürün ayrıntılarını görüntüleme
  • Dahili tanıtımların gösterim ve tıklama sayıları.
  • Alışveriş sepetine ürün ekleme/sepetten çıkarma.
  • Bir ürün için ödeme sürecini başlatma.
  • Satın alma ve geri ödeme işlemleri.

Gösterimleri Ölçme

Ürün gösterimleri ec:addImpression komutu kullanılarak ölçülür. Ürünle ilgili ayrıntılar impressionFieldObject içinde eklenir.

Örneğin, aşağıdaki kod bir arama sonuçları listesindeki bir ürünün gösterimini ölçer:

ga('ec:addImpression', {            // Provide product details in an impressionFieldObject.
  'id': 'P12345',                   // Product ID (string).
  'name': 'Android Warhol T-Shirt', // Product name (string).
  'category': 'Apparel/T-Shirts',   // Product category (string).
  'brand': 'Google',                // Product brand (string).
  'variant': 'Black',               // Product variant (string).
  'list': 'Search Results',         // Product list (string).
  'position': 1,                    // Product position (number).
  'dimension1': 'Member'            // Custom dimension (string).
});

impressionFieldObject, name veya id değerine sahip olmalıdır. Diğer tüm değerler isteğe bağlıdır ve ayarlanması gerekmez.

İşlemleri Ölçme

İşlemler, ürün ayrıntılarını eklemek için ec:addProduct komutuyla productFieldObject, gerçekleştirilmekte olan işlemi belirtmek için ise ec:setAction komutu kullanılarak ölçülür.

Örneğin, aşağıdaki kod bir arama sonuçları listesinde görüntülenen ürün bağlantısının tıklanmasını ölçer:

ga('ec:addProduct', {               // Provide product details in a productFieldObject.
  'id': 'P12345',                   // Product ID (string).
  'name': 'Android Warhol T-Shirt', // Product name (string).
  'category': 'Apparel',            // Product category (string).
  'brand': 'Google',                // Product brand (string).
  'variant': 'Black',               // Product variant (string).
  'position': 1,                    // Product position (number).
  'dimension1': 'Member'            // Custom dimension (string).
});

ga('ec:setAction', 'click', {       // click action.
  'list': 'Search Results'          // Product list (string).
});

productFieldObject, name veya id değerine sahip olmalıdır. Diğer tüm değerler isteğe bağlıdır ve ayarlanması gerekmez.

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 impression from a Related Products section.
ga('ec:addImpression', {            // Provide product details in an impressionFieldObject.
  'id': 'P12345',                   // Product ID (string).
  'name': 'Android Warhol T-Shirt', // Product name (string).
  'category': 'Apparel/T-Shirts',   // Product category (string).
  'brand': 'Google',                // Product brand (string).
  'variant': 'Black',               // Product variant (string).
  'list': 'Related Products',       // Product list (string).
  'position': 1                     // Product position (number).
});

// The product being viewed.
ga('ec:addProduct', {                 // Provide product details in an productFieldObject.
  'id': 'P67890',                     // Product ID (string).
  'name': 'YouTube Organic T-Shirt',  // Product name (string).
  'category': 'Apparel/T-Shirts',     // Product category (string).
  'brand': 'YouTube',                 // Product brand (string).
  'variant': 'gray',                  // Product variant (string).
  'position': 2                       // Product position (number).
});

ga('ec:setAction', 'detail');       // Detail action.

İşlemleri Ölçme

ec:setAction komutunu kullanarak ve işlem türünü purchase olarak ayarlayarak bir işlemi ölçün. Toplam gelir, vergi ve gönderim bedeli gibi işlem düzeyindeki ayrıntılar actionFieldObject içinde sağlanır:

ga('ec:addProduct', {               // Provide product details in an productFieldObject.
  'id': 'P12345',                   // Product ID (string).
  'name': 'Android Warhol T-Shirt', // Product name (string).
  'category': 'Apparel',            // Product category (string).
  'brand': 'Google',                // Product brand (string).
  'variant': 'black',               // Product variant (string).
  'price': '29.20',                 // Product price (number).
  'coupon': 'APPARELSALE',          // Product coupon (string).
  'quantity': 1                     // Product quantity (number).
});

ga('ec:setAction', 'purchase', {          // Transaction details are provided in an actionFieldObject.
  'id': 'T12345',                         // (Required) Transaction id (string).
  'affiliation': 'Google Store - Online', // Affiliation (string).
  'revenue': '37.39',                     // Revenue (number).
  'tax': '2.85',                          // Tax (number).
  'shipping': '5.34',                     // Shipping (number).
  'coupon': 'SUMMER2013'                  // Transaction coupon (string).
});

İşlem türü purchase veya refund ise actionFieldObject, id değerine sahip olmalıdır. Diğer tüm değerler isteğe bağlıdır ve ayarlanması gerekmez.

Geri Ödemeleri Ölçme

Bir işlemin tamamı için geri ödeme yapmak istiyorsanız bir refund işlemi belirleyip işlem kimliğini sağlayın:

// Refund an entire transaction.
ga('ec:setAction', 'refund', {
  // Transaction ID is only required field for full refund.
  'id': 'T12345'
});

Eşleşen bir işlem bulunmazsa refund isabeti işlenmez.

Kısmi geri ödemeyi ölçmek için bir refund işlemi ayarlayıp işlem kimliğini, ürün kimliklerini ve geri ödenecek ürün miktarını belirtin:

// Refund a single product.
ga('ec:addProduct', {
  'id': 'P12345',       // Product ID is required for partial refund.
  'quantity': 1         // Quantity is required for partial refund.
});

ga('ec:setAction', 'refund', {
  'id': 'T12345',       // Transaction ID is required for partial refund.
});

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

Geri ödeme verilerini bir etkinliği kullanarak göndermeniz gerekiyorsa ve etkinlik normal şekilde ölçülen site içi davranışın bir parçası değilse (ör. kullanıcı tarafından başlatılmıyorsa) etkileşim dışı bir etkinlik göndermeniz önerilir. Böylece, hemen çıkma oranı, sitede geçirilen süre gibi metriklerin etkinlikten etkilenmesi önlenir. Örneğin:

ga('send', 'event', 'Ecommerce', 'Refund', {'nonInteraction': 1});

Ö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 kod ekleyin.
  • Varsa ödeme seçeneklerini ölçmek için kod 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ı belirleyin.

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

Ödeme sürecinizdeki her adım için, Google Analytics'e veri göndermek üzere ilgili kodu uygulamanız gerekir:

  • step Alan

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

  • option Alan

    Adım ölçüldüğü sırada belirtilen ödeme adımı hakkında ek bilginiz varsa bu bilgileri toplamak için option alanını checkout işlemiyle ayarlayabilirsiniz. Örneğin, kullanıcının varsayılan ödeme türü (ör. Visa).

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

    Bir ödeme adımını ölçmek için her üründe ec:addProduct özelliğini kullanın ve ec:setAction ödemeyi belirtin. Varsa ec:setAction, ödeme adımını bir step ve option ile açıklamak için ek bir actionFieldObject kullanabilir.

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

    ga('ec:addProduct', {               // Provide product details in an productFieldObject.
      'id': 'P12345',                   // Product ID (string).
      'name': 'Android Warhol T-Shirt', // Product name (string).
      'category': 'Apparel',            // Product category (string).
      'brand': 'Google',                // Product brand (string).
      'variant': 'black',               // Product variant (string).
      'price': '29.20',                 // Product price (number).
      'quantity': 1                     // Product quantity (number).
    });
    
    // Add the step number and additional info about the checkout to the action.
    ga('ec:setAction','checkout', {
        'step': 1,
        'option': 'Visa'
    });
    

2. Ödeme Seçeneklerini Ölçme

Ödeme seçenekleri, ödeme işleminin durumuyla ilgili ek bilgileri ölçmenize olanak tanır. Bu özellik, ilk sayfa görüntüleme sırasında bir ödeme adımını ölçtüğünüz, ancak kullanıcı tarafından belirlenen bir seçenek belirlendikten sonra aynı ödeme adımıyla ilgili ek bilgilerin mevcut olduğu durumlarda kullanışlıdır. Örneğin, kullanıcı bir gönderim yöntemi seçer.

Bir ödeme seçeneğini ölçmek için ec:setAction kullanarak bir checkout_option belirtin ve adım numarası ile seçenek açıklamasını ekleyin.

Bu işlemi, kullanıcı ödeme sürecindeki bir sonraki adıma geçmek için tıkladığında ölçmek istersiniz. Örneğin:

// (On "Next" button click)
ga('ec:setAction', 'checkout_option', {'step': 2, 'option': 'FedEx'});

ga('send', 'event', 'Checkout', 'Option', {
    hitCallback: function() {
      // 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üne gidin, görünümü (profili) seçin ve E-ticaret Ayarları'nı tıklayın. Ölçmek istediğiniz her ödeme adımını etiketlemek için E-ticaret kurulum talimatlarını izleyin.

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ı Onaylama, 4. Fatura
Şekil 1: E-ticaret Kurulumu - Ödeme Dönüşüm Hunisi

Dahili Tanıtımları Ölçme

Geliştirilmiş e-ticaret eklentisi, web sitesinin başka bir bölümünde satışı 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 sayfa yüklendiğinde ölçülür ve ec:addPromo komutu kullanılarak ilk sayfa görüntülemeyle birlikte gönderilir. Örneğin:

ga('ec:addPromo', {               // Promo details provided in a promoFieldObject.
  'id': 'PROMO_1234',             // Promotion ID. Required (string).
  'name': 'Summer Sale',          // Promotion name (string).
  'creative': 'summer_banner2',   // Creative (string).
  'position': 'banner_slot1'      // Position  (string).
});

Promosyon Tıklama Sayısı

Dahili tanıtımlara yapılan tıklamalar promo_click işlemini ayarlayarak ölçülebilir. Örneğin:

// Identify the promotion that was clicked.
ga('ec:addPromo', {
  'id': 'PROMO_1234',
  'name': 'Summer Sale',
  'creative': 'summer_banner2',
  'position': 'banner_slot1'
});

// Send the promo_click action with an event.
ga('ec:setAction', 'promo_click');
ga('send', 'event', 'Internal Promotions', 'click', 'Summer Sale');

Örneğin, gösterim ve promosyon tıklamasıyla ürün ayrıntıları sayfasını ölçmek için önce ürün ve gösterim verilerini ilk sayfa görüntülemeyle birlikte gönderin, ardından promosyon tıklama verilerini ayrı bir etkinlikte gönderin:

// 1. Send product and impression data with pageview.
ga('ec:addProduct', {
  'id': 'P12345',                   // Product ID (string).
  'name': 'Android Warhol T-Shirt', // Product name (string).
  'category': 'Apparel',            // Product category (string).
  'brand': 'Google',                // Product brand (string).
  'variant': 'Black',               // Product variant (string).
  'position': 1,                    // Product position (number).
});

// The impression from the Related Products section.
ga('ec:addImpression', {
  'id': 'P12345',                   // Product ID (string).
  'name': 'Android Warhol T-Shirt', // Product name (string).
  'category': 'Apparel/T-Shirts',   // Product category (string).
  'brand': 'Google',                // Product brand (string).
  'variant': 'Black',               // Product variant (string).
  'list': 'Related Products',       // Product list (string).
  'position': 1,                    // Product position (number).
});

ga('ec:setAction', 'detail');       // Detail action.

ga('send', 'pageview');             // Send the product data with initial pageview.


// 2. Send the promo click data when the promo click occurs.
// Call this function when promo click occurs.
function onPromoClick() {
  ga('ec:addPromo', {
    'id': 'PROMO_1234',
    'name': 'Summer Sale',
    'creative': 'summer_banner2',
    'position': 'banner_slot1'
  });

  // Send the promo_click action with an event.
  ga('ec:setAction', 'promo_click');
  ga('send', 'event', 'Internal Promotions', 'click', 'Summer Sale');
}

promoFieldObject, name veya id değerine sahip olmalıdır. Diğer tüm değerler isteğe bağlıdır ve ayarlanması gerekmez.

Eksiksiz Örnek

Aşağıdaki kod snippet'leri, tek bir ürünün e-ticaret yaşam döngüsünün ilk gösterimden işleme kadar, geliştirilmiş e-ticaret eklentisi kullanılarak nasıl ölçülebileceğini göstermektedir.

Ürün Gösterimini Ölçme

Bu örnekte, kullanıcı ürünü ilk olarak bir arama sonuçları listesinde görüntüler. Bu ürün gösterimini ölçmek için ec:addImpression komutunu kullanın ve ürün ayrıntılarını impressionFieldObject içinde sağlayın:

ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');

ga('ec:addImpression', {
  'id': 'P12345',                   // Product details are provided in an impressionFieldObject.
  'name': 'Android Warhol T-Shirt',
  'category': 'Apparel/T-Shirts',
  'brand': 'Google',
  'variant': 'black',
  'list': 'Search Results',
  'position': 1                     // 'position' indicates the product position in the list.
});

ga('ec:addImpression', {
  'id': 'P67890',
  'name': 'YouTube Organic T-Shirt',
  'category': 'Apparel/T-Shirts',
  'brand': 'YouTube',
  'variant': 'gray',
  'list': 'Search Results',
  'position': 2
});

ga('send', 'pageview');              // Send product impressions with initial pageview.

Ürün Tıklamasını Ölçme

Daha sonra bir kullanıcı, daha fazla ayrıntı görüntülemek için ürün listelemeyi tıklayarak söz konusu ürünle ilgilendiğini belirtir.

Bu ürün tıklamasını ölçmek için ec:addProduct ve ec:setAction değerlerini kullanın:

// Called when a link to a product is clicked.
function onProductClick() {
  ga('ec:addProduct', {
    'id': 'P12345',
    'name': 'Android Warhol T-Shirt',
    'category': 'Apparel',
    'brand': 'Google',
    'variant': 'black',
    'position': 1
  });
  ga('ec:setAction', 'click', {list: 'Search Results'});

  // Send click with an event, then send user to product page.
  ga('send', 'event', 'UX', 'click', 'Results', {
    hitCallback: function() {
      document.location = '/product_details?id=P12345';
    }
  });
}

Daha sonra ürün bağlantısı şu şekilde uygulanabilir:

<a href="/next-page.html"
   onclick="onProductClick(); return !ga.loaded;">
  Android Warhol T-Shirt
</a>

Ürün Ayrıntıları Görünümünü Ölçme

Kullanıcı, ürün listelemeyi tıkladıktan sonra ürün ayrıntıları sayfasını görüntüler.

Bu ürün ayrıntıları görünümünü ölçmek için ec:addProduct ve ec:setAction kullanarak bir detail işlemi belirtin:

ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');

ga('ec:addProduct', {
  'id': 'P12345',
  'name': 'Android Warhol T-Shirt',
  'category': 'Apparel',
  'brand': 'Google',
  'variant': 'black'
});

ga('ec:setAction', 'detail');

ga('send', 'pageview');       // Send product details view with the initial pageview.

Alışveriş Sepetine Ekleme veya Alışveriş Sepetinden Kaldırma İşlemini Ölçme

Kullanıcı ürünü alışveriş sepetine ekleyerek satın alma niyetini ifade eder.

Bir ürünün alışveriş sepetine eklenip eklenmediğini ölçmek için ec:addProduct özelliğini kullanın ve add veya remove türünü ayarlayın:

// Called when a product is added to a shopping cart.
function addToCart(product) {
  ga('ec:addProduct', {
    'id': product.id,
    'name': product.name,
    'category': product.category,
    'brand': product.brand,
    'variant': product.variant,
    'price': product.price,
    'quantity': product.qty
  });
  ga('ec:setAction', 'add');
  ga('send', 'event', 'UX', 'click', 'add to cart');     // Send data using an event.
}

Ödeme Sürecini Ölçme

Kullanıcı artık ödeme işlemini başlatmaya hazırdır. Bu örnekte, her biri ayrı sayfalarda olmak üzere iki adım bulunmaktadır:

  • Ödeme ayrıntılarını ekleyin (payment.html).
  • Gönderim ayrıntılarını ekleyin (shipping.html).

Varsa Web Arayüzü Yöneticisi'ndeki E-ticaret Ayarları bölümünde, ödeme dönüşüm hunisini doğru şekilde yapılandırdığınızdan emin olun. Örneğin:

E-ticaret Ayarları&#39;nı tıklayın. E-ticaret etkinleştirildi ve ödeme dönüşüm hunisi adım etiketleri eklendi: 1. Ödeme Ayrıntıları ve 2. Gönderim Ayrıntıları
Şekil 2: E-ticaret Kurulumu - Ödeme Dönüşüm Hunisi

1. Adım - Ödeme

Ödeme işleminin ilk adımını ölçmek amacıyla alışveriş sepetindeki her ürün için ec:addProduct özelliğini ve checkout belirtmek için ec:setAction kullanın. ec:setAction, ödeme adımını bir sayıyla açıklamak için actionFieldObject alır ve bu kullanıcının varsayılan ödeme türüyle ilgili ek bilgiler option alanı kullanılarak eklenmiştir:

ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');

/**
 * Called when the user begins the checkout process.
 * @param {Array} cart An array representing the user's shopping cart.
 */
function checkout(cart) {
  for(var i = 0; i < cart.length; i++) {
    var product = cart[i];
    ga('ec:addProduct', {
      'id': product.id,
      'name': product.name,
      'category': product.category,
      'brand': product.brand,
      'variant':  product.variant,
      'price': product.price,
      'quantity': product.qty
    });
  }
}

// In the case of checkout actions, an additional actionFieldObject can
// specify a checkout step and option.
ga('ec:setAction','checkout', {
    'step': 1,            // A value of 1 indicates this action is first checkout step.
    'option': 'Visa'      // Used to specify additional info about a checkout stage, e.g. payment method.
});
ga('send', 'pageview');   // Pageview for payment.html

2. Adım - Gönderim

Ödeme işleminin ikinci adımını ölçmek amacıyla alışveriş sepetindeki her ürün için ec:addProduct, ödemeyi belirtmek için de ec:setAction kullanın. Bu durumda, ilk sayfa görüntüleme gönderildiğinde belirlenen gönderim seçeneği hakkında ek bilgiye sahip olmadığımızdan bu, checkout_option belirtmek için ec:setAction kullanılarak ayrıca işlenecektir.

// Measure checkout step 2:
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');

/**
 * Called when the user begins the checkout process.
 * @param {Array} cart An array representing the user's shopping cart.
 */
function checkout(cart) {
  for(var i = 0; i < cart.length; i++) {
    var product = cart[i];
    ga('ec:addProduct', {
      'id': product.id,
      'name': product.name,
      'category': product.category,
      'brand': product.brand,
      'variant':  product.variant,
      'price': product.price,
      'quantity': product.qty
    });
  }
}

ga('ec:setAction','checkout', {'step': 2});
ga('send', 'pageview');     // Pageview for shipping.html


// Called when user has completed shipping options.
function onShippingComplete(stepNumber, shippingOption) {
  ga('ec:setAction', 'checkout_option', {
    'step': stepNumber,
    'option': shippingOption
  });

  ga('send', 'event', 'Checkout', 'Option', {
     hitCallback: function() {
       // Advance to next page.
     }
  });
}

Ardından form şu şekilde uygulanabilir:

<a href="/next-page.html"
   onclick="onShippingComplete(2, 'FedEx'); return !ga.loaded;">
  Continue
</a>

İşlemi Ölçme

Son olarak, kullanıcı ödeme işlemini tamamlar ve satın alma işlemini gönderir.

Bir veya daha fazla ürünün satışını ölçmek amacıyla her bir ürünü eklemek için ec:addProduct özelliğini, ardından bir purchase belirtmek için ec:setAction özelliğini kullanın. Toplam gelir, vergi vb. işlem düzeyindeki bilgiler actionFieldObject ile belirtilebilir. Örneğin:

ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');

ga('ec:addProduct', {
  'id': 'P12345',
  'name': 'Android Warhol T-Shirt',
  'category': 'Apparel',
  'brand': 'Google',
  'variant': 'black',
  'price': '29.20',
  'quantity': 1
});

// Transaction level information is provided via an actionFieldObject.
ga('ec:setAction', 'purchase', {
  'id': 'T12345',
  'affiliation': 'Google Store - Online',
  'revenue': '37.39',
  'tax': '2.85',
  'shipping': '5.34',
  'coupon': 'SUMMER2013'    // User added a coupon at checkout.
});

ga('send', 'pageview');     // Send transaction data with initial pageview.

Yerel Para Birimlerini Belirleme

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. Varsayılan olarak, tüm öğeler ve işlemler için global para birimi kullanılır. Birden fazla para biriminde işlem yapan web siteleri için e-ticaret eklentisi, işlemin yerel para birimini belirtmenize olanak tanır.

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 takip cihazı para birimi değerlerini Euro olarak gönderir:

ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');

ga('set', 'currencyCode', 'EUR'); // Set currency to Euros.

ga('ec:addProduct', {
  'id': 'P12345',
  'name': 'Android Warhol T-Shirt',
  'category': 'Apparel',
  'brand': 'Google',
  'variant': 'black',
  'price': '21.89',
  'quantity': 1
});

ga('ec:setAction', 'purchase', {
  id: 'T12345',
  affiliation: 'Google Store - Online',
  revenue: '28.03',
  tax: '2.14',
  shipping: '4.00',
  coupon: 'SUMMER2013'
});

ga('send', 'pageview');