Filtre Tasarımı: Kategoriler, Değerler ve Boş Sonuç Sorunu
Filtre, uzun bir listeyi kısaltmak için var. Ama yanlış kurulduğunda listeyi kısaltmaz, kullanıcıyı hiçbir şeyin olmadığı bir ekrana götürür. Aradaki fark genelde kategori ve değer isimlerinin nasıl seçildiğinde, bir de kaç filtrenin aynı anda açık bırakıldığında saklı.
Kategori ve değer aynı şey değil
Kategori, üzerinden eleme yapılan özelliktir: renk, fiyat, marka, beden. Değer ise o özelliğin alabildiği tekil seçenektir: mavi, 500 TL altı, 42 numara. Ayrım basit görünüyor ama tasarımda iki farklı kararı yönetiyor. Kategori seçimi “kullanıcı neye göre eliyor” sorusunun cevabı, değer seçimi ise “o elemeyi kaç parçaya bölüyoruz” sorusunun.
Karışıklık genelde şurada çıkar: aynı bilgi bazen kategori, bazen değer olarak modellenebilir. “Kablosuz” bir kulaklık listesinde ayrı bir kategori (bağlantı tipi) olabilir, ya da “özellikler” kategorisinin altında bir değer. İkincisi kurulumu kolay, kullanımı kötü, çünkü birbirini dışlamayan onlarca seçenek tek bir torbaya doluyor ve kullanıcı hangi işaretin neyi elediğini takip edemiyor.
Filtre sayısını ürün özelliği sayısına bağlamam
Kaynak metinlerin çoğu “eksik filtre kullanıcıyı kaybettirir” der ve oradan doğrudan daha fazla filtre eklemeye geçer. Atlanan şey, filtrelerin toplanarak değil çarpılarak büyümesi.
Altı kategoriniz varsa ve her birinde beş değer bulunuyorsa, kullanıcının kurabileceği kombinasyon sayısı 5 üzeri 6, yani 15.625. Kataloğunuzda bin ürün varsa bu kombinasyonların ezici çoğunluğu boş döner. Yani filtre eklemek, boş sonuç ekranına düşme olasılığını da artırır. Yedinci kategoriyi eklemek bu sayıyı beşe katlar, ürün sayınızı ise hiç değiştirmez.
Bunun standart çözümü, her değerin yanında kaç sonuç getireceğini göstermek ve sıfır getirenleri devre dışı bırakmak. Kullanıcı tarafında ucuz görünen bu karar, veri tarafında bir maliyet getiriyor: mevcut seçim altında her faset değeri için ayrı bir sayım gerekiyor. Küçük kataloglarda tek bir gruplama sorgusu yeter. Katalog büyüdüğünde bu sayımlar bir arama motoruna (Elasticsearch, Solr, Meilisearch) devredilir, çünkü faset sayımı zaten o motorların birinci sınıf işi. Filtre listesini tasarlarken bunu baştan konuşun, sonradan eklenen sayaç genelde her filtre tıklamasında yeni bir tam tablo taraması demek.
Etiket, kullanıcının kelimesi olmalı
Jargon burada iki yerden geliyor: birincisi şirket içi terimler, ikincisi kataloğun kendi alan adları. Veritabanında sütun adı “ürün tipi” diye geçiyor diye arayüzde de öyle yazılıyor. Kullanıcı ise “ayakkabı türü” arıyor.
İyi bir kontrol şu: etiketi tek başına, kategorinin bağlamı olmadan okuyun. “Standart” değeri tek başına hiçbir şey söylemez. “Standart kalıp” söyler. Değer isimleri çoğu zaman kategori başlığından bağımsız okunuyor, çünkü mobilde kategori başlığı yukarı kaydırılıp gözden çıkıyor.
Açıklama gerektiren teknik değerler için info ikonu bir çözüm, ama her etikete ikon koymak açıklamanın kendisini gürültüye çeviriyor. Açıklamayı sadece kullanıcı araştırmasında gerçekten takıldığı görülen yerlere koyun.
Sıralama neye göre
Kategorilerin sırası için işleyen kural, kullanıcının eleme yaparken hangi soruyu önce sorduğu. Ayakkabıda beden, çoğu kullanıcı için renkten önce gelir, çünkü beden tutmayan ürünün rengi zaten önemsiz. Marka ve fiyat sık kullanılıyor diye otomatik olarak en üste konuluyor; oysa sık kullanılmalarının sebebi bazen en üstte olmaları.
Değerlerin kendi içindeki sırasında üç seçenek var ve üçü farklı işler: doğal sıra (bedenlerde 38, 39, 40), alfabetik (marka listesi), popülerlik (renkler). Popülerliğe göre sıralarken sırayı canlı tutmayın; her gün yer değiştiren bir liste, geri dönen kullanıcının kas hafızasını bozar.
Neyi ölçersiniz
Filtre sisteminin sağlığı için en okunaklı iki sayı, sıfır sonuçla biten filtre oturumlarının oranı ve site içi aramada girilen kelimelerin filtrelerde karşılığı olup olmadığı. İkincisi özellikle verimli: kullanıcı bir özelliği arama kutusuna yazıyorsa, o özellik ya filtrede yok ya da adı tutmuyor.
Bunların yanına A/B testi eklemek mantıklı, ama filtre değişikliklerinde tek başına dönüşüm oranına bakmak yanıltıyor. Filtreyi kullanan kullanıcı zaten satın almaya yakın bir kullanıcı, dolayısıyla filtre kalitesinden bağımsız olarak yüksek dönüşür. Kıyaslamayı filtreye dokunan kullanıcılar içinde yapın.