E-ticaret İleri (GA4)
1. GA4 E-ticaret Event'leri
GA4'ün e-ticaret takibi, önceden tanımlanmış event'ler ve parametreler ile çalışır. Bu standartlara uymak, monetization raporlarının otomatik doldurulmasını sağlar.
a) Tam E-ticaret Akışı
b) Zorunlu ve Önerilen Event'ler
| Event | Tetiklenme Anı | Zorunluluk |
|---|---|---|
view_item | Ürün detay sayfası görüntülendiğinde | Kritik |
add_to_cart | Sepete ekle butonuna tıklandığında | Kritik |
begin_checkout | Ödeme sayfasına geçildiğinde | Kritik |
purchase | Sipariş tamamlandığında | Zorunlu |
view_item_list | Kategori/arama sayfasında ürünler listelendiğinde | Önerilen |
add_shipping_info | Kargo bilgisi girildiğinde | Önerilen |
add_payment_info | Ödeme bilgisi girildiğinde | Önerilen |
refund | İade yapıldığında | Önerilen |
❌ Yanlış: "begin_checkout eventini eklersem satış verisi gelir"
✅ Doğru: begin_checkout yalnızca kullanıcının ödeme sayfasına geçtiğini kaydeder — satış verisini getirmez. GA4 monetization raporlarının doğru çalışması için en az purchase event'ini items dizisi, value ve currency parametreleriyle birlikte implemente etmelisiniz. E-ticaret funnel'inin tamamını görmek için view_item, add_to_cart, begin_checkout ve purchase event'lerinin hepsini ayrı ayrı kurmanız gerekir. Her event kendi parametrelerini (item_id, item_name, price, quantity) taşımalıdır.
2. dataLayer Implementasyonu
Her e-ticaret event'inin belirli parametrelerle dataLayer'a push'lanması gerekir.
a) items Dizisi (Array)
Tüm e-ticaret event'lerinde items dizisi bulunmalıdır. Her item şu parametreleri içerebilir:
| Parametre | Tür | Açıklama |
|---|---|---|
item_id | string | Ürün ID (SKU) |
item_name | string | Ürün adı |
price | number | Birim fiyat |
quantity | integer | Adet |
item_brand | string | Marka |
item_category | string | Ana kategori |
item_category2 | string | Alt kategori (5'e kadar) |
item_variant | string | Varyant (renk, beden) |
discount | number | İndirim tutarı |
coupon | string | Kupon kodu |
b) purchase Event Detaylı Örnek
dataLayer.push({ ecommerce: null });
dataLayer.push({
'event': 'purchase',
'ecommerce': {
'transaction_id': 'T-2025-001234',
'value': 3847.80,
'tax': 692.60,
'shipping': 49.90,
'currency': 'TRY',
'coupon': 'BAHAR25',
'items': [
{
'item_id': 'SKU-A100',
'item_name': 'Klasik Trençkot',
'item_brand': 'MarkaBir',
'item_category': 'Giyim',
'item_category2': 'Dış Giyim',
'item_variant': 'Bej / L',
'price': 1899.00,
'quantity': 1,
'discount': 0,
'coupon': ''
},
{
'item_id': 'SKU-B200',
'item_name': 'Deri Çanta',
'item_brand': 'MarkaIki',
'item_category': 'Aksesuar',
'item_category2': 'Çanta',
'item_variant': 'Siyah',
'price': 1899.90,
'quantity': 1,
'discount': 0,
'coupon': 'BAHAR25'
}
]
}
});
transaction_id her sipariş için benzersiz olmalıdır. Aynı ID ile birden fazla purchase event'i gönderilirse GA4 bunları çift sayabilir. Sipariş onay sayfası yenilendiğinde tekrar push yapmayı engelleyen bir mekanizma kurmalısınız.
3. Monetization Raporları
E-ticaret event'leri doğru implementasyonla GA4'ün yerleşik monetization raporlarını otomatik olarak doldurur.
a) Mevcut Raporlar
- Monetization overview: Genel gelir, satın alma ve kullanıcı sayıları.
- Ecommerce purchases: Ürün bazlı görüntülenme, sepete ekleme, satın alma ve gelir.
- Purchase journey: Otomatik funnel (open funnel) — adım bazlı kayıp oranları.
- Checkout journey: Checkout aşamalarındaki ayrıntılı akış.
4. Item-Scoped Dimensions
GA4'te bazı boyutlar "item-scoped" olarak çalışır — yani event bazında değil, ürün bazında raporlanır.
a) Item-Scoped vs Event-Scoped
- Event-scoped:
transaction_id,value,currency— siparişe ait. - Item-scoped:
item_name,item_brand,item_category,price— ürüne ait.
item_margin, item_color), GA4 Admin > Custom Definitions > Custom Dimensions'da item-scoped custom dimension oluşturmanız gerekir. Event-scoped olarak kaydettiğinizde bu veri ürün raporlarında görünmez.
5. refund Event İmplementasyonu
İade takibi, gelir raporlarının doğruluğu için kritiktir.
a) Tam İade
dataLayer.push({ ecommerce: null });
dataLayer.push({
'event': 'refund',
'ecommerce': {
'transaction_id': 'T-2025-001234',
'value': 3847.80,
'currency': 'TRY'
}
});
b) Kısmi İade
dataLayer.push({ ecommerce: null });
dataLayer.push({
'event': 'refund',
'ecommerce': {
'transaction_id': 'T-2025-001234',
'value': 1899.90,
'currency': 'TRY',
'items': [{
'item_id': 'SKU-B200',
'quantity': 1
}]
}
});
- GA4 e-ticaret event akışını (view_item_list > view_item > add_to_cart > begin_checkout > purchase) uçtan uca implemente edebilirsin.
- Her event için zorunlu ve önerilen parametreleri (items array, value, currency) doğru yapılandırabilirsin.
- Monetization raporlarını okuyarak ürün performansı, sepet terk oranı ve dönüşüm hunisi analizleri yapabilirsin.
- E-ticaret event verilerinin Google Ads Smart Bidding'e nasıl sinyal sağladığını açıklayabilirsin.
