- Konu sahibi
- #1
GA4 verileri BigQuery'ye aktarılırken nelere dikkat edilir?
GA4 verilerini BigQuery'ye aktarırken en önemli noktalar; doğru Google Cloud projesini seçmek, veri kümesinin konumunu baştan planlamak, günlük ve akış aktarımını birbirine karıştırmamak, iç içe şemayı doğru sorgulamak ve sorgu maliyetini kontrol etmektir. Bağlantı kurulduğunda geçmiş GA4 verilerinin tamamı otomatik olarak BigQuery'ye taşınmaz; aktarım esas olarak bağlantıdan sonra oluşan veriler için başlar.
Aktarım nasıl çalışır?
GA4 ile BigQuery bağlantısında olay verileri genellikle şu tablo türlerinde tutulur:
events_YYYYMMDD: Günlük ve kalıcı olay tablolarıdır.events_intraday_YYYYMMDD: Gün içi akış aktarımı etkinse, henüz günlük tabloya dönüşmemiş geçici veya erken verileri içerir.
Tamamlanan günün intraday tablosu silinir; aynı günü hem günlük hem intraday kaynağından toplayarak çift saymayın. Günlük tablo, rapor hazırlamak için daha uygun temel kaynaktır. Akış aktarımı ise gün içinde daha erken veri görmek için kullanılabilir; tamamlanmış günlük veriyle aynı kapsamı veya kesinliği her zaman garanti etmez. Bu nedenle finansal, operasyonel veya düzenli raporlarda günlük tabloları esas alıp geç gelen veriler için rapor kapanış zamanını belirlemek gerekir.
GA4 şeması düz sütunlardan oluşmaz. Kullanıcı, oturum ve olay bilgileri ayrı alanlarda; olay parametreleri, kullanıcı özellikleri ve ürünler ise tekrarlanan iç içe dizilerde bulunur. Örneğin bir olayın
page_location parametresini okumak için event_params dizisi UNNEST ile açılır.Bağlantıdan önce kontrol edilmesi gerekenler
- GA4 mülkünün ve BigQuery projesinin doğru hesaplara ait olduğunu doğrulayın. Yanlış proje seçilirse veriler beklemediğiniz faturalandırma hesabına veya analiz ortamına aktarılabilir.
- Veri kümesinin konumunu baştan planlayın. Sonradan bölge taşıma ayrı bir geçiş işlemidir. GA4 tarafında Editor veya üzeri, Cloud projesinde bağlantı için gereken IAM izinleri bulunmalıdır.
- Günlük aktarım ile akış aktarımından hangisine gerçekten ihtiyaç duyduğunuzu belirleyin. Yalnızca günlük raporlama yapıyorsanız akış aktarımı ek karmaşıklık ve sorgu maliyeti oluşturabilir.
- GA4 bağlantısını kurduktan sonra tablo oluşumunu küçük bir tarih aralığında kontrol edin. İlk veri görünmemesi; yanlış proje, izin, veri kümesi konumu veya aktarımın henüz tamamlanmamış olmasıyla ilgili olabilir.
- Kişisel verileri olay parametrelerine göndermeyin. E-posta adresi, telefon, kimlik numarası veya doğrudan kişiyi tanımlayan başka değerler yerine gerekli anonim veya sınıflandırılmış bilgileri kullanın.
Bağlantıyı silip yeniden kurmak geçmiş tabloları kendiliğinden geri getiren bir yedekleme yöntemi değildir. Bu nedenle üretim sorgularını doğrudan değişken ham tablo adlarına bağlamak yerine, kendi görünümünüzü veya dönüştürülmüş raporlama tablonuzu oluşturmanız daha güvenlidir.
Örnek: günlük olayları sorgulama
Aşağıdaki örnekte
my-project ve analytics_123456789 yalnızca varsayımsal adlardır. Sorgu, örnek tarih aralığındaki olay sayılarını toplar; tarihleri gerçekten oluşmuş tablolarınıza göre değiştirin:
Kod:
SELECT
PARSE_DATE('%Y%m%d', event_date) AS event_day,
event_name,
COUNT(*) AS event_count
FROM `my-project.analytics_123456789.events_*`
WHERE _TABLE_SUFFIX BETWEEN '20260101' AND '20260131'
GROUP BY event_day, event_name
ORDER BY event_day, event_count DESC;
Beklenen başarılı sonuç, her gün ve olay adı için satırlar döndürmesidir. Tablo bulunamadı hatası alırsanız proje kimliğini, veri kümesi adını ve GA4 mülk kimliğini kontrol edin. Sonuç boşsa tarih aralığında veri olmayabilir veya bağlantı o tarihten sonra kurulmuş olabilir. Geniş tarih aralıklarında
_TABLE_SUFFIX filtresini kaldırmayın; aksi halde gereksiz miktarda veri taranabilir.Bir parametreyi okumak için örnek sorgu şöyledir:
Kod:
SELECT
event_name,
ep.value.string_value AS page_location
FROM `my-project.analytics_123456789.events_*`,
UNNEST(event_params) AS ep
WHERE _TABLE_SUFFIX = '20260115'
AND ep.key = 'page_location';
Aynı olayda birden fazla parametreyi almak istediğinizde her parametre için ayrı
UNNEST kullanmak satırları çoğaltabilir. Böyle bir durumda koşullu toplama veya ilgili anahtarları tek bir alt sorguda seçme yöntemini kullanın.Kontrol listesi ve doğru tercih
Aşağıdaki ayrım, rapor tasarımında hangi kaynağın kullanılacağını netleştirir:
| İhtiyaç | Tercih | Dikkat edilecek nokta |
|---|---|---|
| Tamamlanmış günlük rapor | Günlük events_YYYYMMDD tabloları | Geç gelen olaylar için rapor kapanış kuralı belirleyin |
| Gün içinde erken görünürlük | events_intraday_YYYYMMDD | Veriyi nihai günlük veri gibi yorumlamayın |
| Ürün veya kampanya analizi | event_params ve items | Anahtar adlarını ve veri tiplerini standartlaştırın |
İlk sorgudan sonra ikinci adım, sık kullanılan raporları görünüm veya özet tablolarla standartlaştırmaktır. Böylece herkesin aynı olay adı, tarih filtresi ve dönüşüm tanımıyla çalışması sağlanır. Sorguyu çalıştırmadan önce dry run ile taranacak baytları tahmin edin; isteğe bağlı ücretlendirmede maximum bytes billed sınırı belirleyin. Yalnızca gerekli sütunları seçin; LIMIT tek başına tarama maliyetini sınırlandırmaz.
Sık yapılan hatalar
- GA4 arayüzündeki rapor sayılarıyla BigQuery satırlarını bire bir karşılaştırmak: işleme, kimliklendirme, eşikleme ve raporlama kuralları farklı olabilir.
- Akış tablosunu kalıcı arşiv sanmak: gün içi tabloları düzenli raporlama kaynağı olarak kullanmadan önce yaşam döngüsü ve birleştirme mantığı belirlenmelidir.
- Olay parametrelerini düz sütun sanmak: Diziler için uygun sorgu gerekir; UNNEST yaygın bir yöntemdir, ancak tek olası erişim biçimi değildir.
- GA4 mülk kimliği ile Google Cloud proje kimliğini karıştırmak: biri Analytics mülkünü, diğeri BigQuery kaynak projesini ifade eder.
- Özel olay adlarını ve parametre tiplerini değiştirmek: aynı anahtarın bazen metin, bazen sayı gönderilmesi sorguları ve raporları kırabilir.
Sık sorulan sorular
Bağlantı kurulmadan önceki GA4 verileri BigQuery'ye gelir mi?
Genel olarak bağlantı geçmiş verileri geriye dönük dolduran bir aktarım değildir. Eski veriler gerekiyorsa mevcut GA4 dışa aktarma seçeneklerini veya daha önce alınmış arşivleri ayrıca değerlendirmek gerekir.
Günlük tablo hemen son hâline ulaşır mı?
Hayır. Analytics günlük tabloları geç gelen olaylar için olay tarihinden sonraki üç güne kadar güncelleyebilir. Düzenli raporlarda son günleri yeniden işleyin; bu pencereyi sınırsız geriye dönük tamamlama sanmayın.
BigQuery sorguları neden beklenenden fazla kaynak tüketir?
Genellikle geniş tarih aralığı,
SELECT *, filtresiz tablo deseni veya iç içe dizilerin gereksiz açılması buna neden olur. Tarih filtresi kullanın, yalnızca ihtiyaç duyulan alanları seçin ve sık kullanılan sonuçları özet tablolarla yönetin.