Google Analytics GTAG Etkinlik Kullanımı ve Ecommerce Parametreleri

Kısa bir hatırlatma yapmak gerekirse, etkinliklerle bir web sayfası veya ekran yüklemesinden bağımsız olarak izlenebilen içerikle olan kullanıcı etkileşimlerini Google Analytics üzerinden takip edebilmekteyiz. Bu etkinlikler link tıklamaları, form göndermeleri, dosya indirmeleri, mobil reklam tıklamaları, yerleştirilmiş AJAX öğeleri ve video oynatımları gibi pek çok eylemi barındırabilirler. Şimdiye kadar Google Analytics ve Google Ads ID’lerini web sayfalarımızla ilişkilendirmemize ve elde ettiğimiz verileri çeşitli amaçlarla kullanmamızı sağlayan Global Site Etiketi (Global Site Tag / GTAG / gtag.js) ile ilgili pek çok yazı yayınlayarak karşılaşılabilecek durumlar ve sorunlara dair notlar aktarmaya çalıştım. Bu yazıları şu şekilde bir liste haline getirebiliriz;

Yukarıdaki yazılarda genel olarak etkinliklerin kullanımına dair örnekler ve ek notlar yer almakta. Bu yazıda ise örnekleri biraz daha genişletmek ve karşılaşılabilecek durumlara dair ek açıklamalar paylaşmak istiyorum. Öncelikle event kullanımını bir örnek üzerinden tekrarlayalım;

function onclickCallback(e) { // @refer https://stackoverflow.com/a/8496919/8255629
  var e = window.e || e;
  if ( (e.target.tagName !== 'A') || (e.target.host == window.location.host) ) return;
  outboundLinkClick(e.target); // GA event tracker
}
if (document.addEventListener) { document.addEventListener('click', onclickCallback, false); }
else { document.attachEvent('onclick', onclickCallback); }
 
jQuery(document).ready(function($) {
   $('a[href^="http"]:not([href*="//' + location.host + '"])').on('click', function(e) {
            outboundLinkClick($(this).attr("href")); return true;
        });
  });
 
var outboundLinkClick = function(url) {
  gtag('event', 'click', {
    'event_category': 'outbound',
    'event_label': url,
    'transport_type': 'beacon',
    'event_callback': function(){
      document.location = url;
    }
  });
}

Etkinlik anatomisini hatırlayacak olursak; bir etkinlikte yukarıdaki örneklerde de açık bir şekilde görüldüğü üzere kategori, işlem, etiket ve değer bileşenleri bulunur ve bir etkinlik isabeti her bileşene ait bir değer içerir. Etiket ve Değer bileşenleri isteğe bağlı alanladır. Google Analytics ise bu değerleri raporlara yansıtır. Yukarıdaki link tıklama eylemini ileten etkinlikte kategori: outbound, işlem: click, etiket: url olarak belirtilmiştir. Tanımlanan outboundLinkClick fonksiyonu link içeriklerini (Örneğin, <a href=”http://www.ornekwebsitesi.com”>ornekwebsitesi.com</a>) event olarak iletecek ve ardından sayfanın yönlendirilmesini sağlayacaktır. Benzer işlemleri sepete ürün ekleme gibi etkinlikler için de (bkz. Google Tag Manager Enhanced Ecommerce Olayları) kullanmak mümkün.

Google Tag Manager / Google Analytics Video Etkinlikleri yazısında yer alan video etkinlikleri de şu şekilde güncelleyebiliriz;

gtag('event', 'video_auto_play_start', {
  'event_category': 'video_auto_play',
  'event_label': 'My promotional video',
  'value': '22439234',
  'non_interaction': true
});

Google Tag Manager geliştirilmiş ve standart e-ticaret olayları ve dönüşüm işlemleri yazılarına istinaden gtag fonksiyonu içeriğinde standart olarak tanımlanmış etkinlikleri görüntüleyebilirsiniz.

GTAG – Geliştirilmiş E-Ticaret (Enhanced Ecommerce) Etkinlikleri

Google Tag Manager geliştirilmiş e-ticaret yazısındaki olaylar ve parametrelerle karşılaştırıldığında GTAG etkinliklerinde bazı farklılıklar söz konusu olabilmektedir. Aşağıda tablolar halinde GTAG için geçerli olan ilgili parametreleri görebilirsiniz.

Ürün ve Promosyon Etkinlikleri

Ürün ve promosyon detaylarını iletmek için kullanılabilecek etkinlikler:

EtkinlikAçıklama
select_contentBir veya daha fazla ürün için ürün veya ürün bağlantısının tıklanması / seçilmesi durumlarını iletir.
view_item / view_item_listÜrün detaylarının iletilmesini sağlar.
add_to_cartBir veya daha fazla ürünün sepete eklenmesini iletir.
remove_from_cartBir veya daha fazla ürünün sepetten kaldırılmasına dair bilgileri iletir.
begin_checkoutSepette yer alan ürünlerin ödeme işlemlerinin başlatıldığı bilgisini iletir.
set_checkout_optionBelirli bir ödeme adımı için seçenek değerini gönderir.
purchaseÜrünlerin ödemesinin yapılması / ödeme işleminin tamamlanması bilgilerini iletir.
refundİlgili işlemin veya işlem içerisindeki bir veya daha fazla ürünün iadesi bilgilerini iletir.
view_promotionTıklanan kampanya / promosyon bilgilerini iletir.

Örnek birkaç etkinliğe bakalım. İlk örnekte listelenen ürün bilgilerini iletelim.

gtag('event', 'view_item_list', {
  "items": [
    {
      "id": "P12345",
      "name": "Android Warhol T-Shirt",
      "list_name": "Search Results",
      "brand": "Google",
      "category": "Apparel/T-Shirts",
      "variant": "Black",
      "list_position": 1,
      "quantity": 2,
      "price": 2
    },
    {
      "id": "P67890",
      "name": "Flame challenge TShirt",
      "list_name": "Search Results",
      "brand": "MyBrand",
      "category": "Apparel/T-Shirts",
      "variant": "Red",
      "list_position": 2,
      "quantity": 1,
      "price": 3
    }
  ]
});

Bir diğer örnekte ise bir ürün detaylarını iletelim.

gtag('event', 'view_item', {
  "items": [
    {
      "id": "P12345",
      "name": "Android Warhol T-Shirt",
      "list_name": "Search Results",
      "brand": "Google",
      "category": "Apparel/T-Shirts",
      "variant": "Black",
      "list_position": 1,
      "quantity": 2,
      "price": '2.0'
    }
  ]
});

Ürün Listeleme Parametreleri

Anasayfa, kategori, arama, filtreleme ve/ya kampanya sayfalarında ürünlerin listelenmesiyle ilgili kullanılabilecek parametreler:

Gerekli. Ürüne ait benzersiz ID veya stok kodunu içerir.

ParametreVeri TipiAçıklama
idstring
namestringGerekli. Ürün adını içerir. ID tanımlı değilse name’in tanımlı olması zorunlu olur.
brandstringÜrün markasıdır.
categorystringÜrünü tanımlayan kategoridir.
varianstringÜrünün farklı özelliklerini (renk, desen vb.) barındırır.
pricecurrencyÜrün fiyatını içerir.
list_namestringÜrünün yer aldığı liste adını içerir.
list_positionintegerÜrünün ilgili listede list_name kaçıncı sırada olduğu bilgisini içerir.

Ürün Parametreleri

Ürün detaylarının görüntülenmesi, ürünün sepete eklenmesi süreçlerinde kullanılabilecek parametreler:

Gerekli. Ürüne ait benzersiz ID veya stok kodunu içerir.

ParametreVeri TipiAçıklama
idstring
namestringGerekli. Ürün adını içerir. ID tanımlı değilse name’in tanımlı olması zorunlu olur.
brandstringÜrün markasıdır.
categorystringÜrünü tanımlayan kategoridir.
varianstringÜrünün farklı özelliklerini (renk, desen vb.) barındırır.
pricecurrencyÜrün fiyatını içerir.
quantityintegerÜrün adedi.
couponstringKampanya içeriği (veya indirim) söz konusu ise ilgili kupon kodu.
list_positionintegerÜrünün ilgili listede list_name kaçıncı sırada olduğu bilgisini içerir.

Promosyon Parametreleri

Metin ve imaj olarak tanımlı promosyon içeriklerinde kullanılabilecek parametreler:

ParametreVeri TipiAçıklama
idstringGerekli. Promosyon ID değerini içerir.
namestringGerekli. Promosyon adını içerir. ID tanımlı değilse name’in tanımlı olması zorunlu olur.
creative_namestringReklam adını içerir.
creative_slotstringReklam alanını içerir.

Funnel ve Ödeme Parametreleri

Ürün sipariş işlemleri, adres ve kargo tanımlamaları gibi aşamalarda kullanılabilecek parametreler:

ParametreVeri TipiAçıklama
transaction_idstringBenzersiz işlem ID değerini içerir.
affiliationstringİşlemin gerçekleştiği mağaza veya bağlantı değerini içerir.
valuenumberİşlemle ilişkili değer alır (Örneğin, gelir)
taxcurrencyVergi tutarını içerir.
shippingcurrencyKargo tutarını içerir.
itemsarrayÜrünle ilgili detayları (ürün adı, ID’si, kategorisi vb.) içerir.
checkout_stepnumberÖdeme işlemlerindeki görüntülenen adımı (step) içerir (Örneğin 2. adım)
checkout_optionstringÖdeme yöntemi, kargo şirketi ve benzeri detayları içerir.

Google Tag Manager ve dataLayer elbette benim tavsiyem olacaktır. Bu sayede tanımlanan alanları pek çok farklı snippet içerisinden (GTM Container içeriğinde yer alan) de çağırma imkanımız olacaktır. Ancak, kimi sınırlandırmalar nedeniyle işlemleri GTAG üzerinden yürütmek gerekebilir. Umarım bu tür durumlarda kullanmak üzere yukarıdaki yönergeler yardımcı olacaktır. Eksik olan bir konu ya da karşılaştığınız farklı hatalar söz konusu olur ise yorum olarak paylaşmanız yeterli olacaktır.

Leave a Reply