GTM - Ecommerce Ürün veya İşlem İade Etkinliği

Google Analytics Enhanced Ecommerce İşlemleri

Google Tag Manager ve Google Analytics yapıları çerçevesinde veri katmanlarını kullanarak standart e-ticaret olayının dışında geliştirilmiş e-ticaret ile ürün ve satış işlemlerine dair pek çok bilginin nasıl edinilebilecğinden ve raporlarda nasıl değerlendirilebileceğinden adım adım bahsettim.

AA

Temmuz 2023 itibariyle Universal Analytics (UA) yerini Google Analytics 4 (GA4) mülk biçimine bırakıyor. Bu tarihten sonra UA mülkleri yeni verileri işleyemeyecekler. Tahminen yıl sonu gibi de artık erişilmez hale gelecekler. Mülk biçimleri arasındaki farklılıklar ve diğer işlemler için Universal Analytics (UA) Yerine Google Analytics 4 (GA4) başlıklı yazımı okuyabilir ve teknik destek talebinde bulunabilirsiniz.

Elbette satış gerçekleştirme ve performans raporlarının değerlendirilmesi süreci bunlarla sınılı değil. Ürün memnuniyeti, kargo teslim süreci, satış sonrasında söz konusu olabilecek müşteri desteği gibi daha pek çok konu genel bağlamda değerlendirilmeli1. Son olayımız da bu durumla ilişkili olarak olası bir işlem ya da ürün iadesini e-ticaret raporlarıyla nasıl ilişkilendirebileceğimiz üzerine2. Olayımızın adı refund.

Google Analytics

Enhanced Ecommerce “refund” Etkinliği

Ürün ya da satın almanın iptalini / iadesini temel alan refund etkinliği şimdiye kadar diğer olay açıklamalarında belirtilen benzersiz ID değerlerini temel almakta. Açıklamalarda özellikle belirttiğim ID değerinin benzersiz olması ilgili işlemin kolaylıkla iadesini mümkün kılarken olası çakışmaları da önlemekte. Bu nedenle, kurulum aşamasında özellikle bu konunun üzerinde durulmalı ve name‘in yanı sıra ID alanının da mümkün olduğu kadar tanımlı olmasına özen gösterilmeli. Bu sayede oldukça pratik ve sorunsuz bir şekilde iade süreci gerçekleştirilebilir. refund veri katmanına dair detaylara ilk olarak sipariş / işlem iptali üzerinden bakalım. Purchase olayında da görebileceğiniz üzere her işlem ID değeri (bkz. T12345) almaktaydı.

// UA
dataLayer.push({
  'event' : 'purchase',
  'ecommerce': {
    'purchase': {
      'actionField': {
        'id': 'T12345',
        'affiliation': 'Online Store',
        'revenue': '59.89',
        'tax':'4.90',
        'shipping': '5.99',
        'coupon': 'SUMMER2018'
      },
      'products': [{
        // ürün detayları
       }]
    }
  }
});

// GA4
dataLayer.push({
  'event': 'purchase',
  'ecommerce': {
    'purchase': {
      'transaction_id': 'T12345',
      'affiliation': 'Online Store',
      'value': '35.43',
      'tax': '4.90',
      'shipping': '5.99',
      'currency': 'EUR',
      'coupon': 'SUMMER_SALE',
      'items': [{
        // ürün detayları
      }]
    }
  }
});

Yukarıdaki örnek içerisinde yer alan UA için id ve GA4 için transaction_id değerini ayrıca ayrı bir şekilde aşağıda paylaştım.

// UA
dataLayer.push({
  'event' : 'purchase',
  'ecommerce': {
    'purchase': {
      'actionField': {
        'id': 'T12345'
      }
    }
  }
});

// GA4
dataLayer.push({
  'event': 'purchase',
  'ecommerce': {
    'purchase': {
      'transaction_id': 'T12345'
    }
  }
});

Bu ID değeri doğrudan bizim işlemin tamamını iptal edebilmemizi sağlamakta ve müşteriye ücret iadesi gerçekleştiğimizi raporlarımıza yansıtabilmekte. Özetle, kullanacağımız refund veri katmanı içeriğimiz şu şekilde olacaktır.

window.dataLayer = window.dataLayer || [];

// UA
dataLayer.push({
  'ecommerce': {
    'refund': {
      'actionField': {
        'id': 'T12345' // Benzersiz İşlem ID'si (Transaction ID) / Tip: string (gerekli)
      }
    }
  }
});

// GA4
dataLayer.push({
  'event': 'refund',
  'ecommerce': {
    'transaction_id': 'T12345' // Benzersiz İşlem ID'si (Transaction ID) / Tip: string (gerekli)
  }
});

Bu sayede işlem içerisindeki tüm ürünler iade edilmiş olarak Google Analytics’e Geri Ödeme Tutarı olarak iletilir. Peki, ilgili işlem içerisinden sadece ürün adedi ya da belirli ürünlerde iade işlemi gerçekleştirmek istersek ilgili veri katmanını nasıl kullanabiliriz? Bu durumda ilgili işlem ID’si altında adet eksilteceğimiz ve/veya ürünü olduğu gibi iade edebileceğimiz şekilde şu eklemeleri yaparız:

// UA
dataLayer.push({
  'event': 'refund',
  'ecommerce': {
    'refund': {
      'actionField': { 'id': 'T12345' }, // Benzersiz İşlem ID'si (Transaction ID) / Tip: string (gerekli)
      'products': [
            { 'id': 'P4567', 'quantity': 1 }, // Benzersiz Ürün ID'si ve Ürün Adedi
            { 'id': 'P8901','quantity': 2 }
       ]
     }
  }
});

// GA4
dataLayer.push({
  'event': 'refund',
  'ecommerce': {
      'transaction_id': 'T12345', // Benzersiz İşlem ID'si (Transaction ID) / Tip: string (gerekli)
      'items': [
        { 'item_id': 'P4567', 'quantity': 1 }, // Benzersiz Ürün ID'si ve Ürün Adedi
        { 'item_id': 'P8901', 'quantity': 2 }
      ]
  }
});

Yukarıdaki örnekte P4567 ID’li üründen 2 tane alındığını varsayalım. Bu durumda alım işleminden ilgili ID’deki 1 ürün iade edilmiş olacaktır. İlgili üründen 1 adet alınmış ise ürün tamamen iade edilmiş olur. Benzer durum P8901 ID’li ürün için de geçerli. Tamamlanmış bir işlem içeriğinden 1 veya daha fazla ürün bu şekilde ID’ler aracılığıyla iade edilmiş olarak iletilebilir. Elbette ürün bildirimini detaylı bir şekilde de iletebiliriz.

// UA
dataLayer.push({
  'event': 'refund',
  'ecommerce': {
    'refund': {
      'actionField': {
        'id': 'T12345'
      },
      'products': [{
        'id': 'P4567',
        'name': 'Newage T-Shirt',
        'price': '31.00',
        'quantity': 1
      }]
    }
  }
});

// GA4
dataLayer.push({
  'event': 'refund',
  'ecommerce': {
      'transaction_id': 'T12345',
      'items': [{
       'item_name': 'Donut Friday Scented T-Shirt',
       'item_id': '67890',
       'price': '33.75',
       'item_brand': 'Google',
       'item_category': 'Apparel',
       'item_category_2': 'Mens',
       'item_category_3': 'Shirts',
       'item_category_4': 'Tshirts',
       'item_variant': 'Black',
       'item_list_name': 'Search Results',
       'item_list_id': 'SR123',
       'index': 1,
       'quantity': '1'
      }]
  }
});

Yukarıdaki örnekte hem işlem ID’si, hem ürün ID’si belirtilmiş ek olarak ürün detaylarına ve "event": "refund", şeklinde refund etkinliğine yer verilmiştir. Günlük işlem raporları oluşturarak gün sonunda gerçekleşen toplam işlemlerin e-posta olarak iletilmesini sağlayabilirsiniz ya da ortalama işlem tutarında olası olumlu ve/veya olumsuz değişimleri fark etmek amacıyla uyarılar oluşturabilirsiniz. Ancak, önemli olanın günlük aksiyonlar dışında olası iadeleri de raporlara yansıtarak haftalık ve aylık raporlar üzerinden değerlendirmek olduğunu unutmamalısınız. Unutmadan, iade işleminde işlem tutarının tamamını belirtmek durumunda değilsiniz. Örneğin, 'revenue': '59.89' olarak belirtilen işlemde ürün fiyatı ve/veya ‘revenue’: ‘40.89’ gibi yeniden belirtilerek olası masraflar ya da kupon değeri ayrıca düşülebilir.

Geliştirilmiş e-ticarete dair dikkat edilmesi gereken diğer detaylar ve ilgili olaylar için Enhanced Ecommerce, Google Analytics Hedefler ve Funnel İşlemleri, Google Tag Manager dataLayer ve E-Ticaret Etkinlikleri, Google Analytics E-Ticaret Raporları ve Etkinlik Kurulumları, Google Analytics / GTM UA3 ve GA44 yardım sayfalarını inceleyebilirsiniz.