🔴 İxtif.com - Google Analytics Veri Kaybı Sorunu

📅 Tarih: 2025-12-04 🎯 Tenant: ixtif.com (Tenant 2) 🔍 Durum: KRİTİK SORUN TESPİT EDİLDİ

⚠️ SORUN ÖZETİ

İxtif.com sitesinde Google Analytics/Google Tag Manager verisi gelmiyor. Analiz sonucunda hard-coded GTM ID ve Settings eksikliği tespit edildi.

🔍 SORUN ANALİZİ

1. Hard-Coded GTM ID Tespit Edildi

📁 resources/views/layouts/landing/minimal.blade.php:57

Problem: GTM ID doğrudan kodda yazılmış, Settings'den çekilmiyor!

  • Bu ID muhtemelen yanlış/eski/test ID
  • Tenant 2 (ixtif.com) için özel ID olmalı
  • Minimal layout kullanılan tüm sayfalarda bu ID yükleniyor
  • ID: GTM-P8HKHCG9

2. Settings Tablosunda GTM/GA4 ID Yok

Kontrol Edilen Alanlar (Tenant 2):

Setting Key Değer Durum
marketing_gtm_id BOŞ Tanımlı değil
marketing_ga4_id BOŞ Tanımlı değil
seo_google_tag_manager_id BOŞ Tanımlı değil
seo_site_google_analytics_code BOŞ Tanımlı değil

Sonuç: Ana theme (ixtif header) hiçbir tracking kodu yüklemiyor çünkü Settings boş!

3. Birden Fazla Layout - Karışık Durum

İxtif.com sitesinde iki farklı layout var:

  • Ana Layout resources/views/themes/ixtif/layouts/header.blade.php
    • ✅ Component-based (marketing.auto-platforms)
    • ✅ Settings'den GTM ID çeker
    • ❌ Ama Settings boş olduğu için hiçbir kod yüklemiyor
  • Landing Layout resources/views/layouts/landing/minimal.blade.php
    • ❌ Hard-coded GTM ID (GTM-P8HKHCG9)
    • ❌ Settings'den çekmiyor
    • ⚠️ Bu layout kullanılan sayfalarda yanlış ID yükleniyor
⚠️ Uyarı: Homepage veya bazı landing page'ler minimal layout kullanıyor olabilir. Bu yüzden yanlış GTM ID bazı sayfalarda görünüyor.

✅ ÇÖZÜM PLANI

Adım 1: Doğru GTM/GA4 ID'lerini Belirle KRİTİK

Önce şunları kontrol et:

  1. Google Tag Manager paneline gir (tagmanager.google.com)
  2. İxtif.com için ayrı bir GTM container oluştur (eğer yoksa)
  3. GTM container ID'sini al (örn: GTM-XXXXXX)
  4. Google Analytics 4 property oluştur (eğer yoksa)
  5. GA4 Measurement ID'sini al (örn: G-XXXXXXXXXX)
⚠️ Önemli: GTM-P8HKHCG9 ID'si muhtemelen yanlış/test ID. Google Tag Manager panelinde bu ID'ye sahip container var mı kontrol et!

Adım 2: Settings Tablosuna GTM/GA4 ID'lerini Ekle KRİTİK

Laravel Tinker ile ekle:

php artisan tinker // Tenant 2'ye geç (ixtif.com) tenant(2); // GTM ID ekle (doğru ID'yi kullan!) setting(['marketing_gtm_id' => 'GTM-YENI-DOGRU-ID']); // GA4 ID ekle setting(['marketing_ga4_id' => 'G-YENI-DOGRU-ID']); // Kontrol et echo setting('marketing_gtm_id'); echo setting('marketing_ga4_id');

Veya SQL ile direkt ekle:

mariadb tenant_ixtif INSERT INTO settings (`key`, `value`, created_at, updated_at) VALUES ('marketing_gtm_id', 'GTM-YENI-DOGRU-ID', NOW(), NOW()) ON DUPLICATE KEY UPDATE `value` = 'GTM-YENI-DOGRU-ID', updated_at = NOW(); INSERT INTO settings (`key`, `value`, created_at, updated_at) VALUES ('marketing_ga4_id', 'G-YENI-DOGRU-ID', NOW(), NOW()) ON DUPLICATE KEY UPDATE `value` = 'G-YENI-DOGRU-ID', updated_at = NOW();

Adım 3: Hard-Coded GTM ID'sini Temizle YÜKSEK

Dosya: resources/views/layouts/landing/minimal.blade.php

Line 52-57'yi bununla değiştir:

@php $gtmId = setting('marketing_gtm_id') ?: setting('seo_google_tag_manager_id'); @endphp @if($gtmId) <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','{{ $gtmId }}');</script> @endif

Line 63'ü bununla değiştir:

@if($gtmId) <noscript><iframe src="https://www.googletagmanager.com/ns.html?id={{ $gtmId }}" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> @endif

Adım 4: Cache Temizle ve Test Et KRİTİK

1. Tüm cache'leri temizle:

php artisan view:clear php artisan config:clear php artisan route:clear php artisan responsecache:clear php artisan cache:clear # OPcache reset (Production) curl -s -k https://ixtif.com/opcache-reset.php

2. Sitede GTM ID'sini kontrol et:

curl -s -k "https://ixtif.com/" | grep -o "GTM-[A-Z0-9]*" # Beklenen sonuç: GTM-YENI-DOGRU-ID

3. Google Tag Assistant ile test et:

  1. Chrome'da Tag Assistant aç (tagassistant.google.com)
  2. https://ixtif.com adresini gir
  3. GTM tag'lerinin yüklendiğini ve GA4 event'lerinin gönderildiğini kontrol et
✅ Başarı Kriteri: Tag Assistant'ta GTM container ID'nin doğru göründüğünü ve GA4 event'lerinin (page_view) gönderildiğini görmelisin.

📊 BEKLENEN SONUÇLAR

✅ Düzeltme Sonrası Durum

Kontrol Noktası Şu Anki Durum Hedef Durum
Settings'te GTM ID YOK TANIMLI
Settings'te GA4 ID YOK TANIMLI
minimal.blade.php GTM HARD-CODED SETTINGS'DEN ÇEKİYOR
Sitede yüklenen GTM ID GTM-P8HKHCG9 (Yanlış) GTM-DOGRU-ID
GA4 Veri Akışı VERİ YOK VERİ GELİYOR

⚠️ ÖNEMLİ UYARILAR

🔴 GTM-P8HKHCG9 ID'si Kontrol Edilmeli

Bu ID Google Tag Manager panelinde mevcut mu ve doğru yapılandırılmış mı kontrol et:

  • Eğer bu ID başka bir site için oluşturulduysa → Yeni GTM container oluştur
  • Eğer bu ID test amaçlıysa → Production için yeni ID oluştur
  • Eğer bu ID ixtif.com için doğru ama GA4 tag publish edilmemişse → GTM panelinde GA4 tag'i ekle ve publish et

🔴 Multi-Tenant Sistem

Her tenant'ın kendi GTM/GA4 ID'si olmalı:

  • Tenant 1 (tuufi.com) → Kendi GTM/GA4 ID'si
  • Tenant 2 (ixtif.com) → Kendi GTM/GA4 ID'si
  • Tenant 1001 (muzibu.com) → Kendi GTM/GA4 ID'si

❌ Tüm tenant'lar için aynı GTM ID kullanılmamalı!

🎯 SONRAKİ ADIMLAR

  1. Google Tag Manager Paneli: İxtif.com için doğru GTM container ID'sini al
  2. Google Analytics 4: İxtif.com için GA4 property ve Measurement ID oluştur
  3. Settings Ekle: Yukarıdaki Adım 2'yi uygula
  4. Layout Düzelt: Yukarıdaki Adım 3'ü uygula
  5. Test: Yukarıdaki Adım 4'ü uygula
  6. 24 Saat Bekle: GA4'te veri gelmeye başlaması 24 saat sürebilir