GA4’ün standart raporlama arayüzü pek çok analiz için yeterlidir — ancak ciddi bir veri analizi yapmak istediğinizde sınırlarına çarpmak kaçınılmazdır. Örneklenmiş veriler, kısıtlı segmentasyon, 14 aylık veri saklama süresi ve satır bazlı ham veriye erişim yokluğu.
Google BigQuery, GA4’ün bu sınırlarını ortadan kaldırır. Ham, örneklenmemiş, sınırsız saklama süreli verinizi SQL ile sorgulamanızı sağlar.
Bu rehber, Google BigQuery’i sıfırdan kurmanızı, GA4 ile bağlamanızı ve ilk anlamlı sorgularınızı yazmanızı adım adım anlatıyor.
BigQuery Nedir ve Neden Kullanmalısınız?
Google BigQuery, Google Cloud Platform üzerinde çalışan tam yönetimli (serverless) bir veri ambarı hizmetidir. Petabyte ölçeğindeki verileri saniyeler içinde sorgular.
Pazarlamacılar için BigQuery’nin faydaları:
- Ham GA4 verisi: Her olay, her oturum, her kullanıcı satır bazında. Örnekleme yok.
- Sınırsız saklama: GA4 arayüzü maksimum 14 ay gösteriyor; BigQuery’de veri yıllarca saklanır.
- Güçlü segmentasyon: SQL ile mümkün olan her koşulu birleştirip filtreleyebilirsiniz.
- Veri birleştirme: GA4 + CRM verisi + reklam harcama verisi tek sorguda.
- Ücretsiz başlangıç: Aylık 1 TB sorgu ve 10 GB depolama ücretsiz.
Ön Koşullar
Başlamadan önce şunlara ihtiyacınız var:
- Google hesabı (tercihen iş hesabı)
- GA4 mülkü (Editor veya Administrator yetkisi)
- Google Cloud Platform hesabı (kredi kartı gerekiyor — ilk 90 gün $300 kredi)
Adım 1: Google Cloud Projesi Oluşturma
1.1 — Cloud Console’a Giriş
cloud.google.com/console adresine gidin ve Google hesabınızla giriş yapın.
1.2 — Yeni Proje Oluşturma
- Üst menüde proje seçiciye tıklayın (başlangıçta “My First Project” yazar)
- “New Project” düğmesine tıklayın
- Proje adını girin: örneğin
seo-analytics-2026 - Organization seçin (varsa) veya boş bırakın
- ”Create” düğmesine tıklayın
Proje oluşturulması 30–60 saniye sürer.
1.3 — Faturalandırma Hesabı Bağlama
BigQuery’i kullanabilmek için projeye faturalandırma hesabı bağlanmalıdır (ücretsiz katman için bile zorunlu).
- Sol menüden Billing seçin
- ”Link a Billing Account” tıklayın
- Mevcut faturalandırma hesabınızı seçin veya yeni oluşturun
Not: Ücretsiz katman sınırları (1 TB/ay sorgu, 10 GB depolama) aşılmadığı sürece ücret kesilmez.
Adım 2: BigQuery API’yi Etkinleştirme
- Sol menüden APIs & Services → Library seçin
- Arama kutusuna “BigQuery” yazın
- BigQuery API sonucuna tıklayın
- ”Enable” düğmesine tıklayın
Aktivasyon genellikle 1–2 dakika sürer.
Adım 3: BigQuery’e İlk Erişim
Sol menüden BigQuery seçin (veya console.cloud.google.com/bigquery adresine gidin).
BigQuery Studio arayüzü açılır. Sol panelde proje adınızın altında henüz dataset bulunmaz.
Adım 4: GA4-BigQuery Entegrasyonu Kurma
Bu adım en kritik adımdır: GA4’ün ham verilerini otomatik olarak BigQuery’e aktarmasını sağlar.
4.1 — GA4 Admin Paneline Gitme
- analytics.google.com adresine gidin
- İlgili GA4 mülkünü seçin
- Sol altta “Admin” (çark ikonu) tıklayın
4.2 — BigQuery Link Oluşturma
- Property sütununda “BigQuery Links” seçin
- Sağ üstte “Link” düğmesine tıklayın
4.3 — Proje Seçimi
- ”Choose a BigQuery project” tıklayın
- Az önce oluşturduğunuz projeyi seçin (
seo-analytics-2026) - “Confirm” tıklayın
4.4 — Dataset Konumu Seçimi
Verinizin saklanacağı coğrafi bölgeyi seçin. Türkiye’deki kullanıcılar için önerilen: europe-west1 (Belçika) veya europe-west3 (Frankfurt).
Önemli: Dataset konumu seçildikten sonra değiştirilemez.
4.5 — Dışa Aktarma Türü
İki seçenek:
- Daily (Günlük): Her gün önceki günün verisi aktarılır. Yeterli çoğu kullanım için.
- Streaming: Olaylar gerçek zamanlı aktarılır. Ek maliyet oluşturur; gerçek zamanlı analiz gerektiren durumlar için.
Başlangıç için Daily seçin.
4.6 — Bağlantıyı Tamamlama
”Submit” tıklayın. GA4, BigQuery projenizde otomatik olarak bir dataset oluşturur.
Dataset adı formatı: analytics_XXXXXXXXX (XXXXXXXXX = GA4 mülk ID’si)
Adım 5: Dataset ve Tablo Yapısını Anlamak
Entegrasyon kurulduktan sonra BigQuery’de şu yapı oluşur:
Proje: seo-analytics-2026
Dataset: analytics_123456789
Tablo: events_YYYYMMDD (her gün için ayrı tablo)
Tablo: events_intraday_YYYYMMDD (günlük aktarım için)
View: events_* (tüm günleri birleştiren)
Temel Tablo Şeması
GA4 BigQuery tablosundaki başlıca alanlar:
| Alan | Açıklama |
|---|---|
event_date | Olayın tarihi (YYYYMMDD formatı) |
event_timestamp | Olayın mikrosaniye cinsinden timestamp |
event_name | Olay adı (page_view, session_start, purchase vb.) |
user_pseudo_id | Kullanıcı kimliği (cookie tabanlı) |
user_id | Özelleştirilmiş kullanıcı ID’si (login olmuşsa) |
session_traffic_source_last_click | Son tıklama trafik kaynağı |
geo.country | Kullanıcının ülkesi |
device.category | Cihaz türü (desktop/mobile/tablet) |
event_params | Olaya özgü parametreler (iç içe kayıt) |
Not: event_params nested (iç içe) bir RECORD alanıdır. Değerlere ulaşmak için UNNEST kullanılmalıdır.
Adım 6: İlk SQL Sorgularını Yazma
BigQuery Studio’da ”+ New Query” tıklayarak sorgu editörünü açın.
Sorgu 1: Günlük Sayfa Görüntülenme Sayısı
SELECT
event_date,
COUNT(*) AS page_views
FROM
`seo-analytics-2026.analytics_123456789.events_*`
WHERE
event_name = 'page_view'
AND _TABLE_SUFFIX BETWEEN '20260101' AND '20260331'
GROUP BY
event_date
ORDER BY
event_date DESC;
Neler yapıyor: Son 3 aylık dönem için günlük sayfa görüntülenme sayısı.
Sorgu 2: Kaynak / Medium Bazlı Oturum Sayısı
SELECT
(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'medium') AS medium,
(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'source') AS source,
COUNT(DISTINCT CONCAT(user_pseudo_id, (SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'ga_session_id'))) AS sessions
FROM
`seo-analytics-2026.analytics_123456789.events_*`
WHERE
event_name = 'session_start'
AND _TABLE_SUFFIX BETWEEN '20260101' AND '20260331'
GROUP BY
medium, source
ORDER BY
sessions DESC
LIMIT 20;
Sorgu 3: En Çok Görüntülenen Sayfalar
SELECT
(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location') AS page_url,
COUNT(*) AS page_views,
COUNT(DISTINCT user_pseudo_id) AS unique_visitors
FROM
`seo-analytics-2026.analytics_123456789.events_*`
WHERE
event_name = 'page_view'
AND _TABLE_SUFFIX BETWEEN '20260101' AND '20260331'
GROUP BY
page_url
ORDER BY
page_views DESC
LIMIT 50;
Sorgu 4: Ülkeye Göre Kullanıcı Dağılımı
SELECT
geo.country AS country,
COUNT(DISTINCT user_pseudo_id) AS unique_users,
COUNT(*) AS events
FROM
`seo-analytics-2026.analytics_123456789.events_*`
WHERE
_TABLE_SUFFIX BETWEEN '20260101' AND '20260331'
GROUP BY
country
ORDER BY
unique_users DESC
LIMIT 30;
Sorgu 5: Dönüşüm (Form Gönderimi) Oranı
SELECT
COUNT(DISTINCT CASE WHEN event_name = 'session_start' THEN user_pseudo_id END) AS sessions,
COUNT(DISTINCT CASE WHEN event_name = 'form_submit' THEN user_pseudo_id END) AS form_submits,
ROUND(
COUNT(DISTINCT CASE WHEN event_name = 'form_submit' THEN user_pseudo_id END) * 100.0 /
NULLIF(COUNT(DISTINCT CASE WHEN event_name = 'session_start' THEN user_pseudo_id END), 0),
2) AS conversion_rate_pct
FROM
`seo-analytics-2026.analytics_123456789.events_*`
WHERE
_TABLE_SUFFIX BETWEEN '20260101' AND '20260331';
Adım 7: Maliyeti Kontrol Altında Tutmak
BigQuery’de sorgular işledikleri veri miktarına göre ücretlendirilir ($6.25 / TB). Tasarruf yöntemleri:
7.1 — Tarih Filtresi Kullanın
_TABLE_SUFFIX BETWEEN 'YYYYMMDD' AND 'YYYYMMDD' koşulu, belirtilen tarih aralığı dışındaki günlerin tablolarını taramaz. Bu sadece maliyet değil hız da kazandırır.
7.2 — Partition ve SELECT *‘dan Kaçının
SELECT * tüm sütunları çeker — büyük tablolarda gereksiz veri taramasına yol açar. Sadece ihtiyacınız olan sütunları seçin.
7.3 — Sorgu Maliyetini Önceden Görme
Sorguyu yazmadan önce sağ üstteki maliyet tahmin göstergesi (MB/GB) aktif sorgunun işleyeceği veri miktarını gösterir. Çalıştırmadan önce kontrol edin.
7.4 — Scheduled Query Kullanın
Sürekli manuel sorgu yerine, günlük/haftalık zamanlanmış sorgular ile sonuçları ayrı bir tabloya yazın. Raporlama için bu tabloyu sorgulayın.
Adım 8: BigQuery Verilerini Looker Studio ile Görselleştirme
SQL sonuçları tablo formatında yeterli olabilir; ancak görsel raporlama için Looker Studio (ücretsiz) idealdir.
8.1 — Looker Studio Bağlantısı
- lookerstudio.google.com adresine gidin
- Yeni rapor oluşturun
- ”Add Data” → “BigQuery” seçin
- Projenizi, dataset’inizi ve tablo/view’i seçin
- Veriniz Looker Studio’ya bağlandı
8.2 — Zamanlanmış Sorgu ile Özet Tablo
Ham GA4 tablosu çok büyük ve karmaşık; doğrudan Looker Studio’ya bağlamak yerine, günlük özet bir tablo oluşturup bunu bağlamak çok daha verimli.
-- Bu sorgu zamanlanmış (scheduled) olarak çalıştırılır
-- Sonuç: analytics_summary.daily_traffic tablosuna yazılır
SELECT
event_date,
geo.country,
device.category,
COUNT(DISTINCT user_pseudo_id) AS unique_users,
COUNTIF(event_name = 'page_view') AS page_views,
COUNTIF(event_name = 'session_start') AS sessions,
COUNTIF(event_name = 'form_submit') AS conversions
FROM
`seo-analytics-2026.analytics_123456789.events_*`
WHERE
_TABLE_SUFFIX = FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY))
GROUP BY
event_date, geo.country, device.category;
Adım 9: Zamanlanmış Sorgu (Scheduled Query) Oluşturma
- BigQuery Studio’da sorgunuzu yazın
- ”Schedule” → “Create new scheduled query” tıklayın
- Sorgu adını ve çalışma sıklığını ayarlayın (örn: günlük 06:00)
- Hedef dataset ve tablo belirleyin
- Kaydedin
Artık sorgu her gün otomatik çalışır ve sonuçları belirttiğiniz tabloya yazar.
Yaygın Hatalar ve Çözümleri
Hata: “Access Denied”
Çözüm: Google Cloud Console → IAM & Admin → GA4 servis hesabına BigQuery Data Editor rolü verin.
Hata: Tablolar boş / veri yok
Çözüm: Entegrasyon günlük veri gönderir, ilk veri bir sonraki gün gelir. Bugünün verisi için events_intraday_* tablosuna bakın.
Hata: _TABLE_SUFFIX çalışmıyor
Çözüm: Tarih formatını kontrol edin: '20260101' (8 haneli, tırnak içinde, YYYYMMDD formatı).
Hata: UNNEST hatası
Çözüm: event_params nested array; her parametre için ayrı UNNEST veya CROSS JOIN UNNEST gerekir. Yukarıdaki örnek sorgulardaki pattern’i kullanın.
GA4 + BigQuery ile Yapılabilecek İleri Düzey Analizler
Temel kurulum tamamlandıktan sonra yapılabilecekler:
Cohort analizi: Kullanıcıların farklı zaman aralıklarında nasıl davrandığını izleme
Funnel analizi: Siteye giriş → ürün sayfası → form başlatma → form tamamlama adımlarını tam izleme
Attribution modeli: Son tıklama yerine, tüm temas noktalarını ağırlıklandıran custom attribution
LTV (Lifetime Value) hesaplama: Kullanıcı başına uzun vadeli değer analizi
Anomaly detection: Trafik veya dönüşümlerde beklenmedik değişiklikleri otomatik tespit
Sonuç
Google BigQuery kurulumu görünürde teknik görünse de adımlar belirlidir ve bir kez kurulunca uzun süre sorunsuz çalışır. GA4’ün standart arayüzünün yetersiz kaldığı her durumda — örneklenmiş veri sorunu, uzun vadeli analiz, veri birleştirme — BigQuery kaçınılmaz hale gelir.
Başlangıç için ücretsiz katman yeterlidir. Hacminiz büyüdükçe maliyet artacak; ancak doğru sorgu optimizasyonuyla aylık $10–30 bütçeyle çoğu KOBİ düzeyinde analiz ihtiyacı karşılanabilir.