Looker Studio - Performans İpuçları ve Çözümlemeler

Looker Studio özelinde yakın zamanda pek çok yeni özellik kullanıma sunuldu. Düzenleme modunda alanların düzenlenmesi ve veri kaynaklarından gelen alanların listelenmesi öne çıkan özelliklerden bazıları1.

AA

Data Studio özelinde kullanıma sunulan yeni özellikler ve doğrudan ya da dolaylı olarak sıklıkla karşılaştığım müşteri isteklerini temel alan bir yazı yayınlamanın faydalı olacağını düşünüyorum. Bu yazıyı Looker Studio - Rapor Ayarları başlıklı yazının bir devamı olarak nitelendirebiliriz.

İlk olarak, rapor oluşturma sürecinde dikkat edilmesinin faydalı olacağı birkaç noktaya değineceğim. Ardından, deneysel başlığı altında çeşitli durumlarda gerektiğinde kullanılabilecek ancak hataya ve performans kaybına neden olması oldukça muhtemel olan birkaç çözümlemeyi örneklendireceğim.

Burada bahsi geçen birkaç işlemi Ürünler > Looker Studio Raporları sayfasında yer alan raporlardan bazılarında kullanmaktayım. Ancak, genelde çok fazla veri kaynağının kullanıldığı, pek çok hesaplanmış alan içeren rapor çalışmalarında bu tür alternatif çözümlerden olabildiğince sakındığımı da belirtmek isterim.

Rapor Oluşturma Sürecinde Dikkat Edilmesi Gerekenler

Doğrudan ya da connector olarak ifade edebileceğimiz üçüncü parti araçlar aracılığı ile edindiğimiz verileri grafiklere ve tablolara aktarırken hem performans hem de verilerin doğru bir şekilde ifade edilebilmesi açısından birkaç önemli hususa dikkat etmekte fayda var.

Kontrol Yerleşimi

Kontrolleri (drop-down list, fixed-size list, input box, vb.) mümkün olduğunca sayfanın üst bölümünde kullanmalısınız. Bu sayede kullanıcı verileri istediği şekilde filtreleyebilir ve grafikleri önem sırasına göre yukarıdan aşağıya doğru okuyabilir.

Data Studio - Controls

Genelde veri kaynağı, tarih aralığı seçimi, kaynak, kampanya, yaş ve cinsiyet gibi demografik bilgiler, ülke ve şehirler, cihaz türleri ve kullanıcı tipleri gibi işlemler bu aşamada ele alınır. Şayet, rapordaki grafikler bölümler (section) dahilinde sunuluyor ise ilgili bölüme ait ek filtreleme işlemleri bölüm içerisinde de sunulabilir. Bölümleme tek sayfa ya da çoklu sayfalar üzerinden gerçekleştirilebilir.

Data Studio - Filters

Ek olarak, eğer çoklu sayfa tercih edilmiş ise ilgili bir filtreleme işlemi rapor düzeyinde uygulanabilir. Bu durumda unutmamak gerekir ki bir eleman rapor düzeyine alınmış ise tüm sayfalarda görüntülenir. Bu gibi durumlarda, görüntülenmesinin istenmediği sayfalar için alternatif çözüm olarak elemanların görünürlük sırası (order) yeniden ele alınabilir, yani filtre bir üst katman ile gizlenebilir.

Etkileşimli Filtreler

Grafikler ve tabloları etkileşimli hale getirerek raporu görüntüleyen kullanıcının ilgilendiği verilere odaklanmasını, alanlar arasındaki ilişkileri ve zamana bağlı değişiklikleri kolaylıkla görüntüleyebilmesini sağlayabilirsiniz.

Data Studio - Filters
Data Studio - Filters

Bu işlem için ilgili grafiğe ait veri (data) düzenleme alanının alt bölümünde yer alan cross-filtering seçeneğini seçili hale getirmeniz yeterli olacaktır. Ardından, grafikler ve tablolar üzerinde bir veya daha fazla alanı seçerek alanlar arasındaki ilişkiler öne çıkarılabilir.

Rapor Düzeyinde ve Grup Filtreleme

Oluşturulan tablo veya grafikler temelinde filtreleme işlemleri yapılabildiği gibi rapor ayarları (report settings) üzerinden rapor düzeyinde ve/veya birkaç tablo veya grafik seçilerek gruplandırarak filtreleme işlemleri gerçekleştirilebilmekte. Bu sayede null ve (not set) alanlar veya test verileri kapsam dışında tutulabilir.

Dinamik Açıklama Alanları

Data Studio görsel elemanların etkileşimli bir şekilde çalışabilmesini şu an için desteklememekte2. Ancak, bu amaçla kullanılabilecek birkaç yöntem bulunmakta. Bunlardan ilki topluluk tarafından geliştirilen (community visualizations and components) görselleştirme elemanları ve bileşenler3.

Data Studio - Filters

Topluluk tarafından pek çok veri görselleştirme biçimini raporlara veri paylaşım ve gizliliği hususunda dikkatli olmak şartıyla raporlarınıza ekleyebilirsiniz. İlgili bölümü görüntülediğinizde pek çok farklı biçimde grafik size sunulacaktır. Ancak, burada listelenmeyen grafik ve bileşenler de gs:// ile ifade edilen bir adres aracılığı ile çağırılabilmektedir4 5.

Data Studio - Filters

Conditional Content Component şarta bağlı değişkenlik gösteren dinamik alanlar oluşturulabilmesini sağlayan bir bileşen. İlgili bileşene gs://siavak-visualizations/range-viz adresi aracılığı ile ulaşılabilmekte6.

Deneysel İşlemler

Bu başlık altındaki işlemlerden sadece örneklendirme amacıyla bahsettim. İlgili işlemlerin kullanılması raporların geç yüklenmesine, verilen hatalı görüntülenmesine ve hatalar alınacak ilgili alanın verileri sunamamasına neden olabilmekte. Peki, bu başlık altında hangi işlemlerden bahsedeceğim?

  • Dinamik metin alanları
  • Aynı sekmede açılan görsel bağlantıları
  • Profil kartı
  • Sınırlandırılmış zaman aralığı işlemleri

Dinamik Metin Alanları

Conditional Content Component başlığına alternatif diğer yöntem ise, aslında bir bileşen kadar olmasa da temel seviyede bize yardımcı olabilecek bir hile diyebiliriz7.

Bir veriyi çeşitli kontroller aracılığı ile kontrollerden geçirebilmekteyiz. Bu gibi amaçlarla da kullanılabilen scorecard bize ilgili işlemin sonucunu döner. Ancak, ilgili işlemi tablolar aracılığı ile de gerçekleştirebiliriz.

Aslında yapılan bir tablo oluşturup header alanını kaldırmak, satır sayısını 1'e indirip stil özelliklerini (gölge, sınır çizgileri, vb.) sıfırlamak. Bu işlemin ardından elimizde kullanılabilir bir dinamik alan olacaktır7.

Örneğin, aşağıdaki görselde yer alan Şu anda Oct 19, 2021 ile Nov 08, 2021 tarih aralığına ait 30 günlük veri görüntülenmekte metni bir raporun orta bölümünde ilgili verinin hangi tarihler arasına ait olduğunu hatırlatmak amacıyla kullanılmakta.

Data Studio - Filters

İlgili metin aşağıdaki içeriğe sahip bir bir boyut (dimension) olarak tanımlı.

CONCAT(
    'Şu anda ',
    CAST(TODATE(CAST(MIN(Date) AS DATETIME), '%Y%m%d','%b %d, %Y') AS TEXT), ' ile ',
    CAST(TODATE(CAST(MAX(Date) AS DATETIME), '%Y%m%d','%b %d, %Y') AS TEXT), ' tarih aralığına ait ',
    CAST(COUNT_DISTINCT(Date) AS TEXT), ' günlük veri görüntülenmekte.'
)

Örnek kullanımı Looker Studio - İçerik Performans raporunu inceleyebilirsiniz.

Yukarıda bahsi geçen hileyi bir metni çok dilli bir yapıya kavuşturmak gibi bir amaç doğrultusunda da kullanabiliriz. Bu konuya bir sonraki başlıkta değineceğim.

Dil Seçimi ve Değişken Metin

Dinamik Metin Alanları başlığında yer alan hileyi rapor başlıkları ve diğer metin alanlarının dil seçimlerine bağlı olarak değişebileceği şekilde de kurgulayabiliriz. İlgili işlemi Experimental Report üzerinden görüntüleyebilirsiniz.

Bu işlem için öncelikle bir dil listesine ihtiyacımız olacak. Ben ilgili örnekte Google Sheets tablosu kullandım. İlgili tablomun içeriği şu şekilde:

Short Detail
TR Türkçe
EN English

Ardından bu tabloyu veri kaynağı olarak seçip tablo içerisindeki bir sütunu dropdown ile ilişkilendirdim.

Data Studio - Filters

Sonraki işlem ise formüller aracılığı ile yürütülmekte. Short sütunun kullanıldığını varsayalım. Bu durumda ilgili kontrolümüz şu şekilde olacaktır.

IF(Short = 'TR', 'Anasayfa', 'Homepage')

Kullanıcı dropdown içerisinde hangi seçimi yaptı ise o seçime bağlı durum aktif hale gelecektir. Bunun yanı sıra, etkileşimli hale getirilen ilgili tablo hücresi için de ayrıca koşullu biçimlendirme (conditional formatting) özelliklerini dahil edebilirsiniz.

Aynı Sekmede Açılan Görsel Bağlantıları

Looker Studio bize rapor içerisinde çeşitli bağlantılar oluşturma ve aynı sekme içerisinde gezinebilme imkanı sunar. Özellikle metin bağlantılar oldukça kolay bir şekilde oluşturulabilmekte ve çeşitli sayfa tanımları ile (Next, Previous, Last, vb.) ilişkilendirilebilmektedir. Ancak, iş görsellerin bağlantı haline getirildiğinde maalesef tıklamalarda yeni bir sekme/pencere açılacaktır. Bu elbette raporlarda navigasyon yapıları gibi simge (icon) kullanılabilecek alanların fonksiyonelliğini düşürmektedir. Ancak, elbette bu durum da çözümsüz değil.

İlgili işlem için Looker Studio - Özet Raporu başlıklı raporu inceleyebilirsiniz.

Data Studio - Filters

Bahsi geçen bu işlem yine metinler için sunulan bağlantı özelliklerinden faydalanabiliriz. Evet, doğrudan bir çözüm olmayacak ancak ihtiyacımızı temel düzeyde de olsun çözecektir.

Data Studio - Filters

Bu amaçla izlenmesi gereken adımlar şu şekilde:

Öncelikle raporumuza bir görsel ekleyelim. Ardından bir metin dosyası oluşturalım ve içeriğini ___ şeklinde dolduralım. Maalesef özel karakterler (whitespace gibi) bu alan içerisinde kullanılamamakta. Bu nedenle görsel olarak öne çıkmayacak bir karaktere ihtiyacımız bulunmakta. Ardından bu metni bir sayfa veya dış bağlantı ile ilişkilendirebiliriz. Görselin arka plan rengine bağlı olarak metnin rengini değiştirip satır yüksekliğini (line-height) düzenledikten sonra eklediğimiz görselin üzerine taşımamız yeterli olacaktır. Artık görsel üzerine bir tıklama yapıldığında bu metnin ilişkili olduğu bağlantı açılacaktır.

Profil Alanı

Bu bölümde Looker Studio - İçerik Performans başlıklı raporda yer alan Yazarlar için yapılan işlemlerden bahsedeceğim.

Looker Studio - Fonksiyonlar başlıklı yazıda da bahsi geçtiği üzere Data Studio bize veri tipleri ile ilişkili bazı özelleştirilmiş fonksiyonlar sunar. IMAGE ve HYPERLINK bu amaçla kullanabileceğimiz fonksiyonlardan ikisi.

Öncelikle GA4 veya benzer farklı bir kaynaktan kullanıcı ve/veya yazar isimlerini edindiğimizi düşünelim. Elbette bu veri büyük-küçük harf, özel karakterler ve boşluklar içerecektir.

Data Studio - Filters

Örneğin, kullanıcı adının John Doe olduğunu varsayalım. Bu durumda edindiğimiz değeri URL içerisinde kullandığımızda şuna benzer bir sonuç ortaya çıkar; domain.com/image/John Doe. Elbette bu işlevsel bir bağlantı olmayacaktır. O halde bu değeri temel alan yeni bir boyut (dimension) oluşturmamız uygun olacaktır.

IF(
    author='(not set)',
    'noone',
    REGEXP_REPLACE(lower(author), '[\\W]', '-')
)

Şimdi ilgili boyutu görsel yolunu oluşturmak amacıyla kullanabiliriz.

CONCAT('https://domain.com/image/', CONCAT(author-slug, '.png'))

Bu işlemi yeni bir alan olarak kayıt ederek kullanabilir hale getirebiliriz. Artık bu değeri bir görsel yolu olarak da belirtebiliriz. İlgili değere ait bir JPG dosyası oluşturduğumuzu varsayalım. Aşağıdaki tablo verinin önceki ve sonraki halini net bir şekilde göstermektedir.

Data Studio - Filters

Şayet oval köşeli bir görsel kullanmak isterseniz ilgili görseli rapor arka plan rengine uygun olarak düzenleyebilir ya da alpha-channel bir PNG olarak kayıt edebilirsiniz. Profil kullanımında CASE fonksiyonunu da kullanmanızı öneririm. Bu sayede yeni bir kullanıcı/yazar eklendiğinde hatalı bir görsel yerine sabit bir görüntüye yer verebilirsiniz.

Yukarıdaki işlemleri rapor düzeyinde ele almanız ilgili alanı daha kolay yönetebilmenizi sağlayacaktır.

Sınırlandırılmış Zaman Aralığı İşlemleri

Dinamik Metin Alanları başlığı altında da değindiğim dinamik metin alanı örneğinde yer alan MIN ve MAX fonksiyonları ile rapor düzeyinde seçilmiş tarih aralığına ulaşabilmekteyiz. Bu aşamadan sonra, ilgili tarih değerini kullanarak sahip olduğumuz diğer tarih aralıklarını karşılaştırabiliriz.

Örneğin, bir kullanıcının kayıt tarihine created_at boyutu aracılığı ile ulaşabildiğimizi düşünelim.

IF(created_at > TODATE(CAST(MIN(Date) AS DATETIME), "%Y%m%d", "%Y-%m-%d"), 1, 0)

Yukarıdaki kod sayesinde kullanıcının kayıt işlemi gerçekleştirdiği tarih seçilen tarihten sonra geliyorsa 1 değeri, aksi durumda 0 değeri dönecektir. Artık bu değeri farklı amaçlar için kullanabiliriz; Sort alanı da bu seçeneklerden biri.