GA4 BigQuery export nasıl çalışır?

Export arayüzün kopyası değil, ham event verisi. Rakamlar neden tutmaz, dün neden kesinleşmez, oturum neden yoktur, fatura neden büyür?

GA4’ün BigQuery export’u, GA4’ün en iyi tarafı. Aynı zamanda en çok yanlış anlaşılanı, çünkü insanlar onu arayüzün veritabanı hali sanıyor.

Değil. Export ham event verisidir. Kendi gecikmeleri, kendi şema mantığı ve kendi tanımları var. İlk hafta yaşanan hayal kırıklıklarının çoğu bu yanlış beklentiden çıkıyor.

Rakamlar tutmayacak, bu normal

Arayüz kullanıcı sayısını yaklaşık algoritmalarla hesaplar, kendi kanal gruplamasını uygular, consent modeliyle boşlukları modellenmiş veriyle doldurur. Export’ta bunların hiçbiri yok. Ham event var, tam sayım var, modelleme yok.

Bu yüzden COUNT(DISTINCT user_pseudo_id) sonucunu arayüzdeki kullanıcı sayısıyla eşitlemeye çalışmak, ekiplerin en çok vakit kaybettiği yanlış alarmdır. Doğrusu, hangi metrik için hangi kaynağın referans olduğunu baştan tanımlayıp bunu yazılı hale getirmek. Ciro için backend, davranış için export, kampanya raporlaması için arayüz gibi.

Dün henüz kesinleşmedi

Günlük tablolar, geç ulaşan event’ler geldikçe yeniden yazılabilir. Pratikte bu, günün kapanmasından sonra yaklaşık 72 saat sürüyor.

Sabah çalışıp bir daha geriye bakmayan pipeline’lar bu yüzden sonradan çalıştırılan sorgularla çelişir. Rapor pazartesi bir rakam gösterir, aynı rapor perşembe başka bir rakam gösterir, kimse neden olduğunu anlamaz.

Çözüm sıkıcı ama işe yarıyor: pipeline’ları gecikmeli çalıştırın, ya da her koşuda son üç günü yeniden işleyin.

Oturum diye bir tablo yok

Export’ta oturum yoktur. Oturumu siz kurarsınız.

Oturum kimliği event parametrelerinin içinde durur, oturum kaynağı ise ayrı bir mantıkla yeniden inşa edilir. Herkes bunu biraz farklı yazdığı için, aynı veri üzerinde çalışan iki analist farklı oturum sayısına ulaşır. İki dashboard, iki rakam, uzun bir toplantı.

Oturum mantığını bir kez yazın, ortak bir veri setine koyun, ve kod gibi davranın: gözden geçirilsin, sürümlensin, sahibi olsun.

Şema SELECT * sevmez

Event parametreleri, kullanıcı özellikleri ve ürünler iç içe geçmiş tekrarlı alanlar. UNNEST’i yanlış kurduğunuzda join’ler satırları sessizce çoğaltır. Ciro şişer ama makul görünür, o yüzden kimse şüphelenmez.

BigQuery taranan bayt üzerinden ücretlendirir. Tablo ekinde tarih filtresi kullanmayan bir sorgu, bedava bir export’u sürpriz bir faturaya çevirebilir. Bir dashboard’un her açılışta aylarca veri taradığı durumlar gördük; maliyet aracın kendisinden değil, sorgudan geliyor.

Kural basit: _TABLE_SUFFIX filtreleyin, kolonları tek tek seçin, günlük çalışan her şey için ince türetilmiş tablolar kurun.

Export’ta olmayanlar

Consent reddeden trafiğin arayüzde modellenerek geri eklenen kısmı export’a inmez. Google Ads maliyet verisi yoktur, onu ayrı bir pipeline ile getirmeniz gerekir. Varsayılan kanal gruplamaları yoktur, kendi gruplamanızı yazarsınız. Ve export’u açmadan önceki hiçbir şey yoktur.

Neyin olmadığını bilmek, haftalarca süren şaşkın hata aramalarından kurtarır. Export’un ilk gününde bu listeyi bilen bir ekip, ikinci haftada analiz yapmaya başlar. Bilmeyen ekip aynı haftayı arayüzle warehouse’u eşitlemeye çalışarak geçirir.

Sık sorulan sorular

Günlük export mu streaming mi?
Çoğu raporlama için günlük yeterli ve ek maliyeti yok. Streaming, aynı gün içindeki veriyle gerçekten karar veriliyorsa anlamlı hale gelir.
Export’u açmadan önceki veriyi alabilir miyiz?
Alamazsınız. Export bağladığınız günden itibaren veri toplar. Bugün kullanmayacak olsanız bile açmanın en güçlü gerekçesi budur.
Sorgu maliyeti ne kadar tutar?
Tarih ve kolon filtresi kullanan sorgularda tipik e-ticaret hacimleri için aylık maliyet düşüktür. Tüm tabloyu tarayan panolar varsa fatura hızla büyür. Kaldıraç sorgu tasarımıdır.
BigQuery cirosu neden GA4 arayüzünden yüksek çıkıyor?
Genelde UNNEST ile açılan items dizisinin satırları çoğaltması ya da duplicate purchase event’leri. İkisi de transaction_id seviyesinde karşılaştırmayla bulunur.
Kullanıcı sayısı neden arayüzle tutmuyor?
Arayüz kullanıcıyı yaklaşık algoritmayla sayar, export ham veriyi verir. İkisinin eşitlenmesi beklenmemeli, hangi metrik için hangi kaynağın referans olduğu baştan tanımlanmalı.