E-ticaret Ölçümü

Bu kılavuzda, analytics.js kullanarak e-ticaret verilerinin nasıl toplanacağı açıklanmaktadır.

Genel bakış

E-ticaret ölçümü, web sitenizin oluşturduğu işlem sayısını ve geliri ölçmenize olanak tanır. Tipik bir e-ticaret sitesinde, kullanıcı tarayıcıdaki "satın al" düğmesini tıkladığında, kullanıcının satın alma bilgileri, işlemi gerçekleştiren web sunucusuna gönderilir. İşlem başarılı olursa sunucu kullanıcıyı, işlem ayrıntılarının ve satın alma işleminin makbuzunun yer aldığı bir "Teşekkür Ederiz" sayfasına veya makbuz sayfasına yönlendirir. E-ticaret verilerini "Teşekkür Ederiz" sayfasından Google Analytics'e göndermek için analytics.js kitaplığını kullanabilirsiniz.

analytics.js'yi kullanarak gönderebileceğiniz iki tür e-ticaret verisi vardır: transaction (işlem) ve item (öğe) verileri.

İşlem Verileri

İşlem, sitenizde gerçekleşen işlemin tamamını temsil eder ve aşağıdaki değerleri içerir:

Anahtar Değer Türü Gerekli Açıklama
id text (metin) Yes İşlem kimliği. (örn. 1234)
affiliation text (metin) Hayır Bu işlemin gerçekleştirildiği mağaza veya satış ortağı (ör. Acme Giyim).
revenue currency Hayır Bu işlemle ilişkilendirilen toplam geliri veya genel toplamı belirtir (ör. 11,99). Bu değer, gönderim bedelini, vergi maliyetlerini veya gelir hesaplamalarınıza dahil etmek istediğiniz toplam gelire yönelik diğer düzenlemeleri içerebilir.
shipping currency Hayır İşlemin toplam gönderim maliyetini belirtir. (ör. 5)
tax currency Hayır İşlemin toplam vergisini belirtir. (ör. 1,29)

Ürün Verileri

Öğe, alışveriş sepetinde bulunan bağımsız ürünleri temsil eder ve şu değerleri içerir:

Anahtar Değer Türü Gerekli Açıklama
id text (metin) Yes İşlem kimliği. Bu kimlik, öğeleri ait oldukları işlemlere bağlar. (örn. 1234)
name text (metin) Yes Öğe adı. (ör. Pembe Tavşanlar)
sku text (metin) Hayır SKU'yu veya öğe kodunu belirtir. (ör. SKU47)
category text (metin) Hayır Öğenin ait olduğu kategori (ör. Parti Oyuncakları)
price currency Hayır Her öğenin tekil, birim ve fiyatı. (ör. 11,99)
quantity tam sayı Hayır İşlemde satın alınan birim sayısı. Bu alana tam sayı olmayan bir değer (ör. 1,5) aktarılırsa en yakın tam sayı değerine yuvarlanır.

Uygulama

E-ticaret ölçümünü genellikle kullanıcı ödeme işlemini tamamladıktan sonra uygularsınız. Bu genellikle "Teşekkür Ederiz" sayfasında gerçekleşir. E-ticaret verilerinizi Google Analytics'e gönderdikten ve göndermeye hazır olduğunuzda uygulamanız gereken birkaç adım vardır:

E-Ticaret Eklentisi'ni Yükle

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

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

ga('require', 'ecommerce');

Bu komut, izleyici nesnenizi oluşturduktan sonra ve e-ticarete özgü işlevlerden herhangi birini kullanmadan önce gelmelidir.

Yüklendikten sonra, varsayılan izleyiciye e-ticaret ölçümüne özel birkaç yeni komut eklenir.

İşlem Ekleme

Eklenti yüklendikten sonra şeffaf bir alışveriş sepeti nesnesi oluşturur. Alışveriş sepetine işlem ve ürün verilerini ekleyebilir, tamamen yapılandırıldıktan sonra tüm verileri tek seferde gönderebilirsiniz.

İşlem verilerini alışveriş sepetine ecommerce:addTransaction komutunu kullanarak eklersiniz:

ga('ecommerce:addTransaction', {
  'id': '1234',                     // Transaction ID. Required.
  'affiliation': 'Acme Clothing',   // Affiliation or store name.
  'revenue': '11.99',               // Grand Total.
  'shipping': '5',                  // Shipping.
  'tax': '1.29'                     // Tax.
});

Öğe Ekleme

Daha sonra, ürünleri alışveriş sepetine eklemek için ecommerce:addItem komutunu kullanın:

ga('ecommerce:addItem', {
  'id': '1234',                     // Transaction ID. Required.
  'name': 'Fluffy Pink Bunnies',    // Product name. Required.
  'sku': 'DD23444',                 // SKU/code.
  'category': 'Party Toys',         // Category or variation.
  'price': '11.99',                 // Unit price.
  'quantity': '1'                   // Quantity.
});

Veri Gönderiliyor

Son olarak, alışveriş sepetindeki tüm e-ticaret verilerinizi yapılandırdıktan sonra ecommerce:send komutunu kullanarak verileri Google Analytics'e gönderirsiniz:

ga('ecommerce:send');

Bu komut, alışveriş sepetindeki her işlemi ve öğeyi inceleyip ilgili verileri Google Analytics'e gönderir. İşlem tamamlandığında, alışveriş sepeti temizlenir ve yeni bir işlem için veri göndermeye hazır olur. Daha önce bir ecommerce:send komutu verilmişse yalnızca yeni işlem ve öğe verileri gönderilir.

Veriler Temizleniyor

Alışveriş sepetini tüm işlem ve öğeleri manuel olarak temizlemeniz gerekiyorsa aşağıdaki komutu kullanın:

ga('ecommerce:clear');

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 çok para biriminde işlem yapan web siteleri için e-ticaret eklentisi, ürünlerin yanı sıra işlemin yerel para birimini belirtmenize de 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.

Belirli bir işlemin ve tüm öğelerinin yerel para birimini ayarlamak için işlemin para birimini belirtmeniz yeterlidir:

ga('ecommerce:addTransaction', {
  'id': '1234',
  'affiliation': 'Acme Clothing',
  'revenue': '11.99',
  'shipping': '5',
  'tax': '1.29',
  'currency': 'EUR'  // local currency code.
});

Son olarak, öğe başına para birimini de belirtebilirsiniz:

  ga('ecommerce:addItem', {
    'id': '1234',
    'name': 'Fluffy Pink Bunnies',
    'sku': 'DD23444',
    'category': 'Party Toys',
    'price': '11.99',
    'quantity': '1',
    'currency': 'GBP' // local currency code.
  });

Çoklu Takip Cihazı Desteği

E-ticaret eklentisini, sayfanıza birden fazla (adlandırılmış) izleyici uyguladıysanız da kullanabilirsiniz. Eklenti, varsayılan izleyiciyle tamamen aynı şekilde çalışır, ancak biçim şu şekildedir: trackerName.pluginName:method. Örneğin, myTracker adlı bir izleyici oluşturduysanız:

ga('create', 'UA-XXXXX-Y', 'auto', {'name': 'myTracker'});

Ardından, bu adlandırılmış izleyici için e-ticaret eklentisini şu şekilde yüklersiniz:

ga('myTracker.require', 'ecommerce');

Bir işlemi göndermek için, işlem nesnesi oluşturup bunu adlandırılmış izleyiciye aşağıdaki şekilde iletebilirsiniz:

var transaction = {
  'id': '1234',                    // Transaction ID.
  'affiliation': 'Acme Clothing',  // Affiliation or store name.
  'revenue': '11.99',              // Grand Total.
  'shipping': '5' ,                // Shipping.
  'tax': '1.29'                    // Tax.
};

ga('myTracker.ecommerce:addTransaction', transaction);

Bu söz dizimi kullanılarak işlem nesnesi, birden fazla izleyicide kullanılabilir.

Son olarak işlem verilerini aşağıdaki gibi gönderirsiniz:

ga('myTracker.ecommerce:send');

Örnek

Çoğu e-ticaret sitesi sunucu üzerinde işlem yaparken analytics.js kitaplığı Google Analytics'e tarayıcıdan veri gönderir. Bu nedenle, e-ticaret verilerini Google Analytics'e doğru şekilde göndermek için sunucu ile istemci arasında biraz koordinasyon olması gerekir.

Çoğu e-ticaret sitesi, "Teşekkür Ederiz" sayfasını sunucu tarafı bir şablon motoru kullanarak oluşturur. Bu durumda, e-ticaret ölçüm kodunu sunucu tarafı şablona eklersiniz ve e-ticaret veri değerlerini son sayfaya dinamik olarak yazmak için sunucu mantığını kullanırsınız. Bunun PHP'de nasıl görüneceğine dair bir örneği aşağıda bulabilirsiniz.

PHP'de, genellikle e-ticaret verilerinin bir kısmını temsil edersiniz. Bu örnekte, veriler bir ilişkisel dizide depolanır:

<?php
// Transaction Data
$trans = array('id'=>'1234', 'affiliation'=>'Acme Clothing',
               'revenue'=>'11.99', 'shipping'=>'5', 'tax'=>'1.29');

// List of Items Purchased.
$items = array(
  array('sku'=>'SDFSDF', 'name'=>'Shoes', 'category'=>'Footwear', 'price'=>'100', 'quantity'=>'1'),
  array('sku'=>'123DSW', 'name'=>'Sandals', 'category'=>'Footwear', 'price'=>'87', 'quantity'=>'1'),
  array('sku'=>'UHDF93', 'name'=>'Socks', 'category'=>'Footwear', 'price'=>'5.99', 'quantity'=>'2')
);
?>

İlk adım, e-ticaret verilerini analytics.js'nin gerektirdiği JavaScript dizesine dönüştürmek için bazı mantık yazmaktır:

<?php
// Function to return the JavaScript representation of a TransactionData object.
function getTransactionJs(&$trans) {
  return <<<HTML
ga('ecommerce:addTransaction', {
  'id': '{$trans['id']}',
  'affiliation': '{$trans['affiliation']}',
  'revenue': '{$trans['revenue']}',
  'shipping': '{$trans['shipping']}',
  'tax': '{$trans['tax']}'
});
HTML;
}

// Function to return the JavaScript representation of an ItemData object.
function getItemJs(&$transId, &$item) {
  return <<<HTML
ga('ecommerce:addItem', {
  'id': '$transId',
  'name': '{$item['name']}',
  'sku': '{$item['sku']}',
  'category': '{$item['category']}',
  'price': '{$item['price']}',
  'quantity': '{$item['quantity']}'
});
HTML;
}
?>

Daha sonra, işlem ve öğe verilerinin çıkışını dinamik olarak almak için <script> etiketine ek PHP mantığını eklersiniz:

<!-- Begin HTML -->
<script>
ga('require', 'ecommerce');

<?php
echo getTransactionJs($trans);

foreach ($items as &$item) {
  echo getItemJs($trans['id'], $item);
}
?>

ga('ecommerce:send');
</script>

PHP komut dosyasının çalışması tamamlandıktan sonra, analytics.js için gereken işlem ve öğe verileri sayfaya yazdırılır. Sayfadaki JavaScript tarayıcıda oluşturulduktan sonra tüm e-ticaret verileri Google Analytics'e gönderilir.

Para Birimi Türleri

Varsayılan para birimi türü, Yönetim Arayüzü aracılığıyla yapılandırılabilir. analytics.js kullanarak para birimi değerleri gönderdiğinizde, bu değer para biriminin toplam değerini temsil eder.

Para biriminin tam ve kesirli kısmı arasında ayırıcı olarak nokta kullanılabilir. En fazla 6 ondalık basamak olabilir. Aşağıdakiler bir para birimi alanı için geçerlidir:

1000.000001

Değer Google Analytics'e gönderildikten sonra ilk haneye, - veya . (ondalık) karakterine kadar tüm metin kaldırılır. Bu durumda:

$-55.00

şu şekilde olur:

-55.00