İleri Hesaplanan Alanlar
1. REGEXP Fonksiyonları
Regular Expression (RegEx) fonksiyonları, metin verilerini eşleştirmek, çıkarmak ve dönüştürmek için güçlü araçlardır.
a) REGEXP_MATCH
Bir değerin belirli bir desene uyup uymadığını kontrol eder. Boolean (true/false) döndürür. CASE WHEN ile kullanılır.
CASE
WHEN REGEXP_MATCH(Page path, '/blog/.*') THEN 'Blog'
WHEN REGEXP_MATCH(Page path, '/urun/.*') THEN 'Ürün Sayfası'
WHEN REGEXP_MATCH(Page path, '/kategori/.*') THEN 'Kategori'
ELSE 'Diğer'
END
b) REGEXP_EXTRACT
Metin içinden belirli bir deseni çıkarır.
-- URL'den ürün kategorisini çıkar
REGEXP_EXTRACT(Page path, '/kategori/([^/]+)')
-- Kampanya adından hedefi çıkar
REGEXP_EXTRACT(Campaign, '^([^_]+)')
-- UTM content'ten reklam ID'sini çıkar
REGEXP_EXTRACT(Session manual ad content, '(\\d+)$')
c) REGEXP_REPLACE
Metin içindeki deseni başka bir metinle değiştirir.
-- URL parametrelerini temizle
REGEXP_REPLACE(Page path, '\\?.*', '')
-- Domain'i kaldır
REGEXP_REPLACE(Page location, 'https?://[^/]+', '')
graph TD
REGEX["🔍 REGEXP Fonksiyonları"] --> MATCH["REGEXP_MATCH\nEşleşme kontrolü\n(true/false)"]
REGEX --> EXTRACT["REGEXP_EXTRACT\nDesenç çıkarma\n(değer döndürür)"]
REGEX --> REPLACE["REGEXP_REPLACE\nDesen değiştirme\n(metin dönüştürür)"]
MATCH --> M1["CASE WHEN ile\ngruplama"]
EXTRACT --> E1["URL parsing\nKampanya ayrıştırma"]
REPLACE --> R1["Temizleme\nNormalizasyon"]
style MATCH fill:#E8F6FC,stroke:#29ABE2
style EXTRACT fill:#DCFCE7,stroke:#22C55E
style REPLACE fill:#FEF3C7,stroke:#F59E0B
2. Custom Channel Groupings
GA4'ün varsayılan kanal gruplarını Looker Studio'da özelleştirerek kendi sınıflandırmanızı oluşturun.
a) Hesaplanan Alan Örneği
CASE
WHEN REGEXP_MATCH(Session source/medium, '(google|bing).*(cpc|ppc)') THEN 'Paid Search'
WHEN REGEXP_MATCH(Session source/medium, '(meta|facebook|instagram).*paid') THEN 'Paid Social'
WHEN REGEXP_MATCH(Session source/medium, '(google|bing|yahoo).*(organic)') THEN 'Organic Search'
WHEN REGEXP_MATCH(Session source/medium, '(newsletter|mailchimp|klaviyo).*email') THEN 'Email Marketing'
WHEN Session source/medium = '(direct) / (none)' THEN 'Direct'
WHEN REGEXP_MATCH(Session source/medium, 'influencer.*') THEN 'Influencer'
WHEN REGEXP_MATCH(Session source/medium, 'affiliate.*') THEN 'Affiliate'
ELSE 'Other'
END
💡 İpucu: Custom channel grouping oluştururken CASE WHEN sırasına dikkat edin — ilk eşleşen kural uygulanır. "Other" her zaman en sonda olmalıdır. Yeni bir UTM yapısı eklediğinizde bu hesaplanan alanı güncellemeyi unutmayın.
3. HYPERLINK ve IMAGE Fonksiyonları
a) HYPERLINK
Tablo içinde tıklanabilir linkler oluşturur.
HYPERLINK(Page location, Page path)
Bu, sayfa URL'sini tıklanabilir yapar ve metin olarak yalnızca path'i gösterir.
b) IMAGE
Tablo veya scorecard içinde görsel gösterir.
IMAGE(CONCAT('https://www.google.com/s2/favicons?domain=', Session source), 'Favicon', 16, 16)
Bu, her trafik kaynağının favicon'unu tabloda gösterir.
4. İleri CASE WHEN Kullanımları
a) Performans Segmentasyonu
CASE
WHEN ROAS >= 5 THEN 'Yıldız Performans'
WHEN ROAS >= 3 THEN 'İyi Performans'
WHEN ROAS >= 1 THEN 'Başa Baş'
WHEN ROAS > 0 THEN 'Düşük Performans'
ELSE 'Veri Yok'
END
b) Gün Kategorisi
CASE
WHEN DAYOFWEEK(Date) IN (1, 7) THEN 'Hafta Sonu'
ELSE 'Hafta İçi'
END
c) Saat Dilimi
CASE
WHEN Hour >= 6 AND Hour < 12 THEN 'Sabah'
WHEN Hour >= 12 AND Hour < 18 THEN 'Öğleden Sonra'
WHEN Hour >= 18 AND Hour < 22 THEN 'Akşam'
ELSE 'Gece'
END
graph TD
CALC["📐 İleri Hesaplanan Alanlar"] --> REGEX2["🔍 REGEXP\nDesen eşleştirme"]
CALC --> CASE2["📋 CASE WHEN\nKoşullu gruplama"]
CALC --> FUNC["🔧 Fonksiyonlar\nHYPERLINK, IMAGE"]
CALC --> MATH["➗ Matematiksel\nÖzel metrikler"]
REGEX2 --> R1["Custom channels\nURL parsing"]
CASE2 --> C1["Performans segmenti\nZaman dilimleri"]
FUNC --> F1["Tıklanabilir linkler\nFavicon görselleri"]
MATH --> M1["ROAS hesaplama\nDönüşüm oranı"]
style CALC fill:#E8F6FC,stroke:#29ABE2
⚠️ Uyarı: Hesaplanan alanlar iki düzeyde oluşturulabilir: Data Source düzeyinde (tüm raporlarda geçerli) ve Chart düzeyinde (yalnızca o grafikte geçerli). Sık kullanılan hesaplamalar mutlaka Data Source düzeyinde oluşturulmalıdır.
🎯 Benzetme: REGEXP fonksiyonları bir arama-bul (Find & Replace) aracının süper güçlü versiyonu gibidir. Normal arama yalnızca tam eşleşme bulabilir. RegEx ise "şu desene uyan herhangi bir şeyi bul" diyebilir — telefon numarası, e-posta, URL deseni gibi karmaşık yapıları tek bir ifadeyle yakalarsınız.
