Eylülde bir e-ticaret müşterimizle oturduk ve reklam panelinden tek bir rakam çıkardık: ay içinde tıklamaya ödenen para ile siteye gelip 3 saniye içinde geri dönen (bounce eden) mobil kullanıcı oranını çarpınca, aylık reklam bütçesinin kabaca beşte birinin yavaş açılan sayfalara gömüldüğü ortaya çıktı. Genel müdürün yüz ifadesini tarif etmeyeyim. Kasım kampanyalarına girerken bu yazıyı o yüzden yazıyorum: e-ticarette performans bir BT metriği değil, doğrudan gelir kalemidir ve bunu rakamla göstermek mümkündür.
Sektör araştırmalarının yıllardır tekrarladığı bulgu ortada: yükleme süresine eklenen her saniye, dönüşümde çift haneye varan kayıplar üretebiliyor; mobilde tablo daha da acımasız. Kendi müşterilerimizde gördüğümüz de bu yönde — ciddi hız çalışması yaptığımız sitelerde sepet tamamlama oranı istisnasız iyileşti. Peki para tam olarak nerede sızıyor?
Cevaba geçmeden konuşmayı mobile sabitleyelim, çünkü trafiğin çoğunluğu artık orada ve gerçek kullanım koşulları ofis Wi-Fi'ına hiç benzemiyor: orta segment Android telefonlar, dalgalanan 4G, toplu taşımada tek elle kaydırılan ekranlar. Geliştirici masaüstünde "gayet hızlı" görünen site, hedef kitlenizin elindeki cihazda bambaşka davranır. Testi kendi telefonunuzla değil, müşterinizin telefonuyla düşünün.
Algılanan hız da ölçülen hız kadar önemli. Kullanıcı milisaniye saymaz; "bir şeyler oluyor mu?" diye bakar. Sepete ekleme anında düğmenin anında tepki vermesi, yüklenen alanlarda iskelet görünümlerin belirmesi, işlemin sürdüğünü söyleyen küçük bir animasyon — bunlar teknik metriği değiştirmez ama terk oranını değiştirir. En hızlı site bile tepkisiz görünüyorsa yavaş sayılır; ortalama hızdaki bir site, iyi geri bildirimle hızlı hissedilir.
Üç sızıntı noktası: ilk izlenim, tepki, ödeme
İlk sızıntı, ilk izlenimde (teknik adıyla LCP). Ürün görseli geç açılan sayfada kullanıcı "site çalışmıyor" hissine kapılır ve geri tuşuna basar. Buradaki acı ayrıntı şu: o kullanıcının tıklamasına para ödediniz. Reklam bütçesi harcanmış, ziyaretçi gelmiş, sayfa açılamadığı için müşteri olamadan gitmiştir. Yavaş site, reklam bütçesinin buharlaştığı bacadır.
İkinci sızıntı, tepkisizlikte (INP). Kullanıcı "sepete ekle"ye bastı, hiçbir şey olmadı; iki kez daha bastı, sonra sepette aynı üründen üç tane buldu, ikisini silmeye uğraşırken sıkılıp gitti. Bu hikâyeyi kaç kere dinledik, sayısını unuttum. Tepki vermeyen arayüz güveni sarsar — ve ödeme sayfasına yaklaştıkça güven her şeydir. Kredi kartı numarasını yazmak üzere olan insan, en ufak takılmada vazgeçmeye hazırdır.
Üçüncü sızıntı ödeme akışının kendisinde. Her fazladan adım, her beklenmedik hata mesajı, her geç yüklenen doğrulama script'i terk oranını katlar. Özellikle üçüncü parti ödeme ve doğrulama scriptlerinin yavaşlığı sinsidir: suç onların, fatura sizin. Kullanıcı "bu site kötü" der, ödeme sağlayıcısının adını hatırlamaz bile.
Sessiz bir dördüncü sızıntıyı da ekleyeyim: site içi arama. Aradığını birkaç saniyede bulamayan kullanıcı, sizin kataloğunuzda gezinmek yerine rakibin arama kutusunu dener. Arama sonuç sayfasının hızı ve isabeti, çoğu sitede kimsenin sahiplenmediği ama dönüşüme doğrudan dokunan bir alandır — analitiğinizde "aramadan sonra çıkış" oranına bir bakın, ne demek istediğimi anlayacaksınız.
Bütçeniz kısıtlıysa önce bu beşi yapın
Her sitede yüzlerce iyileştirme bulunabilir; ama getiri sıralaması yapınca liste hep aynı beşe iniyor:
- Görsel diyeti: WebP/AVIF formatı, ekrana göre boyutlandırılmış varyantlar, ekran dışına lazy loading. Çoğu e-ticaret sitesinde tek başına en büyük kazanç burada.
- CDN ve tam sayfa önbelleği: Kategori ve ürün sayfaları anonim kullanıcıya cache'ten insin; sunucunuz yalnızca gerçekten dinamik işlere yorulsun.
- JavaScript budaması: Kullanılmayan eklentileri ve izleme scriptlerini ayıklayın, kalanları erteleyin. (Bir müşteri sitesinde 14 ayrı izleme scripti saymıştık; pazarlama ekibi üçünü hatırlıyordu.)
- Kritik akış izlemesi: Arama, ürün, sepet, ödeme hunisini gerçek kullanıcı verisiyle (RUM) izleyin; laboratuvar testi değil, saha gerçeği karar versin.
- Kampanya provası: Kasım trafiğini kasımda değil, ekimde yaşayın — gerçekçi bir yük testi, kampanya sabahı sürpriziyle kıyaslanamayacak kadar ucuzdur.
Sıralama da önemli: bu liste yukarıdan aşağı, "en az eforla en çok kazanç" mantığıyla dizili. İlk ikisi çoğu sitede birkaç haftalık iştir ve etkiyi herkes çıplak gözle görür.
Üçüncü parti scriptler için bir de yönetişim kuralı önereyim: siteye eklenen her script için "kim istedi, ne işe yarıyor, ne zaman kaldırılacak" bilgisini tutan basit bir kayıt. Altı ayda bir liste gözden geçirilir, sahipsiz kalanlar sökülür. Kulağa bürokrasi gibi geliyor, biliyorum; ama o 14 script'lik enkaz tam olarak bu kaydın yokluğunda birikti.
Kendi sızıntınızı hesaplamak yarım saat sürer
Baştaki hesabı siz de yapabilirsiniz, formül gizli değil. Reklam panelinizden aylık tıklama harcamanızı alın. Analitikten, mobil ziyaretçilerin sayfa tam açılmadan ayrılma oranını çekin; bunun makul bir bölümünü hıza bağlı kayıp sayın (tamamını değil — bir kısım ziyaretçi her koşulda ayrılır, dürüst kalalım). İkisini çarpın. Çıkan rakam, yavaşlığın yalnızca reklam tarafındaki faturasıdır; sepete kadar gelmiş ama ödemede takılıp gitmiş kullanıcıların bıraktığı ciro bunun üstüne biner.
Bu yarım saatlik hesabın gücü şurada: hız tartışmasını "iyi olur" kategorisinden "her ay şu kadar kaybediyoruz" kategorisine taşır. Ve şirketlerde bütçe, hep ikinci kategoriye akar.
Hız çalışmasını yönetime nasıl anlatmalı?
Teknik ekiplerin en sık takıldığı yer burası: "LCP'yi 1,2 saniye iyileştirdik" cümlesi yönetim masasında karşılık bulmuyor. Bulan cümle şu format: "Mobil dönüşüm oranımız %1,8; hız çalışmasıyla benzer sitelerde görülen iyileşme bize ayda şu kadar ek ciro demek." Milisaniyeyi paraya çevirmeden bütçe istemeyin.
Eylüldeki müşterimizde de böyle yaptık: önce sızıntının parasal boyutunu gösterdik, sonra beş maddelik planı fiyatladık. Yatırımın kendini kaçıncı haftada geri ödeyeceği tabloya dökülünce onay yirmi dakikada çıktı. Kasım kampanyasına da hazır girdiler: görseller diyette, kategori sayfaları cache'te, yük testi ekimde yapıldı. Sonuçları muhtemelen aralıkta ayrı bir yazıyla paylaşırız.
Bir uyarıyla bitireyim: hız, bir kere yapılıp bitirilen proje değil. Her yeni kampanya banner'ı, her eklenen script, her özensiz görsel, kazanımları sessizce geri yer. O yüzden çıktığınız seviyeyi bütçe koruması gibi koruyun — performans bütçesi belirleyin, eşik aşıldığında yayına çıkışı durduran bir kontrol koyun. Kilo vermek gibi: asıl mesele vermek değil, geri almamak.
Tek cümlelik versiyonunu isterseniz: pazarlama bütçesini artırmadan ciroyu artırmanın en ucuz yolu, büyük ihtimalle sitenizi hızlandırmaktır. Kendi sitenizin hız raporunu parasal karşılığıyla birlikte görmek isterseniz bir analiz yapalım; rakamları çıkarmak bizden, genel müdürün yüz ifadesi sizden.