Ferhat Gölge
Bilgisayar Amelesi
Google Analytics (GA4) Entegrasyonu
Laravel ile Google Analytics (GA4) Entegrasyonu: DB Cache ve Scheduler ile Dashboard Performansı Artırma
Meta Description:
Laravel projelerinde Google Analytics (GA4) verisini güvenli şekilde bağlamak, veriyi veritabanında cache’lemek ve Linux sunucuda scheduler ile otomatik güncellemek için adım adım rehber.
Anahtar Kelimeler:
Laravel Google Analytics, GA4 Laravel entegrasyonu, Laravel scheduler, Laravel analytics dashboard, GA4 API Laravel, Laravel analytics cache
Laravel ile Google Analytics (GA4) Entegrasyonu
Modern web panellerinde kullanıcı davranışlarını analiz etmek için Google Analytics 4 (GA4) verileri oldukça önemlidir. Ancak birçok projede GA verisi doğrudan API üzerinden çekildiği için dashboard performansı düşebilir.
Bu yazıda:
- Laravel ile Google Analytics GA4 bağlantısı kurma
- API verisini veritabanında cache'leme
- Dashboard performansını artırma
- Laravel Scheduler ile otomatik veri güncelleme
- Linux sunucuda cron kurulumu
adımlarını anlatacağız.
Bu rehberde kullanılan yapı FerhatGolge panel mimarisi üzerinden anlatılmıştır ancak aynı yöntem tüm Laravel projelerinde uygulanabilir.
1. Google Analytics (GA4) Bağlantısını Kurma
GA4 Servis Hesabı Oluşturma
Laravel uygulamasının GA4 API'ye erişebilmesi için bir Service Account oluşturmak gerekir.
Adımlar:
- Google Cloud Console açın
- IAM & Admin → Service Accounts bölümüne gidin
- Yeni servis hesabı oluşturun
- JSON Key oluşturup indirin
- GA4 panelinde
bölümüne giderek servis hesabını Viewer olarak ekleyin.
2. JSON Anahtarını Laravel Projesine Eklemek
Güvenlik açısından JSON anahtar dosyası public klasörüne koyulmamalıdır.
Önerilen klasör:
Laravel uygulaması bu dosyayı doğrudan okuyabilir.
3. GA4 Property ID Tanımlama
Google Analytics panelinde bulunan Property ID değeri uygulamanın ayarlar bölümünde saklanmalıdır.
Örnek:
Bu değer API sorgularında kullanılacaktır.
4. JSON Path Ayarı
Sistem JSON dosyasının yolunu ayarlar üzerinden okumalıdır.
Örnek ayar:
Önemli güvenlik notu:
JSON dosyası public veya uploads klasörü altında olmamalıdır.
5. Bağlantıyı Test Etme
GA4 bağlantısının doğru çalıştığını test etmek için aşağıdaki artisan komutu kullanılabilir.
Bu komut GA verisini çekerek sistemin bağlantısını doğrular.
6. GA Verisini DB Cache ile Saklama
Dashboard sayfası her açıldığında API çağrısı yapmak yerine veriyi veritabanında saklamak performansı ciddi şekilde artırır.
Avantajları:
- API limitleri azalır
- Dashboard daha hızlı açılır
- API hataları kullanıcıyı etkilemez
Migration Oluşturma
Örnek tablo yapısı:
| kolonaçıklama | |
| date_range_days | veri aralığı (7,30 vb.) |
| summary | genel istatistikler |
| countries | ülke verileri |
| devices | cihaz verileri |
| pages | sayfa performansı |
| fetched_at | veri çekilme zamanı |
Model Oluşturma
Model içinde JSON alanlarını cast etmek gerekir.
7. GA Verisini Çeken Artisan Komutu
Laravel'de bir Artisan Command oluşturarak GA verisini çekip DB'ye yazabiliriz.
Komut oluşturma:
Örnek veri payload:
8. Laravel Scheduler Kurulumu
GA verisinin düzenli güncellenmesi için Laravel Scheduler kullanılabilir.
Bu komut her saat otomatik olarak çalışacaktır.
9. Dashboard Tarafında Veriyi Okuma
Dashboard artık doğrudan API yerine DB cache üzerinden veri okuyacaktır.
Bu yöntem dashboard performansını ciddi şekilde artırır.
10. Ubuntu / Linux Sunucuda Otomatik Çalıştırma
Deploy Komutları
Cron Job Tanımlama
Laravel scheduler'ın çalışması için cron eklenmelidir.
Sunucuda eklemek için:
Dosya İzinleri
Sorun Giderme
GA verisi boş geliyor
- Property ID doğru mu?
- Servis hesabı GA4 içinde yetkili mi?
JSON dosyası okunamıyor
- Dosya storage içinde mi?
- Dosya izinleri doğru mu?
API erişim hatası
Google Cloud içinde Analytics Data API aktif mi?
Zaman farkı problemi
Sunucu saatinin doğru olduğundan emin olun.
Sonuç
Laravel ile Google Analytics verisini doğrudan API'den çekmek yerine DB cache kullanmak, dashboard performansını önemli ölçüde artırır.
Bu mimari sayesinde:
- GA API çağrıları azalır
- Dashboard daha hızlı yüklenir
- Veriler düzenli olarak güncellenir
- Sistem daha stabil çalışır