İxtif.com sitesinde Google Analytics/Google Tag Manager verisi gelmiyor. Analiz sonucunda hard-coded GTM ID ve Settings eksikliği tespit edildi.
Problem: GTM ID doğrudan kodda yazılmış, Settings'den çekilmiyor!
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ş!
İxtif.com sitesinde iki farklı layout var:
resources/views/themes/ixtif/layouts/header.blade.php
resources/views/layouts/landing/minimal.blade.php
Önce şunları kontrol et:
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();
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
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:
| 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 |
Bu ID Google Tag Manager panelinde mevcut mu ve doğru yapılandırılmış mı kontrol et:
Her tenant'ın kendi GTM/GA4 ID'si olmalı:
❌ Tüm tenant'lar için aynı GTM ID kullanılmamalı!