Purchase raporlarında source sütununa baktığınızda (direct)/(none) oranı %40’ın üzerindeyse, muhtemelen verileriniz yanlış değil, ölçüm altyapınızda bazı aksaklıklar var. Google Ads ve Meta reklamlarına bütçe ayırıyorsunuz, tıklamalar geliyor, satışlar oluşuyor ama GA4 bu satışları reklam kaynakları ile ne ölçüde ilişkilendiriyor, emin olamıyorsunuz. Bu durum raporlarda şişmiş bir direct oranı ve güvenilirliği tartışmalı attribution verileri anlamına gelebilir.
Bu yazıda GA4’ün attribution modellerinin nasıl çalıştığını, direct artışının ve kaynaklar arası aktarımdaki olası sorunların kök nedenlerini ve mevcut yapınızı nasıl denetleyeceğinizi ele almaya çalıştım. Elbette çözüm sihirli bir değnek ile tek hamlede çözülecek bir sorun değil; referral exclusion’dan UTM disiplinine, enhanced conversions’dan first-party cookie tabanlı source tagging’e kadar birden fazla katmanın birlikte ele alınması gerekiyor.
GA4’te Attribution Nasıl Çalışır
GA4, Universal Analytics’ten farklı olarak session bazlı değil, event bazlı bir ölçüm mimarisi kullanıyor. Yani, her etkileşim bir event, her event bir veya birden fazla touchpoint olarak attribution hesabına giriyor1.
3 Attribution Modeli
GA4’te 3 attribution modeli mevcut1:
| Model | Nasıl çalışır | Ne zaman kullanılır |
|---|---|---|
| Data-driven attribution (DDA) | Makine öğrenimi ile dönüşen ve dönüşmeyen yolculukları karşılaştırarak her touchpoint’e oransal kredi atar | Yeterli veri varsa varsayılan ve en doğru model |
| Paid and organic last click | Dönüşümden önceki son tıklamaya tüm krediyi verir (direct hariç) | Basit raporlama, düşük trafikli property’ler |
| Google paid channels last click | Sadece Google Ads tıklamalarına kredi atar, diğer kanallar için last-click kullanır | Google Ads odaklı optimizasyon |
Her üç modelde de direct ziyaretler yolculuk tamamen direct ziyaretlerden oluşmadığı sürece1 attribution kredisi almaz.
DDA’nın çalışması için property’de minimum 400 key event ve lookback window içinde 20.000 toplam key event gerekir. Eşiğin altında GA4 sessizce last-click modeline düşer ve bunu kullanıcıya bildirmez2. Property’nizin hangi modeli kullandığını doğrulamadan DDA raporlarına pek güvenmemenizi öneririm.
Scope Farkı: Event, Session, User
GA4 raporlarında aynı source/medium verisi farklı scope’larda farklı görünür:
| Scope | Dimension örneği | Ne gösterir |
|---|---|---|
| Event | Source, Medium, Campaign | Attribution modeline göre dağıtılmış kredi |
| Session | Session source, Session medium | Session’ı başlatan kaynağın son tıklaması |
| User | First user source, First user medium | Kullanıcının ilk geldiği kaynak |
Attribution model değişikliği sadece event scope dimension’ları etkiler. Session source ve First user source gibi dimension’lar model değişikliğinden etkilenmez3.
Lookback Window
GA4 varsayılan olarak iki farklı lookback window kullanır3:
- Acquisition key events: 30 gün
- Engagement key events: 90 gün
Satış döngüsü 30 günün üzerinde olan işletmelerde (B2B, yüksek fiyatlı ürünler) varsayılan acquisition window, üst funnel kampanyalarının katkısını sistematik olarak görmezden gelir3.
Key Events ve Conversions Ayrımı
2024’te GA4, conversion ve key event kavramlarını ayırdı4:
- Key event: İşletme için önemli olan herhangi bir event. GA4 raporlarında görünür.
- Conversion: Google Ads kampanya optimizasyonu ve raporlaması için kullanılan event. Google Ads ve GA4 arasında tutarlı ölçüm sağlar.
Bu ayrım önemli çünkü attribution raporlarında hangi event türünü seçtiğinize göre farklı veriler görürsünüz. Attribution analysis raporu conversion’lar üzerinden çalışırken, key event raporları tüm kanallarda (paid, organic, direct) kredi dağıtır5.
Direct Şişmesinin 6 Kök Nedeni
Direct şişmesi tek bir sorundan kaynaklanmaz. Altı farklı kök neden, genellikle üst üste binerek purchase event’lerinde attribution kaybına yol açar.
1. Ödeme Yönlendirmeleri
PayTR, iyzico, Stripe gibi ödeme sağlayıcıları kullanıcıyı kendi domain’lerine yönlendirir. Ödeme tamamlandığında kullanıcı siteye geri döner, ancak GA4 bu dönüşü yeni bir session olarak algılayabilir. Yeni session’ın source’u: ödeme sağlayıcısının domain’i veya direct.
Tespit: GA4’te Session source/medium raporunda iyzico.com / referral, paytr.com / referral gibi kaynaklar görüyorsanız, bu durum ile ilgili daha detaylı bir inceleme yapmanız gerekebilir.
Çözüm: Referral exclusion listesine ödeme domain’lerini ekleyin (Bkz. Mevcut Yapı Denetimi bölümü).
2. iOS ve Safari ITP
Safari’nin Intelligent Tracking Prevention (ITP) politikası, JavaScript ile oluşturulan cookie’leri 7 güne, reklam tıklamasından gelen URL parametrelerine dayanan cookie’leri 24 saate kısıtlıyor6. Kullanıcı bugün Google Ads’ten tıklayıp 3 gün sonra satın alma yapıyorsa, Safari bu ziyareti orijinal reklam kaynağına bağlayamıyor.
Türkiye’de iOS kullanım oranı (StatCounter, Mart 2026) masaüstü dahil tüm cihazlarda %30 civarında7. E-ticaret sitelerinde bu oran ürün kategorisine göre %25-45 arasında değişiyor.
Tespit: GA4’te Device category ve Operating system dimension’larıyla purchase event’lerini filtreleyin. iOS/Safari’deki direct oranı Android/Chrome’a kıyasla belirgin şekilde yüksekse, ITP etkisi ile ilgili incelemeyi detaylandırmanız gerekir.
3. Cross-Device Yolculuklar
Kullanıcı mobilde reklamı görüyor, masaüstünde satın alıyor. GA4, kullanıcıyı bağlamak için Google Signals ve User-ID kullanıyor, ancak her iki koşulun da sağlanması gerekiyor: kullanıcının Google hesabına giriş yapmış olması ve site tarafında User-ID implementasyonu. Bu koşullar sağlanmadığında her cihaz ayrı bir kullanıcı olarak sayılıyor2.
Tespit: GA4’te Cross-device raporunu kontrol edin. User-ID coverage oranı düşükse, cross-device attribution ile ilgili daha detaylı bir inceleme yapmanız gerekir.
4. UTM Eksikliği
Kampanya URL’lerinin UTM parametreleri olmadan paylaşılması, GA4’ün trafiği doğru kaynaklara atamasını engeller. Özellikle Meta reklamlarında auto-tagging (fbclid) URL’ye eklenir, ancak utm_source, utm_medium, utm_campaign parametreleri ayrıca set edilmezse GA4 bu trafiği tutarsız şekilde sınıflandırabilir.
Tespit: GA4’te Campaign dimension’ı (not set) olan purchase event’lerinin oranını kontrol edin. Bu oranın yüksek olması, UTM parametreleri ile ilgili daha detaylı bir inceleme yapmanız gerektiğini gösterir.
5. Referral Exclusion Eksikliği
Ödeme sağlayıcısının domain’i GA4’ün “unwanted referrals” listesine eklenmemişse, ödeme sonrası geri dönen kullanıcı paytr.com / referral olarak yeni bir session başlatır. Bu session orijinal reklam kaynağının üzerine yazılır.
Tespit: Session source/medium raporunda ödeme domain’lerini arayın.
Çözüm: GA4 Admin > Data Streams > Configure tag settings > List unwanted referrals.
6. In-App Browser
Facebook ve Instagram reklamlarına tıklayan kullanıcılar, uygulamanın kendi tarayıcısında (in-app browser) açılır. Bu tarayıcı cihazın varsayılan tarayıcısıyla cookie paylaşmaz. Kullanıcı daha sonra Chrome veya Safari’den siteye geldiğinde GA4 bunu yeni bir kullanıcı ve yeni bir session olarak değerlendirir.
Tespit: GA4’te Browser dimension’ında “Facebook” veya “Instagram” içeren browser’ların session oranını kontrol edin. Bu session’ların conversion rate’i sıfıra yakın, ancak aynı dönemde direct conversion’lar yüksekse, in-app browser etkisi aktif.
| Kök neden | Tahmini etki | Tespit süresi | Çözüm karmaşıklığı |
|---|---|---|---|
| Ödeme yönlendirmeleri | Yüksek | 5 dk | Düşük (referral exclusion) |
| Safari ITP | Orta-Yüksek | 15 dk | Orta (server-side tracking) |
| Cross-device | Orta | 10 dk | Yüksek (User-ID implementasyonu) |
| UTM eksikliği | Değişken | 5 dk | Düşük (URL disiplini) |
| Referral exclusion eksik | Yüksek | 5 dk | Düşük (admin ayarı) |
| In-app browser | Orta | 10 dk | Yüksek (çözümü sınırlı) |
Mevcut Yapı Denetimi
Direct şişmesini azaltmanın ilk adımı, mevcut altyapıdaki eksikleri tespit etmek. Aşağıdaki 3 kontrol, 30-45 dakikada tamamlanabilir.
GA4 Admin Kontrolü
Referral exclusion listesi:
- GA4 Admin > Data Streams > Web stream’inizi seçin
- Configure tag settings > Show more > List unwanted referrals
- Ödeme domain’lerini ekleyin:
iyzico.com,paytr.com,stripe.com,param.com.trve kullandığınız diğer ödeme sağlayıcıları
Attribution ayarları:
- GA4 Admin > Events > Attribution settings
- Reporting attribution model: DDA seçili mi kontrol edin
- Lookback window: Satış döngünüze uygun mu kontrol edin
- Channels that can receive credit: “Paid and organic channels” seçili olmalı
GTM Tag Audit
Purchase tag’inizi GTM’de açın ve şunları doğrulayın:
transaction_idparametresi gönderiliyor mu?currencyvevalueparametreleri doğru mu?- Tag’in trigger’ı doğru purchase event’ine bağlı mı?
- Enhanced conversions aktif mi?
transaction_id eksikliği GA4’ün aynı purchase’ı farklı session’lardan gelen duplike event olarak saymasına yol açabilir.
URL Parametreleri Canlı Testi
Reklam platformlarınızdan gelen URL’leri gerçek bir tarayıcıda test edin:
- Google Ads: URL’de
gclidparametresi var mı? - Meta Ads: URL’de
fbclidvar mı?utm_source,utm_medium,utm_campaignekleniyor mu? - Email kampanyaları: UTM parametreleri doğru formatta mı?
# Google Ads (auto-tagging)
https://orneksite.com/?gclid=Cj0KCQjw...
# Meta Ads (UTM + fbclid)
https://orneksite.com/?utm_source=facebook&utm_medium=paid_social&utm_campaign=TR_retargeting&fbclid=Ab12...
# Email
https://orneksite.com/?utm_source=newsletter&utm_medium=email&utm_campaign=nisan_kampanya
Attribution Raporlarını Doğru Okuma
GA4’ün attribution raporları Advertising bölümünde yer alır. İki temel rapor türü farklı soruları cevaplar.
Attribution Analysis: Last Click
Last Click raporu iki temel metrik sunar8:
- Assists: Dönüşüm yolculuğunda son tıklama öncesindeki etkileşim sayısı
- All conversions: Toplam dönüşüm sayısı ve seçili kanalın payı
Bir kanalın assist sayısı yüksek ama last touch conversion sayısı düşükse, o kanal üst funnel’da etkili ancak son adımda kredi almıyor demektir. Bu durum özellikle display ve social kampanyalarda yaygındır.
Attribution Analysis: Data-Driven (DDA)
DDA raporu, touchpoint’leri yolculuktaki konumlarına göre 4 kategoriye ayırır9:
| Metrik | Açıklama |
|---|---|
| Single touchpoint | Tek etkileşimle dönüşen yolculuklardaki DDA kredisi |
| Early touchpoint | Çoklu etkileşim yolculuğunun ilk %25’indeki kredi |
| Mid touchpoint | Yolculuğun ortasındaki kredi |
| Late touchpoint | Yolculuğun son %25’indeki kredi |
Bu rapor, hangi kanalların yolculuğun hangi aşamasında etkili olduğunu gösterir. Google Ads early touchpoint kredisi yüksek ancak late düşükse, kullanıcılar reklamla tanışıyor ama son adımda farklı bir kanaldan dönüyor demektir.
Conversion Paths
Advertising > Attribution > Attribution paths raporunda dönüşüme giden yolculukları görebilirsiniz. Bu raporda dikkat edilmesi gereken:
- Direct yoğunluğu: Yolculukların büyük çoğunluğu “Direct > Direct > Purchase” şeklindeyse, yukarıdaki kök nedenler aktif
- Kanal geçişleri: “Organic Search > Direct > Purchase” yolculuğu yüksekse, referral exclusion veya session timeout sorunu olabilir
Explore ile Custom Dimension Analizi
GA4’ün standart raporları direct şişmesinin detayını göstermekte yetersiz kalabilir. Explore raporunda custom dimension’lar kullanarak daha derin analiz yapılabilir. Örneğin, purchase event’ine eklenen first-party source bilgisi ile GA4’ün gördüğü source/medium arasındaki farkı karşılaştırabilirsiniz.
First-party cookie ile source tagging implementasyonu, GA4 attribution modeline dokunmadan purchase event’ine gerçek kaynak bilgisini custom dimension olarak ekler. GTM Custom HTML tag’leri ve GA4 custom dimension kurulumu dahil uygulama rehberi için GA4 Source/Medium Debugging: First-Party Cookie ile Gerçek Kaynak Tespiti yazısına bakın.
Çözüm Yaklaşımları
Direct şişmesini tek bir yöntemle çözmek mümkün değil. Her çözüm farklı bir kök nedeni hedefler ve birlikte uygulandığında kümülatif etki oluşturur.
Quick Wins (30 Dakika)
- Referral exclusion: Ödeme domain’lerini ekleyin
- UTM disiplini: Tüm kampanya URL’lerine UTM parametreleri ekleyin
- Attribution ayarları: DDA aktif mi, lookback window uygun mu kontrol edin
Orta Vadeli Çözümler
- Enhanced conversions: Hashed email veya telefon bilgisiyle cross-device ve cross-session eşleştirme10
- User-ID implementasyonu: Giriş yapan kullanıcılar için cihazlar arası bağlantı
- First-party cookie source tagging: Landing’de UTM/gclid/fbclid bilgisini cookie’ye yazma, purchase’da custom dimension olarak GA4’e gönderme
Uzun Vadeli Çözümler
- Server-side tracking: sGTM veya Cloudflare Zaraz ile client-side kayıpları minimize etme. Edge’de toplanan event’leri server-side katmanda işleyip zenginleştirerek birden fazla hedefe (Meta CAPI, GA4 Measurement Protocol, Google Ads) dağıtmak, attribution kaybını önemli ölçüde azaltır. Bu yaklaşımı dnomia bünyesinde geliştirdiğimiz Scout ile uyguluyoruz. Meta tarafında 12 Ocak 2026’da Ads Insights API’nin view-through attribution pencereleri daraldı; bu kayıp BigQuery’de bir telafi katmanıyla kapatılabiliyor, somut mimariyi Meta Attribution Penceresi Daraldı yazısında anlattım.
- Marketing Mix Modeling: Attribution’ın ölçemediği boşlukları toplam seviyede modelleme
Attribution ve MMM birbirinin alternatifi değil, tamamlayıcısı. Attribution kullanıcı seviyesinde “hangi tıklama bu satışa yol açtı?” sorusunu cevaplarken, MMM toplam seviyede “bu kanala 10.000 TL daha harcasam ne olur?” sorusunu cevaplar. İkisini birlikte kullanmak, consent kayıplarının yarattığı kör noktaları kapatır. Detaylı MMM rehberi: Reklam Bütçesi Optimizasyonu: Marketing Mix Modeling ile Veri Odaklı Karar Verme.
Kritik Kurallar
İki önemli kısıtlama, çözüm uygulamalarında her zaman göz önünde bulundurulmalı:
-
Custom dimension attribution modelini etkilemez. First-party cookie ile gönderilen
first_touch_sourcegibi parametreler event-scope custom dimension olarak GA4’e gider. GA4’ün DDA veya last-click hesaplamasına dahil olmaz. Sadece raporlamada secondary dimension olarak kullanılır. -
Consent yoksa cookie set etme. First-party cookie çözümü, kullanıcının analytics_storage iznini vermiş olmasını gerektirir. KVKK ve GDPR uyumlu bir consent yapısında, izin verilmeden cookie yazılmamalıdır. GTM’de trigger koşuluna
analytics_storage: grantedşartı eklenmelidir.
GA4 attribution kaybını tespit eden first-party cookie çözümü, Umami doğrulama katmanı ve BigQuery analiz pipeline'ı, mağazanıza özel kurulum desteği ile.
İletişime GeçinFootnotes
- Google Analytics Help, Get started with attribution ↩ ↩2 ↩3
- Google Analytics Help, Attribution analysis report Data-driven model ↩ ↩2
- Google Analytics Help, Select attribution settings ↩ ↩2 ↩3
- Google Analytics Help, Conversions vs. key events in Google Analytics ↩
- Google Analytics Help, Cross-channel conversion reporting in Analytics ↩
- WebKit Blog, Full Third-Party Cookie Blocking and More ↩
- StatCounter Global Stats, Mobile Operating System Market Share Turkey ↩
- Google Analytics Help, Attribution analysis report Last Click model ↩
- Google Analytics Help, Attribution analysis report Data-driven model ↩
- Google Ads Help, About enhanced conversions ↩
- 01 GA4'te 3 attribution modeli var: DDA minimum 400 key event gerektirir, eşik altında sessizce last-click'e düşer
- 02 Direct şişmesinin 6 kök nedeni: ödeme redirect'leri, Safari ITP, cross-device, UTM eksikliği, referral exclusion eksik, in-app browser
- 03 Referral exclusion ve UTM denetimi 30 dakikada yapılabilecek quick win'ler, ancak sorunu tamamen çözmez
- 04 First-party cookie ile source tagging, GA4 attribution'a dokunmadan gerçek kaynağı purchase event'ine custom dimension olarak ekler
- 05 Attribution tek başına yetmez: MMM ile birlikte kullanıldığında kullanıcı seviyesi ve toplam seviye ölçüm birbirini tamamlar
+ GA4'te (direct)/(none) oranı ne kadar olmalı?
Sektöre ve trafik yapısına göre değişir, ancak e-ticaret sitelerinde purchase event'lerinde %20'nin üzeri direct oran genellikle ölçüm sorununa işaret eder. Özellikle Google Ads ve Meta reklamlarından gelen trafik yoğunsa, purchase'da direct oranının düşük olması beklenir.
+ Data-driven attribution (DDA) modeli her GA4 property'de çalışır mı?
Hayır. DDA'nın çalışması için property'de en az 400 key event ve lookback window içinde 20.000 toplam key event gerekir. Bu eşiğin altında GA4 sessizce last-click modeline düşer ve bunu kullanıcıya bildirmez.
+ Referral exclusion ne işe yarar ve nasıl ayarlanır?
Ödeme sağlayıcısının domain'i (iyzico.com, paytr.com, stripe.com) referral exclusion listesine eklenmezse, ödeme sonrası geri dönen kullanıcı yeni bir session olarak sayılır ve source bilgisi kaybolur. GA4 Admin > Data Streams > Configure tag settings > List unwanted referrals yolundan eklenir.
+ First-party cookie çözümü GA4 attribution modelini etkiler mi?
Hayır. Cookie'ye yazılan source bilgisi GA4'e event-scope custom dimension olarak gönderilir. Bu dimension attribution hesaplamasına dahil olmaz, sadece raporlamada secondary dimension olarak kullanılır.
+ Safari ITP gclid ve fbclid'i nasıl etkiliyor?
Safari ITP, JavaScript ile oluşturulan cookie'leri 7 güne, reklam tıklamasından gelen URL parametrelerini (gclid, fbclid) ise 24 saatlik cookie ömrüne kısıtlıyor. Kullanıcı 24 saat içinde dönüşüm yapmadığında GA4 bu ziyareti reklam kaynağına bağlayamıyor.