GA4 Tracking Acil Onarım: 0 Oturum Sorunu Çözümü | NextLog
GA4 Tracking Neden Kırıldı? 0 Oturum Raporunun Anatomisi
Google Analytics 4 raporlarınızda iki gündür sıfır oturum görmek, pazartesi sabahı yönetim toplantısında sunacağınız verilerin buharlaştığı anlamına gelir. NextLog5651 gibi kurumsal bir 5651 loglama ve hotspot çözümü sunan platformda, ziyaretçi davranışı analitiği yalnızca pazarlama performansı değil, aynı zamanda ürün sayfalarındaki dönüşüm hunilerini, demo talep formlarının tamamlanma oranlarını ve entegrasyon dokümanlarına erişim sıklığını izlemek için kritiktir. Sıfır oturum raporu dört temel nedenden biri veya birkaçının birleşimiyle ortaya çıkar: Measurement ID yanlış veya eksik, gtag.js script bloğu silinmiş ya da yanlış konumlandırılmış, Google Tag Manager container'ı yayından kaldırılmış veya veri akışı (data stream) yapılandırması bozulmuş olabilir.
Gerçek dünya senaryosunda, bir CMS güncellemesi sırasında tema dosyalarının üzerine yazılması, bir geliştirici tarafından "gereksiz" sanılarak script etiketinin temizlenmesi veya Tag Manager'da yanlışlıkla container versiyonunun geri alınması sık karşılaşılan hatalar arasındadır. Özellikle NextLog5651 gibi teknik dokümantasyon ağırlıklı sitelerde, her sayfa görüntüleme ve form etkileşimi — FortiGate entegrasyon kılavuzu indirme, MikroTik kurulum videosu oynatma, Opera PMS log saklama süresi hesaplayıcı kullanımı — veri noktası olarak değerlidir. Bu rehber, sorunu 18:00 son teslim tarihine kadar teşhis edip düzeltmeniz için adım adım kontrol listesi ve somut komutlar sunar.
Measurement ID ve Veri Akışı Kontrolü: İlk Doğrulama Adımı
Google Analytics 4'te her property bir veya birden fazla veri akışına (web, iOS, Android) sahiptir ve her web akışı benzersiz bir Measurement ID (G-XXXXXXXXXX formatında) taşır. İlk kontrol noktanız, GA4 Admin panelinde (Analytics hesabı > Property > Veri Akışları) listelenen Measurement ID ile sitenizin kaynak kodunda bulunan ID'nin birebir eşleşip eşleşmediğidir. Tarayıcınızda nextlog5651.com ana sayfasını açın, sağ tıklayıp "Sayfa Kaynağını Görüntüle" (View Page Source) seçeneğini kullanın ve G- ile başlayan bir string arayın. Eğer hiçbir sonuç çıkmazsa, gtag.js script bloğu tamamen eksik demektir.
Veri akışı ayarlarında "Gelişmiş ölçüm" (Enhanced Measurement) özelliklerinin açık olduğundan emin olun: sayfa görüntülemeleri, kaydırmalar, giden bağlantılar, site içi arama ve video etkileşimleri otomatik olarak izlenir. NextLog5651 sitesinde "5651 sayılı kanun log saklama süresi" gibi dahili arama terimleri veya "FortiGate syslog yapılandırma PDF" gibi doküman indirmeleri bu özellik sayesinde yakalanır. Veri akışı durumu "Veri alıyor" yerine "Son 48 saatte veri alınmadı" uyarısı gösteriyorsa, sorun kesinlikle implementasyon katmanındadır.
Admin Panelinde Yapılması Gereken Kontroller
- Property Ayarları: Doğru property'de çalıştığınızdan emin olun; birden fazla test/production property varsa karışıklık yaygındır.
- Veri Akışı URL'si: Akış ayarlarında tanımlı alan adı https://www.nextlog5651.com olmalı, http:// veya nextlog5651.com (www olmadan) gibi varyantlar yanlış eşleşmelere yol açabilir.
- Veri Saklama Süresi: Olay verisi saklama 2 ay veya 14 ay seçeneklerinden biri seçilmiş olmalı; bu ayar geçmişe dönük raporları etkiler ancak canlı veri akışını kesmez.
- IP Anonimleştirme: GA4'te varsayılan olarak aktiftir, ancak KVKK uyumluluğu için data retention ve kullanıcı silme isteklerini işleyebilme prosedürünüzü gözden geçirin.
gtag.js Script Bloğu Anatomisi ve Doğru Yerleşim
GA4 tracking kodu, HTML belgesinin <head> bölümünde, tercihen diğer tüm script'lerden önce yer almalıdır. Standart gtag.js implementasyonu iki bölümden oluşur: Google Tag Manager kütüphanesini yükleyen script etiketi ve gtag() fonksiyonunu başlatan satır içi script bloğu. Aşağıdaki yapı, NextLog5651 sitesi için doğru bir örnektir (Measurement ID'nizi kendi gerçek ID'nizle değiştirin):
Doğru gtag.js Yapısı:
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-XXXXXXXXXX');
</script>
Yaygın hatalar arasında async attribute'unun eksik olması (sayfanın yüklenmesini bloke eder), dataLayer dizisinin başlatılmaması, gtag('config', ...) satırında yanlış veya eski Universal Analytics ID'sinin (UA-XXXXXX formatında) kullanılması yer alır. Eğer siteniz WordPress, Joomla veya özel bir CMS kullanıyorsa, tema dosyalarında header.php, index.html veya layout template'lerinde bu bloğu arayın. NextLog5651 gibi çok dilli sitelerde, her dil versiyonunun aynı tracking kodunu taşıdığından emin olun; bazen Türkçe ve İngilizce alt alan adları farklı template'ler kullanır.
Tarayıcı Geliştirici Araçlarıyla Canlı Doğrulama
Chrome DevTools (F12) veya Firefox Developer Tools'u açın, Network sekmesine geçin ve sayfayı yenileyin (Ctrl+R). Filtre kutusuna collect yazın ve google-analytics.com/g/collect veya googletagmanager.com/gtag/js isteklerini arayın. Başarılı bir istek 200 HTTP durum kodu döner ve Query String Parameters bölümünde tid=G-XXXXXXXXXX (Measurement ID) ile en=page_view (event name) parametrelerini görmelisiniz. Eğer bu istekler hiç gözükmüyorsa, script bloğu ya hiç yüklenmemiş ya da JavaScript hatası nedeniyle çalışmamıştır.
Console sekmesinde kırmızı hata mesajları olup olmadığını kontrol edin. gtag is not defined hatası, gtag.js kütüphanesinin yüklenmediğini; Uncaught ReferenceError: dataLayer is not defined hatası ise satır içi script bloğunun kütüphane yüklenmeden önce çalıştırıldığını gösterir. Bu durumda script etiketlerinin sırasını düzeltin veya async yerine defer kullanmayı deneyin (ancak GA4 dokümantasyonu async önerir).
Google Tag Manager Entegrasyonu: Container ve Tetikleyici Kontrolü
Eğer NextLog5651 sitesi gtag.js yerine Google Tag Manager (GTM) kullanıyorsa, kontrol süreci farklıdır. GTM container snippet'i (GTM-XXXXXXX formatında bir ID içerir) yine <head> ve <body> başlangıcında yer almalıdır. GTM workspace'inde şu adımları izleyin:
- Container Versiyonu: Workspace'te yayınlanmamış değişiklikler varsa, "Gönder" (Submit) butonuna tıklayarak yeni bir versiyon yayınlayın. Son yayınlanan versiyonun tarihini kontrol edin; iki gün önceki bir değişiklik sonrası yayınlanmamış olabilir.
- GA4 Configuration Tag: Tags bölümünde "Google Analytics: GA4 Configuration" tipinde bir etiket olmalı. Tag Type doğru seçilmiş (GA4 Configuration, GA4 Event değil), Measurement ID alanına doğru G-XXXXXXXXXX girilmiş ve Triggering kısmında "All Pages" tetikleyicisi atanmış olmalıdır.
- Tetikleyici (Trigger) Ayarları: "All Pages" tetikleyicisi, Page View event'inde tüm sayfalarda ateşlenmelidir. Eğer özel bir tetikleyici kullanıyorsanız (örneğin yalnızca belirli URL path'lerinde), filtrelerin NextLog5651'in tüm önemli sayfalarını kapsadığından emin olun.
- Önizleme Modu: GTM arayüzünde sağ üstteki "Önizleme" (Preview) butonuna tıklayın, açılan pencereye
https://www.nextlog5651.comgirin. Tag Assistant penceresi açılacak; burada GA4 Configuration tag'inin "Tags Fired" listesinde görünmesi gerekir. Eğer "Tags Not Fired" altındaysa, tetikleyici koşulları sağlanmamış demektir.
GTM Debug Console ile Adım Adım İzleme
Tag Assistant (eski adıyla GTM Preview Mode) her sayfa yüklendiğinde hangi etiketlerin ateşlendiğini, hangi değişkenlerin (variables) ne değer döndürdüğünü ve hangi tetikleyicilerin aktif olduğunu gösterir. NextLog5651 ana sayfasında, "5651 Loglama Çözümleri" ürün sayfasında ve "FortiGate Entegrasyonu" doküman sayfasında ayrı ayrı test yapın. Her sayfada Container Loaded → Page View event'i → GA4 Configuration tag fired sırasını görmelisiniz. Eğer Container Loaded görünmüyorsa, GTM snippet'i sayfada yok veya JavaScript hatası var demektir.
GTM Variables sekmesinde {{Page URL}}, {{Page Path}} gibi built-in değişkenlerin doğru değerleri döndürdüğünden emin olun. Özel değişkenler (örneğin kullanıcı rolü, oturum ID'si) tanımlıysa, bunların undefined dönmediğini kontrol edin; undefined değişkenler bazı tetikleyicileri bloke edebilir.
Gerçek Zamanlı Test ve Doğrulama Yöntemleri
GA4 Admin panelinde Gerçek Zamanlı (Realtime) raporuna gidin. Bir tarayıcı penceresinde NextLog5651 sitesini açın, birkaç sayfada gezinin (ana sayfa → Ürünler → 5651 Loglama → KVKK Uyumlu Hotspot → İletişim). Gerçek zamanlı raporda 30 saniye içinde en az bir aktif kullanıcı ve sayfa görüntüleme görünmelidir. Eğer hiçbir veri gelmiyorsa, aşağıdaki kontrol listesini uygulayın:
| Kontrol Noktası | Beklenen Durum | Sorun Belirtisi | Çözüm Adımı |
|---|---|---|---|
| Measurement ID eşleşmesi | Kaynak kodda ve GA4'te aynı G-XXXXXXXXXX | Farklı ID veya kaynak kodda yok | Doğru ID'yi header'a ekle, cache temizle |
| gtag.js yüklenmesi | Network sekmesinde 200 OK | 404 veya hiç istek yok | Script src URL'ini kontrol et, CDN erişimini doğrula |
| dataLayer başlatma | Console'da window.dataLayer dizi döner |
undefined veya hata | Script sırasını düzelt, inline bloğu kontrol et |
| collect isteği | /g/collect?...tid=G-XXX...en=page_view |
İstek gönderilmiyor | gtag('config') satırını doğrula, JS hatası ara |
| GTM container yükleme | Network'te gtm.js?id=GTM-XXX 200 OK |
404 veya yok | Container snippet'ini head/body'ye ekle |
| GTM tag ateşleme | Preview modda "Tags Fired" listesinde GA4 tag | "Tags Not Fired" veya hiç görünmüyor | Tetikleyici koşullarını genişlet, tag tipini doğrula |
| Ad blocker etkisi | Gizli mod veya farklı tarayıcıda test | Normal modda çalışmıyor | Kullanıcıya ad blocker kapatma talimatı, sunucu taraflı tracking düşün |
| CORS/CSP politikası | Console'da CORS hatası yok | blocked by CORS policy hatası |
Sunucu CSP header'ında script-src'ye googletagmanager.com ekle |
Google Tag Assistant ve GA Debugger Eklentileri
Chrome Web Store'dan Google Tag Assistant veya GA Debugger eklentilerini yükleyin. Tag Assistant, sayfadaki tüm Google etiketlerini (Analytics, Ads, Tag Manager) listeler ve her birinin durumunu (çalışıyor/hatalı) renkli ikonlarla gösterir. NextLog5651 ana sayfasında eklentiyi etkinleştirin; yeşil tik GA4'ün düzgün çalıştığını, sarı uyarı küçük sorunları (örneğin referrer bilgisi eksik), kırmızı hata kritik yapılandırma hatalarını işaret eder.
GA Debugger, tarayıcı console'unda detaylı log mesajları üretir: hangi hit'lerin gönderildiği, hangi parametrelerin dahil edildiği, hangi filtrelerin uygulandığı. Sent beacon mesajını görüyorsanız, istek başarıyla gönderilmiştir. Abort veya Failed mesajları network sorunlarına veya yanlış endpoint'lere işaret eder.
Yaygın Kırılma Senaryoları ve Hızlı Çözümler
Senaryo 1: CMS Güncellemesi Sonrası Kod Kaybı — WordPress, Joomla veya özel CMS'lerde tema veya eklenti güncellemeleri bazen header dosyalarını varsayılan haline döndürür. NextLog5651 sitesi WordPress kullanıyorsa, Appearance → Theme Editor → header.php dosyasını kontrol edin veya bir header/footer eklentisi (Insert Headers and Footers gibi) kullanarak tracking kodunu merkezi bir yerden yönetin. Alternatif olarak, Google Site Kit eklentisi GA4 entegrasyonunu otomatikleştirir ve güncelleme sonrası kod kaybını önler.
Senaryo 2: CDN veya Caching Katmanı Eski Sürümü Sunuyor — Cloudflare, Akamai veya sunucu tarafı cache (Varnish, Redis) kullanıyorsanız, header'a eklediğiniz yeni script bloğu henüz cache'e yansımamış olabilir. Cloudflare dashboard'unda "Purge Everything" yapın, sunucu cache'ini temizleyin (php artisan cache:clear veya redis-cli FLUSHALL gibi), ardından tarayıcınızda hard refresh (Ctrl+Shift+R) yaparak test edin. NextLog5651 gibi yüksek trafikli sitelerde, cache TTL'sini kısaltmayı veya HTML sayfalarını cache'ten hariç tutmayı düşünün.
Senaryo 3: Çoklu Domain veya Alt Alan Adı Yapılandırması — Eğer NextLog5651 hem www.nextlog5651.com hem de nextlog5651.com (www olmadan) veya en.nextlog5651.com gibi alt alan adlarında yayındaysa, GA4 veri akışı ayarlarında tüm varyantları "referrer exclusion list"e eklemeniz gerekir. Aksi halde, kullanıcı www'dan www olmayan versiyona geçtiğinde yeni bir oturum başlatılır ve tracking kesilir. GA4 Admin → Veri Akışı → Gelişmiş Ayarlar → Unwanted Referrals bölümünde kendi alan adınızı ekleyin.
Senaryo 4: JavaScript Framework (React, Vue, Angular) SPA Routing — NextLog5651 sitesi Single Page Application mimarisi kullanıyorsa, ilk sayfa yüklemesinde gtag.js çalışır ancak sonraki sayfa geçişleri (client-side routing) otomatik olarak izlenmez. Her route değişiminde manuel olarak gtag('config', 'G-XXXXXXXXXX', {'page_path': yeniPath}); çağrısı yapmanız veya GTM'de History Change tetikleyicisi kullanmanız gerekir. React Router kullanıyorsanız, useEffect hook'u içinde her location.pathname değişiminde page_view event'i gönderin.
KVKK ve 5651 Uyumlu Analytics Yapılandırması
NextLog5651, 5651 sayılı kanun kapsamında internet erişim sağlayıcılarına ve toplu kullanım sağlayıcılarına (otel, AVM, kamu kurumu hotspot'ları) log saklama yükümlülüğü getiren bir çözüm sunar. Aynı yasal çerçeve, web sitesi analitiği için de veri koruma prensiplerine uymayı zorunlu kılar. GA4 implementasyonunuzda şu KVKK uyumluluk adımlarını uygulayın:
- IP Anonimleştirme: GA4'te varsayılan olarak aktiftir; kullanıcı IP adresleri tam olarak saklanmaz, coğrafi konum şehir düzeyinde raporlanır.
- Çerez Onayı (Cookie Consent): KVKK'nın 5. ve 6. maddeleri uyarınca, analitik çerezler için kullanıcı onayı almanız gerekir. GTM'de Consent Mode v2 entegrasyonu yapın; kullanıcı onay vermeden GA4 etiketleri ateşlenmez, onay verdiğinde geçmişe dönük ölçüm (conversion modeling) devreye girer.
- Veri Saklama ve Silme: GA4 Admin → Veri Ayarları → Veri Saklama bölümünde olay verisi saklama süresini 14 ay ile sınırlayın. Kullanıcı silme talebi geldiğinde, User Explorer raporundan Client ID veya User ID ile kullanıcıyı bulup "Kullanıcıyı Sil" seçeneğini kullanın.
- Veri İşleme Sözleşmesi: Google Analytics hesabınızda Admin → Hesap Ayarları → Veri İşleme Değişikliği bölümünden Google ile veri işleme sözleşmesini (Data Processing Amendment) imzalayın; bu, GDPR/KVKK uyumluluğu için zorunludur.
NextLog5651'in kendi ürünü olan 5651 loglama sist
Sık Sorulan Sorular
5651 loglama ve hotspot hakkında en çok sorulan konular.
- GA4'te neden 2 gündür 0 oturum görüyorum?
- En yaygın nedenler: gtag.js script'inin yanlışlıkla silinmesi, Measurement ID'nin yanlış girilmesi, Tag Manager container'ının yayından kaldırılması veya veri akışı ayarlarının bozulmasıdır. Sayfa kaynak kodunu kontrol ederek script varlığını doğrulayın.
- GA4 Measurement ID'mi nasıl kontrol ederim?
- GA4 Admin > Veri Akışları > Web bölümünden 'G-' ile başlayan ID'nizi görüntüleyin. Site kaynak kodunda aynı ID'nin gtag('config', 'G-XXXXXXXXXX') satırında geçtiğinden emin olun. ID uyuşmazlığı en sık yapılan hatadır.
- gtag.js script doğru yüklenmiş mi nasıl test ederim?
- Chrome DevTools > Network sekmesinde 'gtag' veya 'analytics' filtresi uygulayın. Sayfayı yenileyin ve 'https://www.googletagmanager.com/gtag/js' isteğinin 200 durum koduyla geldiğini kontrol edin. Console'da hata varsa script kırıktır.
- Tag Manager container sorunu nasıl tespit edilir?
- GTM Preview modunu açın ve sitenizde gezinin. Container yüklenmiyorsa veya GA4 tag'i tetiklenmiyorsa, GTM script'inin <head> bölümünde ve <body> açılışında doğru yerleştirildiğini kontrol edin. Container ID (GTM-XXXXXX) doğruluğunu teyit edin.
- Acil GA4 onarımı için öncelik sırası nedir?
- 1) Sayfa kaynağında gtag.js veya GTM script varlığını kontrol edin, 2) Measurement ID veya Container ID'nin doğruluğunu teyit edin, 3) Browser Console'da JavaScript hatalarını inceleyin, 4) GA4 DebugView'da gerçek zamanlı veri akışını test edin, 5) Değişiklikleri production'a deploy edin.
Ağınızın Güvenliğini Şansa Bırakmayın
NextLog 5651 Loglama ve Hotspot sistemleriyle işletmenizi yasal risklerden koruyun.