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.
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.
Ş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.
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.
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.