Rehber
GA4 verisi BigQuery'ye neden ve nasıl aktarılır?
Örnekleme, 14 aylık saklama sınırı ve rapor kısıtları arayüzde kalır. BigQuery aktarımı ham olayı size verir. Hangi aktarım türü, hangi maliyet, hangi hatalar?
GA4 BigQuery aktarımı (BigQuery Export), Google Analytics 4 mülkünüzdeki ham olay verisini Google Cloud'un veri ambarı BigQuery'ye günlük ya da akış halinde kopyalayan bağlantıdır. Standart mülklerde de kullanılabilir. Arayüzdeki örnekleme ve saklama sınırlarını aşmak, olay verisini CRM, reklam maliyeti veya satış kayıtlarıyla birleştirmek için kurulur. Bağlantı birkaç adımda açılır, asıl iş veriyi doğru sorgulamaktır.
BigQuery aktarımı hangi sorunu çözer?
GA4 arayüzü hızlı okuma için tasarlanmıştır, satır düzeyinde analiz için değil. Üç sınır pratikte en çok can sıkar.
İlki örneklemedir. Google'ın limit tablosuna göre standart mülkte keşif (exploration) raporları sorgu başına 10 milyon olayı aşınca örnekleme yapar. Analytics 360'ta bu sınır 1 milyar olaydır. Günlük BigQuery aktarımı ise Google'ın tanımıyla bir önceki günün örneklenmemiş ham verisini taşır.
İkincisi saklama süresidir. Veri saklama ayarı standart mülkte 2 veya 14 ay seçeneği sunar ve keşifler ile dönüşüm hunisi raporlarını etkiler. Standart toplu raporlar bu ayardan etkilenmez. Yıllar arası müşteri davranışına bakmak isteyen ekip için 14 ay kısa kalır. BigQuery'ye aktarılan veri sizindir ve erişimini BigQuery yetkileriyle siz yönetirsiniz.
Üçüncüsü birleştirme ihtiyacıdır. Bir kampanyanın getirdiği kullanıcının üç ay sonra CRM'de satışa dönüp dönmediğini arayüzde göremezsiniz. Ham olay tablosu, kendi kimlik alanınız üzerinden bu bağı kurmanıza izin verir.
Aktarım her şeyi de çözmez. Günlük aktarımda atıf son tıklamadır ve modelleme içermez. Arayüzdeki rakamla BigQuery'deki rakam bu yüzden birebir tutmayabilir. Fark sistematikse sorun değildir, ama ekip baştan bilmelidir.
Hangi aktarım türünü seçmelisiniz?
Yardım sayfası üç seçenek tanımlar.
- Günlük (Daily): Önceki günün tam verisi. Genellikle mülk saat diliminde öğleden sonra gelir, gecikebilir. Standart mülkte günde 1 milyon olay sınırı vardır. Geç gelen olaylar yüzünden tablo birkaç gün güncellenebilir. Google'ın örneğinde 1 Ocak tablosu 4 Ocak'a kadar değişebiliyor.
- Akış (Streaming): Dakikalar içinde gelen, hacim sınırı olmayan ama "en iyi çaba" esaslı veri. Eksik gün olabilir. Yeni kullanıcı ve yeni oturum kaynağı bilgisi akışta yer almaz. Gigabayt başına 0,05 dolar ek ücreti vardır.
- Taze Günlük (Fresh Daily): Yalnız Analytics 360 mülklerinde, gün içinde toplu güncellemelerle yenilenen günlük tablo.
Standart mülk günlük sınırı sürekli aşarsa kurulum sayfasına göre günlük aktarım durdurulur ve geçmiş günler yeniden işlenmez. Hacminiz bu sınıra yakınsa iki yol var: Gereksiz olayları aktarım dışında bırakmak ya da akış aktarımını açmak.
Çoğu şirket için doğru başlangıç, raporlama tabanı olarak günlük aktarımdır. Akış, gün içi operasyon kararı alan ekipler içindir. Gün içi tablo (events_intraday) günlük tablo tamamlanınca silinir, bu yüzden kalıcı raporu ona bağlamayın.
Ne kadar tutar?
Her aktarım BigQuery depolama ve işleme maliyeti doğurur. Google'ın tahminine göre 1 GB yaklaşık 600.000 olaya denk gelir, olay boyutuna göre değişir. Akış aktarımı gigabayt başına 0,05 dolar ek ücret alır. Sorgu tarafında ücretsiz kullanım ayda 1 TiB işlenen veridir.
Varsayımsal örnek: Günde 300.000 olay üreten bir site ayda yaklaşık 15 GB veri biriktirir. Akış açıksa bunun ek ücreti ayda bir dolar civarında kalır. Asıl maliyeti genellikle depolama değil, kötü yazılmış sorgular üretir.
Maliyeti düşük tutmanın yolu basittir. Tüm sütunları çekmek yerine gereken alanları seçin, tarih aralığını daraltın, sık kullanılan sorguları günlük özet tablolara dönüştürün. Rapor aracını ham tabloya değil bu özet tablolara bağlayın.
Kurulum adımları
Kurulumdan önce neyi ölçtüğünüz net olmalı. Olay adları dağınıksa BigQuery bu dağınıklığı yalnızca büyütür. Önce GA4 ölçüm planı yapın, sonra aşağıdaki sırayı izleyin. Adımlar Google'ın kurulum sayfasına dayanır.
- Yetkileri kontrol edin. GA4 mülkünde Düzenleyici (Editor) veya üstü, BigQuery projesinde OWNER yetkisine sahip bir hesap gerekir.
- Google Cloud projesi açın. API'ler ve Hizmetler bölümünden BigQuery API'yi etkinleştirin.
- Faturalandırmaya karar verin. Kalıcı aktarım için Cloud'da geçerli bir ödeme yöntemi gerekir. Ödeme yöntemi geçersiz kalırsa o dönemin verisi sonradan aktarılamaz.
- GA4'te bağlantıyı başlatın. Yönetici, Ürün bağlantıları, BigQuery bağlantıları ve Bağla yolunu izleyip projeyi seçin.
- Veri konumunu bilerek seçin. Projede bu mülke ait veri kümesi oluştuktan sonra konum değiştirilemez. Sonradan taşımak bağlantıyı silip veri kümesini yeniden kurmayı gerektirir ve veri boşluğu yaratır.
- Akışları ve hariç olayları belirleyin. Raporda kullanmadığınız yüksek hacimli olayları burada dışarıda bırakabilirsiniz.
- Aktarım türünü seçip gönderin. Veri 24 saat içinde akmaya başlar. Yardım sayfaları geçmiş günleri sonradan aktarmanın bir yolunu tanımlamıyor, bu yüzden bağlantıyı ihtiyaç doğmadan açmak akıllıcadır.
Deneme için BigQuery korumalı alanı (sandbox) kredi kartı istemez. Ama ömür boyu 10 GiB depolama ve ayda 1 TiB sorgu sınırı vardır, tablolar 60 gün sonra kendiliğinden silinir ve akış verisi desteklenmez. Korumalı alan öğrenme ortamıdır, arşiv değil.
Veri BigQuery'de nasıl görünür?
Şemaya göre her mülk için analytics_ ile başlayıp mülk kimliğiyle biten bir veri kümesi oluşur. Günlük aktarımda her gün için events_YYYYMMDD adlı ayrı bir tablo açılır. Her satır bir olaydır.
İlk şaşkınlık genellikle parametrelerde yaşanır. event_params alanı tekrarlanan bir kayıttır: Her olayın parametreleri anahtar ve değer çiftleri olarak tutulur, değer de metin, tam sayı ve ondalık alanlarına bölünür. Bir sayfa adresini ya da kampanya parametresini okumak için bu diziyi açmanız gerekir. Diğer önemli alanlar şunlardır:
- user_pseudo_id ve user_id: Cihaz düzeyindeki takma kimlik ve sizin atadığınız kullanıcı kimliği. CRM birleştirmesi user_id üzerinden yapılır.
- collected_traffic_source ve session_traffic_source_last_click: Olayla toplanan kaynak bilgisi ve oturumun son tıklama atfı.
- items ve ecommerce: Ürün düzeyinde satış satırları ve işlem kimliği.
- privacy_info: Reklam ve analitik depolama izninin olay anındaki durumu. Consent Mode kullanıyorsanız izin vermeyen ziyaretçilerden gelen çerezsiz sinyaller de aktarımda görünür.
Basit bir günlük sayım şöyle görünür:
```sql
SELECT event_name, COUNT(*) AS olay, COUNT(DISTINCT user_pseudo_id) AS kullanici
FROM proje.analytics_123456789.events_20261110
GROUP BY event_name
ORDER BY olay DESC
```
Türkiye'de durum: Veri konumu ve KVKK
Kurulumdaki veri konumu seçimi teknik bir ayrıntı gibi görünür, ama kişisel veri işliyorsanız hukuki bir karardır. user_id, CRM kimliği veya IP'ye dayalı konum alanları bu kapsama girebilir.
KVKK'nın yurt dışına aktarımı düzenleyen 9. maddesi, Kurumun rehberine göre 7499 sayılı Kanunla değişti ve değişiklik 1 Haziran 2024'te yürürlüğe girdi. Uygulama esasları, 10 Temmuz 2024 tarihli Resmî Gazete'de yayımlanan Kişisel Verilerin Yurt Dışına Aktarılmasına İlişkin Usul ve Esaslar Hakkında Yönetmelik'te yer alıyor. Kurul, standart sözleşme metinlerini 4 Haziran 2024 tarihli kararla belirledi. İmzalanan standart sözleşmenin beş iş günü içinde Kuruma bildirilmesi gerekiyor.
Pratik sonuç: Bölge seçimini, aktaracağınız alanların listesini ve aydınlatma metnini hukuk ve bilgi güvenliği ekibinizle birlikte netleştirin. Kişiyi doğrudan tanımlayan bilgiyi (e-posta, telefon) olay parametresi olarak hiç göndermemek riski baştan azaltır. Bu bölüm genel bilgi verir, hukuki danışmanlık yerine geçmez.
Sık yapılan hatalar
- Bağlantıyı ihtiyaç doğunca açmak. Veri bağlantıdan sonra akmaya başlar. Geçmiş yıl karşılaştırması isteyen ekip boş tabloyla karşılaşır.
- Korumalı alanı kalıcı sanmak. 60 günlük silinme kuralı arşivi sessizce yok eder.
- Raporu gün içi tabloya bağlamak. Gün içi tablo eksik olabilir ve silinir. Kalıcı raporlar günlük tabloya dayanmalı.
- Arayüzle birebir eşleşme beklemek. Atıf ve izin sinyalleri farklı işlendiği için küçük sapma normaldir.
- Olay şişkinliğini görmezden gelmek. Kaydırma veya fare hareketi gibi yüksek hacimli olaylar günlük sınırı zorlar.
- Ham tabloyu doğrudan panoya bağlamak. Her pano yenilemesi ham veriyi baştan tarar ve maliyeti büyütür.
Aktarımın işe yaradığını nasıl ölçersiniz?
Kurulum başarısı tablo oluşmasıyla ölçülmez. Şu göstergeleri ilk üç ay izleyin:
- Süreklilik: Son 90 günde eksik günlük tablo sayısı sıfır olmalı.
- Tutarlılık: Ana olayların BigQuery ve arayüz sayıları arasındaki fark oranı haftadan haftaya sabit kalmalı. Ani sıçrama etiketleme sorununa işaret eder.
- Maliyet: Aylık sorgu ve depolama faturası, analiz başına düşen tutar olarak izlenmeli.
- Kullanım: BigQuery verisine dayanan rapor ve kararların sayısı. Hiç kimse sorgulamıyorsa aktarım yalnızca masraftır.
Tutarlılık ve kullanım göstergeleri, analitik işinin ölçüm altyapısıyla karar süreci arasındaki köprüyü kurup kurmadığını gösterir. Özet tabloları yöneticilere sunarken pano tasarım ilkeleri okumayı kolaylaştırır.
Bu hafta bağlantıyı açın
Raporlama ihtiyacınız henüz belirsiz olsa bile bağlantıyı bu hafta kurun. Faturalandırması açık bir proje oluşturun, yalnız günlük aktarımı seçin, veri konumunu hukuk ekibinizle konuşarak belirleyin ve gereksiz yüksek hacimli olayları dışarıda bırakın. Bir hafta sonra ilk sorguyu çalıştırıp olay sayılarını arayüzle karşılaştırın. Altı ay sonra yıllık karşılaştırma gerektiğinde veri hazır olur. GA4 ve GTM kurulumunuz dağınıksa önce etiketlemeyi düzeltin, sonra aktarımı açın.
Kaynaklar
- Google Analytics Yardım, [GA4] BigQuery Export
- Google Analytics Yardım, [GA4] Set up BigQuery Export
- Google Analytics Yardım, [GA4] BigQuery Export schema
- Google Analytics Yardım, [GA4] Google Analytics 360 limitleri
- Google Analytics Yardım, [GA4] Data retention
- Google Cloud, Try BigQuery using the sandbox
- KVKK, Kişisel Verilerin Yurt Dışına Aktarılması Rehberi, Ocak 2025
- KVKK, Standart Sözleşmeler ve Bağlayıcı Şirket Kurallarına İlişkin Dokümanlar Hakkında Kamuoyu Duyurusu, 10 Temmuz 2024
- KVKK, Standart Sözleşme Bildirim Modülü Hakkında Kamuoyu Duyurusu, 25 Ekim 2024