Google Analytics 4 - Etkinlik Verilerinin Görselleştirilmesi
Etkinlik Tanımları ve Görselleştirme Biçimleri
Google Analytics 4 - Etkinlik Yönetimi başlıklı yazıda GA4 etkinlikleri ve bu etkinliklerle ilişkili parametrelere değinmiştim. Bu yazıda ise, örnek bir etkinliğin planlamasını yapıp, elde edilen verileri GA4 ve Looker Studio aracılığı ile nasıl görselleştirebileceğimize değineceğim.
Temmuz 2023 itibariyle Universal Analytics (UA) yerini Google Analytics 4 (GA4) mülk biçimine bırakıyor. Bu tarihten sonra UA mülkleri yeni verileri işleyemeyecekler. Tahminen yıl sonu gibi de artık erişilmez hale gelecekler. Mülk biçimleri arasındaki farklılıklar ve diğer işlemler için Universal Analytics (UA) Yerine Google Analytics 4 (GA4) başlıklı yazımı okuyabilir ve teknik destek talebinde bulunabilirsiniz.
GA4 bize etkinlikler ve etkinlikler özelinde çeşitli parametreleri iletme imkanı sunar. Ayrıca, var olan etkinliğe ait parametreleri kullanarak yeni etkinlikler oluşturabilir ve var olan etkinlikleri dönüşüm olarak da işaretleyebiliriz1. Aşağıdaki örnek senaryoda birkaç adımdan oluşan bir form yapısını temel alacağım.
Etkinliklerin Planlanması
Elimizde aşağıdaki örneklendiği hali ile farkı özelliklere sahip işlemlerin gerçekleştirildiği bir form olsun2. Bu formu görüntüleyen kullanıcıların hangi adımlarda form ile etkileşimi sonlandırdığını ve etkileşim sonucunda kaç adet formun gönderildiğini ölçmek istiyoruz.
Her durumda (durumlara A, B ve C diyelim), Form Submitted adımında kullanıcı kaydı oluşturuluyor. Kayıt işlemi başarılı bir şekilde gerçekleştirilmişse (benzer kayıt yoksa ve bilgiler geçerli ise) dönüşüm etiketi tetikleniyor ve kullanıcı Thank You sayfasına yönlendiriliyor1.
Ancak, Form Submitted aşamasında kullanıcı tarafından verilen bilgilere bağlı olarak ara adımlar kullanıcıya sunulabiliyor. Dolayısıyla, ilk dönüşümümüz (conversion) Form Submitted adımı, ikincil dönüşümler ise kullanıcının yönlendirildiği ara işlemler olarak ele alınmakta.
Bir akış şemasına indirgeyecek olursak;
Bu aşamada en yalın hali ile 2 farklı yol izlenebilir;
- Her adım için ayrı bir etkinlik tanımlamak
- Tek bir etkinlik adı altında parametreler ile adımları ayırmak
İlk yolu etkinlik temelinde işlemler yapılabilmesini mümkün kılar. Bu etkinliklerden bir veya daha fazlası (form gönderimleri, ödeme, vb.) ayrıca dönüşüm olarak işaretlenebilir. İkinci yolda ise, tek bir etkinlik adı tanımlı olacağı için bu etkinliği dönüşüm olarak tanımlamak mantıklı olmayacaktır. Bu durumda, GA4 üzerinden yeni bir etkinlik oluşturup etkinlik adı ve parametre ilişkili üzerinden yeni bir etkinlik yaratılmasını sağlayıp bu ve gerekli ise oluşturulacak diğer etkinlikleri dönüşüm olarak işaretleyebiliriz. İşlemlerin biraz karışık göründüğünü tahmin edebiliyorum; o halde ilgili işlemleri adım adım gerçekleştirelim.
Etkinliklerin Kontrolü
Kullanılacak veri kaynağına ve etkinliğin niteliğine bağlı olarak görselleştirme işleminin yürütülmesi bir zaman alabilir. Bu nedenle, BigQuery tarafında 48 saat, GA4 tarafında 24 saate kadar olası zaman gecikmelerini hesaba katarak ilerlemek mantıklı olacaktır.
GA4 tarafında, yukarıda bahsi geçen raporlar aracılığı ile etkinlik detaylarını görüntülemek oldukça kolay. BigQuery tarafında ise veri yoğunluğuna bağlı olarak SQL sorguları yazmamız gerekebilir. Aşağıda yer alan örnek SQL sorgularını inceleyebilirsiniz.
_Elbette domain.analytics_123456789.events_20211011
şeklindeki tablo yolunu kendi veri kaynağınıza göre düzenlemeyi unutmamalısınız._
SELECT event_name, COUNT(event_name) AS val_occurrence
FROM `domain.analytics_123456789.events_20211011`
GROUP BY event_name
ORDER BY val_occurrence DESC
LIMIT 10;
İlgili SQL sorgusunun dönüşü aşağıdakine benzer şekilde listelenecektir.
Row | event_name | val_occurrence |
---|---|---|
1 | page_view | 984 |
2 | session_start | 965 |
3 | user_engagement | 763 |
4 | first_visit | 670 |
5 | scroll | 286 |
6 | funnel | 42 |
7 | funnel_step_1 | 28 |
8 | click | 16 |
9 | funnel_step_2 | 10 |
10 | video_progress | 8 |
Şimdi, sadece funnel
içeren etkinlikleri listeleyelim.
SELECT event_name, COUNT(event_name) AS val_occurrence
FROM `domain.analytics_123456789.events_20211011`
WHERE event_name LIKE '%funnel%'
GROUP BY event_name
ORDER BY val_occurrence DESC
LIMIT 10;
Örnek SQL sorgusu sonucunda şu şekilde bir dönüş aldığımızı varsayalım.
Row | event_name | val_occurrence |
---|---|---|
1 | funnel | 42 |
2 | funnel_step_1 | 28 |
3 | funnel_step_2 | 10 |
4 | funnel_step_3 | 8 |
5 | funnel_step_4 | 6 |
6 | funnel_step_5 | 4 |
7 | funnel_step_6 | 2 |
GA4 ve BigQuery bağlantısı arasındaki en temel farklılık, BigQuery tablosunun ilgili etkinliğin tetiklendiği zaman etiketlerini (timestamp) de barındırıyor olması3. Bu zaman etiketleri sayede etkinlikler arasında geçen zamanı hesaplamak ve buna bağlı olarak işlemler yapabilmek mümkün hale gelmekte. Elbette zaman etiketlerini parametre olarak da işleme alabilirsiniz. Bu tür detayları sürece göre değerlendirmek daha uygun olacaktır.
Örnek olarak aşağıdaki gibi bir SQL sorgusu kullanarak gelen verileri inceleyebilirsiniz.
SELECT event_date, event_timestamp, event_name
FROM `domain.analytics_123456789.events_20211011`
WHERE event_name LIKE '%funnel%'
LIMIT 5
Row | event_date | event_timestamp | event_name |
---|---|---|---|
1 | 20211011 | 1633984748349537 | funnel |
2 | 20211011 | 1633984883567678 | funnel |
3 | 20211011 | 1633984883567678 | funnel |
4 | 20211011 | 1633984883567678 | funnel |
5 | 20211011 | 1633984883567678 | funnel |
Çoklu Etkinlik Kullanımı
İlk olarak, her adımı ayrı bir etkinlik olarak ele alalım.
gtag("event", "funnel_step_1");
//...
Adından, bir veya daha fazla etkinliği dönüşüm olarak işaretleyelim ve elde ettiğimiz etkinlik verilerini hem GA4 hem de GDS aracılığı ile görselleştirelim.
Etkinliklerimiz her adım için şu şekilde olsun;
Sıra | Etkinlik adı | Başlık | Akış |
---|---|---|---|
1 | funnel_step_1 | Selections | A,B,C |
2 | funnel_step_2 | Personal Information | A,B,C |
3 | funnel_step_3 | Questionnaire | A,B,C |
4 | funnel_step_4 | Form Submitted | A,B,C |
5 | funnel_step_5 | Image Upload | C |
6 | funnel_step_6 | Payment | A |
7 | funnel_step_7 | Thank You | A,B,C |
Çoklu Etkinlik Kullanımında GA4 ve GDS Görselleştirme İşlemleri
GA4 ile birlikte, Explore altında funnel ve path gibi oldukça kullanışlı şablonlar tek tıklama ile kullanılabilir halde sunulmakta. Bu sayede kullanıcı özelinde web sitesi ve uygulamalardaki etkileşimleri kolay bir şekilde görüntüleyebilmekte, elde edilen verileri kitle tanımları içerisinde değerlendirebilmekteyiz. Bu yazı bağlamında, ilgili etkinlikleri Explore > Funnel exploration adımlarını izleyerek görselleştireceğim.
GDS tarafında ise tercihim bar chart olacak.
GA4: Raporlama - 1
Funnel exploration seçeneğinin tıklanmasının ardından temel metrikleri (metrics) ve boyutları (dimensions), device category kırılımını (breakdown) ve first open/visit, organic visitors, session start, vb. adımlarını (steps) içeren active user akışı karşımıza çıkacaktır.
Öncelikle ilgili adımları yeniden ele alalım. Bu amaçla, Steps başlığının yanında bulunan kalem simgesini tıklamamız yeterli olacaktır.
Edit funnel steps ekranında her adım için şu işlemlerin tekrarlanması gerekiyor; Add step > Add new condition > events > funnel_step_x>. Thank You adımı için page_view
etkinliği seçilip parametre olarak teşekkür sayfasının path değeri belirtilebilir.
Kırılım (breakdown) olarak cihaz kategorisi (device category) ve benzeri bir seçim yapılabilir. Bu işlemlerin ardından funnel aşağıda örneklenen biçime benzer bir biçim alacaktır.
Bu aşamadan sonra adımlar üzerinden yeni segmentler oluşturulabilir ve/veya var olan segmentler etkinlikler temelinde ele alınabilir.
GDS: Raporlama - 1
GDS tarafında, eğer etkinlikler planlı bir şekilde organize edilmişse tablo ve bar grafiğini oluşturmak için sadece filtre kullanmak yeterli olacaktır4.
Tablo ve/veya grafik için boyut (dimension) olarak Event name
, metrik (metric) olarak ise Event count
seçimleri yapıldığında en yalın hali ile Event name
olarak funnel_step_x
şeklinde belirttiğimiz etkinlikler tetiklenme sayılarına göre sıralanacaklardır. Şayet, ilgili etkinlikler için kendimiz başlık belirtmek istersek, bu durumda CASE
fonksiyonundan faydalanmamız gerekir5. Yeni bir boyut oluşturarak (create field) bu işlemi gerçekleştirebiliriz. Aşağıdaki kod parçacığı işlem için yeterli olacaktır.
CASE
WHEN Event name='funnel_step_1' THEN 'Step 1'
WHEN Event name='funnel_step_2' THEN 'Step 2'
WHEN Event name='funnel_step_3' THEN 'Step 3'
WHEN Event name='funnel_step_4' THEN 'Step 4'
WHEN Event name='funnel_step_5' THEN 'Step 5'
WHEN Event name='funnel_step_6' THEN 'Step 6'
ELSE NULL
END
Bu işlemi grafik ve/veya rapor düzeyinde de gerçekleştirebilirsiniz.
Eğer tablo ve/veya grafikte null
değerler var ise filtreler aracılığı ile bu değerleri hariç (exclude) tutabilirsiniz. funnel_step_
ile başlayan etkinlikler için ise yine filtre oluşturup bu etkinlik ismini temel alacak şekilde etkinlikleri sınırlandırabilirsiniz4.
CASE
içerisinde page_view
etkinliğini de kullanabilirsiniz ancak bu durum null
değerini kontrol edememenize sebebiyet verecektir.
--...
WHEN Event name='page_view' AND REGEXP_CONTAINS(Page path,'success') THEN 'Thank You'
--...
Bu nedenle önerim ilgili değerleri (etkinlik adı ve parametre değerini kullanarak) ayrı bir etkinlik olarak tanımlamaktır.
Etkinlik ve Parametre Kullanımı
Bu adımda tek bir etkinlik altında parametreleri kullanacak, adından GA4 üzerinden dönüşüm olarak işaretlemek üzere etkinliklere müdahale edeceğiz. Yine bir üst başlıkta olduğu gibi elde ettiğimiz verileri GA4 ve GDS aracılığı ile görselleştireceğiz.
Özel Metrik ve Boyutlar
Bir etkinlik içerisinde iletilen parametreleri Configure > Custom definitions adımlarını izleyerek metrik veya boyut olarak tanımlayabiliriz. Bu aşamada, ilgili tanım için bir kapsam (scope) belirlememiz gerekir. Örneğin, kullanıcı özelliklerinden faydalanacağımız durumlarda kapsamı User, diğer durumlar için Event olarak tanımlayabiliriz.
Bu yazı bağlamında bir özel boyuta ihtiyacımız olduğu için Custom dimension seçeneği üzerinden ilerleyeceğiz. Dimension name ilgili boyutun raporlarda hangi ad ile görüntüleneceğini, Event parameter ise hangi parametre ile bu boyutun ilişkilendirileceğini belirtir. Etkinlik parametresi olarak step_name
seçimini yaparak boyut tanımını kaydedebiliriz.
Görselleştirme işlemini tek bir etkinlik üzerinden yürüteceğimize göre adımlarla ilişkili parametreler netleştirmemiz uygun olacaktır.
Etkinliklerimiz her adım için şu şekilde olsun;
Sıra | Etkinlik adı | Parametre | Akış |
---|---|---|---|
1 | funnel | Step_1 | A,B,C |
2 | funnel | Step_1 | A,B,C |
3 | funnel | Step_3 | A,B,C |
4 | funnel | Step_4 | A,B,C |
5 | funnel | Step_5 | C |
6 | funnel | Step_6 | A |
7 | funnel | Thank You | A,B,C |
Tabloda yer alan 7. adım bir üst başlıkta da bahsi geçtiği üzere sayfa görüntüleme işlemini ifade etmekte. Özellikle GDS sürecinde ilgili işlemin de ayrı bir etkinlik olarak tanımlanması faydalı olacaktır.
Tek Etkinlik Kullanımında GA4 ve GDS Görselleştirme İşlemleri
Tek etkinlik kullanımında etkinliğin log'lanmasını beklemeden Configure > Custom definitions adımlarını izleyerek özel boyut tanımı yapılabilir. Bu sayede ilgili parametre değerleri edinildiğinde rapor içerisinde kullanılabilir hale gelecektir.
gtag("event", "funnel", {
step_name: "Step_1",
});
//...
Standart raporlar içerisinde parametreleri görebiliyor olmak bu parametrelerin Explore aracılığı ile görselleştirme sürecinde kullanılabilir olacakları anlamına gelmemekte.
Keşif sürecinde elde edilen veriler bir gün öncesine ait. Bu nedenle zaman dilimine bağlı olarak veriler gecikme ile uygulanabilmekte. Dolayısıyla, adımların oluşturulması sürecinde ilgili parametre değeri görüntülenmiyor ise beklemeniz (parametrenin doğru bir şekilde iletildiğinden emin iseniz) gerekecek.
GA4: Raporlama - 2
GA4 etkinlik verilerini tek etkinlik ve bu etkinliğe bağlı parametreler aracılığı ile yönetmek istediğimiz durumda, ilgili funnel içerisinde etkinliğin seçilmesinin ardından hemen yanında yer alan Add Parameter ile parametrelerin de eklenmesi gerekmekte.
İlgili alan tıklandığında log'lanan parametreler listelenecektir. Sadece (not set)
görüntüleniyor ise, diğer etkinlikler henüz log'lanmamış olabilir. Bu durumda ilk olarak raporun verileri temel aldığı tarih aralığını, ardından etkinlik tanımını gözden geçirmekte fayda olacaktır.
Adımlar ilişkili parametreler ile sırası ile tanımlandığında üst alanda kullanıcıların da aşamalı olarak değerlerinin değiştiği görülecektir.
GDS: Raporlama - 2
Tek bir etkinlik tanımı kullanacağımız ve adımları step_name
parametresi üzerinden böleceğimiz için CASE
fonksiyonunu da buna uygun şekilde ele almak gerekiyor.
CASE
WHEN Event name = 'funnel' AND step_name='Step_1' THEN 'Step 1'
WHEN Event name = 'funnel' AND step_name='Step_2' THEN 'Step 2'
WHEN Event name = 'funnel' AND step_name='Step_3' THEN 'Step 3'
WHEN Event name = 'funnel' AND step_name='Step_4' THEN 'Step 4'
WHEN Event name = 'funnel' AND step_name='Step_5' THEN 'Step 5'
WHEN Event name = 'funnel' AND step_name='Step_6' THEN 'Step 6'
ELSE NULL
END
Bu işlemi yine çoklu etkinlik kullanımında da önerdiğim üzere veri kaynağı / rapor düzeyinde gerçekleştirmek gerekli bir durumda filtreleme işleminin de daha kolay bir şekilde gerçekleştirilebilmesini sağlayacaktır. Ek olarak, Thank You
adımına ait sayfa görüntüleme işleminin de yine page_view
etkinliği yerine yeni bir etkinlik üzerinden tanımlanması daha uygun olacaktır.
Ardından GDS veri kaynağını güncellememiz gerekir.
Veri kaynağının güncellenmesi sürecinde var olan alanlar (fields) ile yeni alanlar listelenir. Görselde de görüldüğü üzere yeni bir boyut olarak tanımladığımız step_name
yeni alanlar altında yer almakta.
Bu, ilgili alanın artık rapor içerisinde kullanılabileceği anlamına gelmektedir. O halde CASE
fonksiyonunu yeni etkinlik ve parametrelere uygun olarak güncelleyebiliriz.
CASE
fonksiyonunun güncellenmesinin ardından adımlar tablo ve bar chart üzerinden etkinlik sayılarına göre sıralanacaktır.
Örnek bir form akışını temel alarak planladığımız GA4 etkinlik yapısını hem GA4 hem de GDS aracılığı ile nasıl görselleştirebileceğimizi gördük. İlerleyen aşamalarda bu verileri segmentasyon ve kitle tanımları gibi süreçlerde nasıl kullanabileceğimize değinmeye çalışacağım.