GTM Kullanarak HTTP Hata Kodları Nasıl İzlenir - Fatih Karadeniz

GTM Ön Koşulu: Bu izleme çözümü evrensel bir Javascript değişkeni gerektirdiğinden, web sitenizin Google Etiket Yöneticisi taşıyıcısının (GTM container) halihazırda yayınlanmış olması ve izlemek istediğiniz her web sayfasında çalışıyor olması gerekir.

Peki bir Kullanıcı, Web Sitenizdeki bir URL'yi ziyaret ederse ve URL çökerse, çalışmazsa ne olur? Geniş bir ürün veya URL yelpazesine sahip kurumsal düzeyde e-ticaret siteleri veya web siteleri geliştirmek ve sürdürmek çok çaba gerektirir. Geliştirici veya yazılım ekibi her zaman web sitenizi geliştiriyor olabilir, ancak bir gün 500 veya 404 hataları alabilirsiniz.

Bir e-Ticaret sitesiyse veya sitelerinizde satış yapıyorsanız bu muhtemelen satışlarınızı derinden etkileyecektir. Yalnızca satış yapmakla kalmayıp, potansiyel Kullanıcılarınız çalışmayan sayfalarda siteyi terk edecekse kullanıcı deneyimi (UX) oldukça kötü etkilenecektir. Web Sitenizi tarayan herhangi bir Arama Motoru botunun taranması durumunda da web sitenize olumsuz not verecektir.

Mevcut her sayfanın yanıt kodlarını araca ping atmak için kendi bilgisayar sisteminize bağımlı olan ve bunu sadece günlük ya da haftalık yapan Screaming Frog yazılımı gibi araçlara her zaman bağımlı olmamak yerine, potansiyel olarak canlı ziyaretçiyi bulup yakalayabilecek gerçek bir Kullanıcı aracılığıyla yanıt kodu aracı geliştirmek ve bir şeyler ters gittiğinde Kullanıcının HTTP Karşılık Kodunu doğrudan bir etkinlik (event) olarak Google Analytics'e sunmak kulağa iyi bir fikir gibi geliyor. Hadi başlayalım!

Ziyaretçilerden Hata Kodunu Çıkarma

Çoğu zaman Kullanıcı bir hata bulduğunda veya 404 Sayfa Bulunamadı sayfasıyla baş başa kaldığında asıl sayfanın kendisi hâlâ bir sayfa içerir, boş bir sayfa değildir (elbette 500 sayfası olmadığı sürece).

Dolayısıyla izleme aracımız GTM'nin (Google Etiket Yöneticisi) kendisi de yine o sayfada yüklü ve çalışıyor olacaktır, bu nedenle 404 sayfası GTM yüklemesine müdahale etmeyecektir.

Peki ya Google Analytics Kullanıcıların gördüğü 404 veya 500 hatasını nasıl algılayıp kaydedecek?

Bu sorunu çözmek için öncelikle DOM Sisteminden metin çekmemiz gerekecek. HTML sayfalarında bir metin veya bir Kimlik Değeri (ID) olarak bulunabildiğinden, GTM'yi kullanarak bu metni bir değişkene yakalamamız gerekecektir. Tüm Hata mesajlarında da çalışacağı için Global JavaScript Değişkeni ve Tag Manager'ı kullanmanızı öneririm.

Öncelikle GTM sayfamızı açıp Değişkenler sekmesinden "Yeni Değişken" (New Variable) kısmına ardından da Değişken türü olarak "Özel Javascript"i (Custom Javascript Variable) seçmemiz gerekecek.

Google Etiket Yöneticisi Özel JavaScript

Sitenizde gerçekleşen sayfa yüklemelerini ve DOM verilerini alacak kodu oluşturmak için aşağıdaki özel komut dosyasını kullanabilirsiniz.


function() {
  function getResponseCode() {
    return fetch(window.location.href, { method: 'HEAD' })
      .then(function(response) {
        return response.status.toString();
      })
      .catch(function() {
        return 'Bilinmiyor';
      });
  }

  return getResponseCode();
}

Geliştirdiğimiz bu basit kod ile sistem, Kullanıcı siteyi veya belirlenen bir sayfayı her ziyaret ettiğinde arka planda HTTP Statü Kodunu alacak ve bu Statü Kodunu Sayfa Görüntüleme verilerine dahil edecektir.

Daha sonra "Yeni Bir Etiket Oluştur" (Create new Tag) seçeneğine tıklayarak bu oluşturduğumuz değişkeni kendi Google Analytics etiketimizde Parametre (Parameter) olarak kullanabiliriz. Yukarıdaki JS kodumuzu kullanarak oluşturduğumuz Değişkeni de Parametre bölümünde "Değer" (Value) olarak seçebiliriz.

GTM arayüzünüzün sağ üst bölgesinde bulunan Kaydet (Save) düğmesine tıkladıktan sonra GA4 Parametreniz sitenizde aktif olarak kullanılmaya ve Web Sitenizdeki HTTP Durum Kodları için doğrudan GA4 aracınıza yanıt ping atmaya/göndermeye hazır olacaktır.

Http Hata Geçişlerini Sayfa Yükleme Hızıyla Birleştirme

Kötü deneyimi daha da derinleştirmek için GTM aracılığıyla hata izlemeyi (gerçek Kullanıcı sayfası yükleme hızı betiğinden) LCP veya FCP ölçümleriyle birleştirebilirsiniz. Çok yavaş yüklenen hatalı durum kodlu sayfaları olan alan adları, kullanıcı hayal kırıklığını artırır ve arama motoru dizini düşüşlerini daha da kötüleştirir.

Artık tüm HTTP Yanıt Hatalarını ve Hata Kodlarını web sitenizin tüm alan adında rahatça takip edebilirsiniz; yalnızca Google Analytics sekmenizde bulunan Keşfet (Explore) bölümünden uygun Boyut (Dimension) ve Metriği seçmeniz yeterlidir ve böylece hataların arkasındaki gizemi ve Kullanıcınızın sorununu çözeceksiniz!