Ölçüm · GA4 · E-ticaret · Consent Mode

Google Analytics 4 e-ticaret kurulumu: hangi olay, hangi parametre, nasıl doğrulanır?

Kısa cevap

GA4'te e-ticaret ölçümünün omurgası purchase olayıdır. Google'ın olay sözleşmesinde transaction_id ve items zorunlu; value, gelir raporlarının anlam taşıması için gerekli ve kargo ile vergiyi dışarıda bırakır; currency, value gönderildiğinde zorunludur. Ondan önceki adımlar aynı mantıkla kurulmazsa huni okunamaz. Kurulum, DebugView’da olayı görmekle bitmez; bir haftalık satın alma adedi ve tutarı sipariş kayıtlarıyla karşılaştırıldığında biter.

Ulaş Gökhan GümüşKurucu, İnovatif360 · 18 Ekim 2026 · 6 dk okuma

Kuruluma sipariş kaydından başlıyoruz

Kuruluma olay listesini kopyalayarak değil, sipariş kaydının nasıl oluştuğunu çözerek başlıyoruz. İlk sorularımız GA4’le ilgili bile değil: raf fiyatı KDV dahil mi? Kargo ayrı mı tahsil ediliyor? İndirim ürün satırına mı uygulanıyor, sepetin tamamına mı? Sipariş numarası sistemin hangi alanında duruyor?

Bu soruların sebebi sahada en sık karşılaştığımız hatalar. Bir hesabı incelediğimizde sorun çoğunlukla üç yerde çıkıyor: dönüşüm değeri, dönüşüm sayısı ve huninin önceki adımlarındaki tutarsız veri. Üçü de olay adı kusursuz yazılmışken oluşabiliyor; hata olayın taşıdığı bilgide.

Etiketlerin Google Ads, Tag Manager ve GA4 arasında nasıl bağlandığı ayrı bir mimari konu; onu gokhangumus.com'daki GTM ve GA4 yazısında anlattım. Burada olayların içine ne yazıldığına bakıyoruz.

E-ticaret hunisi: hangi olay ne taşır?

Google'ın önerdiği e-ticaret olayları bir alışveriş yolculuğunu adım adım izler1. Çoğu mağaza için çekirdek altı olay yeterli. Tabloda iki sütun var: Google'ın zorunlu saydığı çekirdek ve anlamlı raporlama için gönderilmesi gerekenler2.

E-ticaret olayları, ne zaman gönderildikleri ve parametreleri
OlayNe zamanZorunlu çekirdekAnlamlı raporlama için
view_itemÜrün detay sayfası açıldığındaitemsvalue, currency
add_to_cartÜrün sepete eklendiğindeitemsvalue, currency
begin_checkoutÖdeme akışının ilk adımındaitemsvalue, currency, coupon
add_shipping_infoTeslimat bilgisi girildiğindeitemsvalue, currency, shipping_tier
add_payment_infoÖdeme bilgisi gönderildiğindeitemsvalue, currency, payment_type
purchaseSipariş tamamlandığındatransaction_id, itemsvalue, currency, shipping, tax, coupon

Tablonun her satırında geçerli bir kural: value gönderiyorsanız currency artık seçimlik değildir2. Liste uzatılabilir (view_item_list, select_item, remove_from_cart, refund)1; ama çekirdek altı olay tutarlı değilse eklenen her olay tabloyu biraz daha bulanıklaştırır.

Huni boyunca parametre zinciriAltı e-ticaret olayı sırayla: view_item, add_to_cart, begin_checkout, add_shipping_info, add_payment_info, purchase. Her olayın altında aynı üç şerit akar: items, value, currency. add_payment_info adımında value şeridi kopuyor ve ödeme adımının gelir değeri boş kalıyor; purchase olayında transaction_id ayrıca zorunlu.view_itemitemsvaluecurrencyadd_to_cartitemsvaluecurrencybegin_checkoutitemsvaluecurrencyadd_shipping_infoitemsvaluecurrencyadd_payment_infoitemsvalue: kopukcurrencyödeme adımı gelir değeri: boşpurchase+ transaction_iditemsvaluecurrency
Şekil 1Huni boyunca parametre zinciri. Altı olayın altında aynı üç şerit akar: items · value · currency. Kopuk örnekte add_payment_info'da value şeridi kopuyor ve bozulan rapor etiketleniyor: "ödeme adımı gelir değeri: boş".
Grafik verisini tablo olarak göster
Huni olaylarının parametre şeritleri ve kopan şerit
OlayŞeritlerDurum
view_itemitems · value · currencytutarlı
add_to_cartitems · value · currencytutarlı
begin_checkoutitems · value · currencytutarlı
add_shipping_infoitems · value · currencytutarlı
add_payment_infoitems · currencyvalue kopuk — ödeme adımı gelir değeri boş
purchaseitems · value · currency · transaction_idtutarlı

purchase olayının anatomisi

Google'ın sözleşmesindeki zorunluluk düzeyleri farklı; bizim sahadaki standardımız ise dört alanın dördünü de her siparişte göndermek.

transaction_id (zorunlu). Her siparişe özgü, dinamik bir değer olmalı2. GA4 aynı kimlikle gelen satın almaları tekilleştirir; bu yalnız web akışlarında çalışır7. Boş değer daha da kötüdür: transaction_id'si boş gelen bütün satın almalar birbirinin kopyası sayılıp tekilleştirilir7. Teşekkür sayfası yenilendiğinde olayın ikinci kez gitmesi sık görülür; kimlik doğruysa GA4 kopyayı ayıklar.

items (zorunlu). Her ürün için item_id ya da item_name bulunmalı; Google ikisini birlikte öneriyor1. quantity yoksa 1 kabul edilir1. Sepette üç adet olan bir ürün quantity olmadan gelirse ürün raporları sessizce eksik sayar.

value (gelir raporları için gerekli). Google'ın tanımı tercihe bırakılmamış: value, ürünlerin fiyat × adet toplamıdır; kargo ve vergi dahil edilmez, bunlar purchase olayında ayrı shipping ve tax parametreleriyle gider2. Türkiye'de raf fiyatı KDV dahil olduğu için bu, value'ya KDV hariç ürün tutarını, tax'a KDV'yi, shipping'e kargo ücretini yazmak demek. Kurulumun çoğu zaman en çok tartışılan kısmı bu eşleme; ama bir kez sipariş kaydının alanlarıyla eşlendiğinde değişmez. Aynı value tanımını reklam platformlarında da kullanmak, paneller arasındaki tutar farkının en azından değer tanımından kaynaklanan bölümünü ortadan kaldırır. Atıf, tarih aralığı, iade ve modelleme kaynaklı farklar yine de sürer.

currency (value varsa zorunlu). Üç harfli ISO 4217 koduyla gider; Türkiye'deki bir mağaza için TRY2.

Ara adımları satın alma kadar ciddiye alın

Yalnız purchase doğru kurulduğunda gelir raporu doğru görünür ama huni yalan söyler. En tanıdık belirti: satın alma sayısının begin_checkout sayısından fazla görünmesi. Standart checkout akışında böyle bir tablo beklenmez; alternatif ödeme yolları, seçilen tarih aralığı ve ölçüm sırası ayrı ayrı kontrol edilmelidir. Olası sebepler arasında ara adımın bazı ödeme yollarında hiç tetiklenmemesi, tema ile uygulamanın aynı olayı iki kez göndermesi ve adımların farklı parametrelerle kurulması var.

Bu yüzden ara adımları purchase ile aynı disiplinle kuruyoruz: aynı items yapısı, aynı value tanımı, aynı para birimi. Kaybın hangi adımda yaşandığı sorusu bu adımlar olmadan cevaplanamaz; landing page teşhis sırasının altıncı kapısı da bu veriyle açılır.

Doğrulama: dört katman, dört farklı zaman

Kurulumu tek bir ekrana bakıp onaylamıyoruz. Her katman başka bir şeyi kanıtlıyor ve başka bir zamanda okunuyor:

  1. DebugView (anında). Tag Assistant ya da debug_mode parametresiyle kendi cihazınızdan bir test siparişi verin; olayları ve parametrelerini saniyeler içinde görürsünüz5. Bakılacak şey olayın gitmesi değil, parametrelerin dolu ve doğru gitmesi: transaction_id sipariş numarasıyla, value KDV ve kargo hariç ürün tutarıyla aynı mı? Debug modunu kapatmak için parametreyi false yapmak yetmez, tamamen kaldırmak gerekir5.
  2. Gerçek zamanlı rapor (dakikalar). Olayın sıradan bir oturumda da geldiğini gösterir6.
  3. Standart raporlar (24–48 saat). GA4'te veri işleme 24–48 saat sürebilir ve bu sürede rakamlar değişebilir6. Kurulumun ertesi sabahı bakılan gelir raporu henüz son hali değil.
  4. Sipariş kayıtlarıyla karşılaştırma (bir hafta). Asıl sınav bu. Bir haftalık satın alma adedini ve tutarını yönetim panelindeki siparişlerle yan yana koyuyoruz. Birebir tutmasını beklemiyoruz; rakamın hangi yönde ve ne kadar saptığına, bunun açıklanabilir olup olmadığına bakıyoruz. Panellerin neden hiçbir zaman birebir tutmadığı ayrı bir konu.

Onay vermeyen bir kullanıcının olayları DebugView'da görünmez5. Kendi testinizde çerez bandını reddettiyseniz boş ekran kurulumun bozuk olduğu anlamına gelmez.

Kurulum günü bakılacak iki ayar

Veri saklama süresi. Standart mülklerde kullanıcı düzeyindeki ve olay düzeyindeki veriler için 2 ya da 14 ay seçilebilir9. Ayar standart raporları etkilemez; keşifleri ve huni raporlarını etkiler9. Geçen yılın aynı dönemiyle huni karşılaştırması yapmak istiyorsanız 14 ayı kurulum günü seçin.

Geliştirici trafiği ve test siparişleri. Google, debug modundaki trafiğin raporları bozmaması için geliştirici trafiğinin filtrelenmesini öneriyor5. Test siparişlerini sipariş sisteminde de işaretleyin; haftalık karşılaştırmada iki taraftan da düşebilin.

GA4, Tag Manager ve reklam platformlarını tek bir olay mimarisinde kurup sipariş kayıtlarıyla doğruluyoruz; ölçüm altyapısı hizmetimiz bu işin kapsamını anlatıyor. Meta tarafında aynı tekilleştirme mantığı Pixel ve Conversions API eşleşmesiyle kurulur.

GA4'teki gelir, sipariş kayıtlarınızla açıklanabilir bir fark içinde değilse raporlar karar vermek için hazır değil.
Olay mimarisini kurup doğrulamayı kayıtlarla bitiriyoruz.

Ölçüm altyapısını inceleyin

Kaynaklar

  1. Google for Developers — Measure ecommerce (GA4)
  2. Google for Developers — Recommended events reference (GA4)
  3. Google for Developers — Consent mode overview
  4. Google Analytics Yardım — Verify and update consent settings in Google Analytics
  5. Google Analytics Yardım — Monitor events in DebugView
  6. Google Analytics Yardım — Data freshness
  7. Google Analytics Yardım — Minimize duplicate key events with transaction IDs
  8. Google for Developers — Debug consent mode with Tag Assistant
  9. Google Analytics Yardım — Data retention
Ulaş Gökhan Gümüş

İnovatif360 Dijital Pazarlama ve AI Otomasyon Ajansı ile Gökhan Gümüş Akademi'nin kurucusu. Acunmedya Akademi Dijital Bölüm Başkanı; 2021'den bu yana yapay zeka destekli dijital reklamcılık ve e-ticaret eğitimleri veriyor.