← Blog'a Dön
Google BigQuery Kurulumu: GA4 Verilerini BigQuery'e Bağlamanın Adım Adım Rehberi
Dijital Pazarlama 19 dakika okuma Yayın: Güncelleme:

Google BigQuery Kurulumu: GA4 Verilerini BigQuery'e Bağlamanın Adım Adım Rehberi

Google BigQuery kurulumu, GA4-BigQuery entegrasyonu, proje oluşturma, dataset yapılandırma ve temel SQL sorguları ile pazarlama verilerini analiz etme rehberi.

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:

  1. Google hesabı (tercihen iş hesabı)
  2. GA4 mülkü (Editor veya Administrator yetkisi)
  3. 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

  1. Üst menüde proje seçiciye tıklayın (başlangıçta “My First Project” yazar)
  2. “New Project” düğmesine tıklayın
  3. Proje adını girin: örneğin seo-analytics-2026
  4. Organization seçin (varsa) veya boş bırakın
  5. ”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).

  1. Sol menüden Billing seçin
  2. ”Link a Billing Account” tıklayın
  3. 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

  1. Sol menüden APIs & Services → Library seçin
  2. Arama kutusuna “BigQuery” yazın
  3. BigQuery API sonucuna tıklayın
  4. ”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

  1. analytics.google.com adresine gidin
  2. İlgili GA4 mülkünü seçin
  3. Sol altta “Admin” (çark ikonu) tıklayın
  1. Property sütununda “BigQuery Links” seçin
  2. Sağ üstte “Link” düğmesine tıklayın

4.3 — Proje Seçimi

  1. ”Choose a BigQuery project” tıklayın
  2. Az önce oluşturduğunuz projeyi seçin (seo-analytics-2026)
  3. “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:

AlanAçıklama
event_dateOlayın tarihi (YYYYMMDD formatı)
event_timestampOlayın mikrosaniye cinsinden timestamp
event_nameOlay adı (page_view, session_start, purchase vb.)
user_pseudo_idKullanıcı kimliği (cookie tabanlı)
user_idÖzelleştirilmiş kullanıcı ID’si (login olmuşsa)
session_traffic_source_last_clickSon tıklama trafik kaynağı
geo.countryKullanıcının ülkesi
device.categoryCihaz türü (desktop/mobile/tablet)
event_paramsOlaya ö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ı

  1. lookerstudio.google.com adresine gidin
  2. Yeni rapor oluşturun
  3. ”Add Data”“BigQuery” seçin
  4. Projenizi, dataset’inizi ve tablo/view’i seçin
  5. 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

  1. BigQuery Studio’da sorgunuzu yazın
  2. ”Schedule”“Create new scheduled query” tıklayın
  3. Sorgu adını ve çalışma sıklığını ayarlayın (örn: günlük 06:00)
  4. Hedef dataset ve tablo belirleyin
  5. 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.

Onur Öztürk
// yazar

Onur ÖZTÜRK

SEO Uzmanı & Dijital Pazarlama Danışmanı

15 yılı aşkın deneyimle sağlık turizmi, e-ticaret ve kurumsal markalar için SEO stratejisi geliştiriyorum. Google Partner ve Meta Business Partner olarak 150'den fazla işletmenin organik büyümesine katkı sağladım.

Toplantı Planlayın