Google Analytics Site İçi Araması İzlemesi

Bu yazı Grav ile ilgili deneyim serisinin devamı niteliğinde de değerlendirilebilir. Ancak, asıl odaklanacağım konu özellikle içerik sitelerinde site içi aramaların takip ve analiz edilmesi süreci.

AA

Danışmanlık verdiğim markalarda sıklıkla bu konuda bir bilgi eksikliği olduğunu gördüğüm için ayrıca değinmenin faydalı olacağını düşünüyorum. Öncelikle site içi arama ifadesinin karşılığını netleştirelim.

Google Analytics ile ilgili destek talebinde bulunabilirsin.

Öncelikle, bir URI'nin hangi bölümlerden oluştuğunu hatırlayalım1.

foo://example.com:8042/over/there?name=ferret#nose
\_/   \______________/\_________/ \_________/ \__/
 |           |            |            |        |
scheme     authority       path        query   fragment
 |   _____________________|__
/ \ /                        \
urn:example:animal:ferret:nose

Site İçi Arama

Websitelerinin veya uygulamaların kapsamındaki içeriklerin aranması sürecini ifade eder. Örneğin, WordPress üzerinde yayın yapan bir içerik siteniz varsa site içi aramalar eğer method ile ilgili bir değişiklik yapmadıysanız ?s=sorgu şeklinde URL alanında yer bulur. Aşağıda bu sorguyu üreten bir form örneğini görebilirsiniz2 3.

<form action="/" method="get">
    <label for="search">Search in <?php echo home_url( '/' ); ?></label>
    <input type="text" name="s" id="search" value="<?php the_search_query(); ?>" />
    <input type="submit" id="searchsubmit" value="<?php echo esc_attr_x( 'Search', 'submit button' ); ?>" />
</form>

Bu durumda site içi arama parametremiz s olacaktır. Ancak, bu bir zorunluluk değil. Farklı web sitelerinde veya uygulamalarda q, search, term gibi pek çok farklı kullanıma denk gelmek mümkün. Diğer yandan, parametre dışında path olarak da sorgunun .../?s=sorgu yerine .../search/sorgu şeklinde URL içerisine yerleştirildiğini görebiliriz. Öncelikle bu işlemin WordPress tarafında nasıl yapılabileceğine bakalım.

function wp_search_url() {
  if (is_search() && ! empty( $_GET['s'])){
    wp_redirect(home_url('/search/') . urlencode( get_query_var('s')));
    exit();
  }
}
add_action( 'template_redirect', 'wp_search_url' );

Yukarıdaki kod ile URL içerisinde bulunan s parametresi /search/ ile eşlenmektedir. Diğer bir kullanımda da /search?q=sorgu gibi hem path hem de parameter bir arada bulunabilemekte. Bu bağlamda Grav tarafında örnek teşkil eden bir kullanımdan bahsetmek isiyorum; search/query:sorgu. Görüldüğü üzere path olarak search ardından gelen query sorgu değerini = (eşittir işareti/equal sign) yerine : (iki nokta/colon) ile almakta4. Bu kullanımlar gen-delims içerisinde tanımlanmış olsalar da ? ön kabul olduğu için gözardı edilebilmekteler. Google Analytics de maalesef sorgu içerisindeki arama terimini colon ile belirtildiğinde yakalayamamakta. Alternatif çözüm olarak, Google Analytics Görünüm ayarları içerisinde dizin tanımı ile sonraki ifadenin tamamını arama sorgusunun kendisiymiş gibi değerlendirebilir. Peki, farklı çözüm yolları nelerdir?

Sanal Sayfa (Virtual Page)

Sorgu JavaScript kullanılarak yeniden düzenlenebilir ve sonuç bir sayfa gibi Google Analytics'e iletilebilir. Bu kullanımı arama işleminin POST methodu ile gerçekleştirildiği durumlarda da tercih edebilirsiniz5.

const newURISepSign = document.location.pathname.replace('query:', '?query=');

// ga kullanımı
ga('set', 'page', newURISepSign);
ga('send', 'pageview');

// gtag kullanımı
gtag('config', 'UA-XXXXX-Y', {
  'page_title' : 'Sayfa Başlığı', // opsiyonel
  'page_path': newURISepSign
});

Filtre

Google Analytics bize filtreler aracılığı ile verilere müdahale etme imkanı da sunmaktadır. Şimdi, bu özelliği query düzenlemesi için nasıl kullanabileceğimize bakalım.

URL'imiz şu şekilde olsun: https://alanadi.com/tr/search/query:sorgu. Bizim için önemli olan ve düzenleyeceğimiz alan query:sorgu. /search/ yapısı gereği kategori olarak işaretlenebilmekte. Bu nedenle ayrıca bir müdahale gereksinimi söz konusu değil. query:sorgu içerisinden sorgu tanımını regex kullanarak A Alanı -> A Çıktısı alanında İstek URI'si olarak \/query:(\S+)$ ile yakalayabiliriz. Bu sayede query: sonrasında gelen sorgu artık $A1 değeri haline gelecektir. B Alanı -> B Çıktısı ihtiyacımız olduğu için - ile geçilebilir. Artık sorguya sahip olduğumuzda göre Çıktı Hedefi -> Oluşturucu alanında Arama Terimi olarak $A1 değerini iletebiliriz.

Google Analytics - Arama Terimi - Filtre Oluşturma

Şimdiye kadar URI temelinde Site Araması aktivasyonu öncesinden bahsettik. Artık Google Analytics tarafında Site Arama özelliğini nasıl tanımlayabileceğimize geçebiliriz.

Google Analytics Site Araması

Site Araması bir Görünüm özelliği olarak sunulmaktadır. Ancak, aramalar içerisinde filtreleme yapmak isterseniz Arama Terimi Hariç Tutma Listesi üzerinden mülk düzeyinde, yani tüm Görünüm'leri kapsayacak şekilde işlemler gerçekleştirebilirsiniz. Bir Görünüm altında Site Araması özelliğini aktifleştirmek için Yönetici bölümünden ilgili Görünüm'e ait Görünüm Ayarları bağlantısını tıklamanız gerekmektedir. Ardından, açılacak olan sayfada Site Arama Ayarları başlığını görebilirsiniz.

Google Analytics Site Arama

Site Arama özelliğinden faydalanabilmeniz ve kullanıcıların websiteniz veya uygulamanız içerisinde yaptıkları aramaları takip edebilmeniz için Site Arama İzlemesi özelliğini aktifleştirmeniz gerekmektedir. Ardından ilgili alanları doldurmaya başlayabilirsiniz.

Sorgu parametresi, yazının giriş bölümünde de bahsi geçtiği üzere ?s=, ?query= gibi query tanımlarını ifade etmekte. Dolayısıyla, bu alana s ya da query gibi kullandığınız parametreyi herhangi bir ekstra karakter olmaksızın yazmalısınız. Bu alanda virgül ile ayırarak, en fazla 5 olmak üzere birden fazla parametre tanımına yer verebilirsiniz.

Site arama kategorileri arama işleminin path ile ayrıştırıldığı durumlarda, ilgili path tanımının takip edilebilmesini sağlar.

Google Analytics Site Arama

Son olarak, sorgu parametresi ve site arama kategorileri isterseniz raporlarınızdaki URL'lerden çıkarılabilmekte. Bu işlem için seçenekler altında bulunan çıkarma opsiyonunu seçmeniz yeterli olacaktır. Bu seçim aramaların takip edilmesini engellemez, sadece ilgili tanımların URL içerisinde görüntülenmemesini sağlar5. Bu işlemlerin ardından Google Analytics Davranış > Site Arama raporları ile kullanıcılar tarafından yapılan aramaları takip edebilirsiniz. İlgili aramalara API aracılığı ga:searchKeyword, ga:searchCategory boyutları ile ulaşılabilmekte6.

Site İçi Arama ile İçerik Fikirleri Edinmek

Artık web sitemiz veya uygulamamız üzerinden gerçekleştirilen kullanıcı aramalarını takip edebilmekteyiz. Bu sayede kullanıcılarımızın ilgi gösterdiği konular hakkında içerik fikirleri edinebilir, sahip olduğumuz içerikleri ilgili aramalar çerçevesinde geliştirebilir veya yeni içerik fikirleri olarak kullanabiliriz. Google Analytics arama sorguları ve arama yapan kullanıcılar ile ilgili bilgileri pek çok rapor içeriğinde bize iletmekte. Bu sadece arama yapan kullanıcıları diğer kullanıcılardan ayırarak analiz edebilir, arama yapılan sayfalar, arama hedef sayfası ve arama terimleri ile sayfa-arama sorgusu bağlamlarında içeriklerimizi gözden geçirebiliriz.